python - 浮点数分类器
问题描述
我有具有 1 个特征和 N 个样本的数据集。我试图从“特征”列中预测下面的“目标”列。所有值都是 1 到 4 之间的浮点数:例如 1.2、2.2 等
target feature
0.0 0.0
6.0 8.0
7.2 1.0
2.3 2.0
1.1 5.0
5.0 1.0
0.0 0.0
0.0 1.0
0.0 0.0
我正在使用 scikit-learn。我得到的错误是(使用 DecisionTreeClassifier 或 RandomForest):
ValueError("Unknown label type: %r" % y_type)
ValueError: Unknown label type: 'continuous'
我无法让任何分类器处理这些数据,除非我将它们转换为字符串或整数。但是,我需要能够预测这些小数点,所以这不是一个选择。
我是机器学习的初学者,我想确保我在这个过程中不会犯任何愚蠢的错误。
- 首先:将这些浮点数转换为字符串并简单地在这些字符串上运行分类器是否正确?(例如,随机森林......)这种方法有什么注意事项?
- 我可以在浮点数上运行哪些分类器?
- 我应该改用回归量吗?
谢谢!</p>
解决方案
我相信您将分类问题误认为是回归问题。如果您要预测的最终标签也是浮点值,那么我猜您将回归问题误认为是分类问题。
您也不能简单地将浮点数转换为字符串,因为
将它们转换为字符串会将它们转换为分类值,这将是完全错误的,因为基础数据模式只会丢失。
此外,浮点值是数值,应该属于某种序列。将它们更改为字符串将导致在转换过程中丢失此信息。
此外,大多数分类器将分类变量转换为某种编码(如 one-hot 编码)。将浮点值转换为字符串,然后再转换为另一种编码会引入不必要的噪音(除了算法错误)
几乎所有的分类器都可以处理浮动数据。但是,它们可能不适用于您的情况,因为它是回归问题而不是分类问题。以下是在具有浮动数据的鸢尾花数据集上实现K-means、SVC和随机森林,但这是一个分类问题。
尝试使用任何回归器,您会发现您的问题取得了一些成功
推荐阅读
- css - 如何将弹出窗口放在网格线和文本上方?
- python-3.x - Errno 22 无效参数:'F:\\Python\\Library\\resources\\icudtl.dat'
- listview - viewpager 作为列表视图标题
- c# - 在浏览器中出现以下错误
- r - 给定开始月份和结束月份的每个月扩展表的R函数
- objective-c - Swift 文档未在 Objective C 中显示
- c - 如何访问动态向量的元素?
- python - 最近,Python 的 Fire 云消息传递 SDK 返回错误“未找到请求的实体”。
- python - 错误:需要 Microsoft Visual C++ 9.0
- c++ - 使用优化标志编译时线程不启动