浮点数分类器

时间:2018-07-07 19:43:09

标签: python machine-learning classification

我有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'

除非将它们转换为字符串或整数,否则我将无法使用任何分类器来处理此数据。但是,我需要能够预测这些小数点,因此这不是一种选择。

我是机器学习的初学者,并希望确保在此过程中不会犯任何愚蠢的错误。

  • 首先:将这些浮点数转换为字符串并仅对这些字符串运行分类器是否正确? (例如randomforest ...)此方法的注意事项是什么?
  • 我可以在花车上运行哪些分类器?
  • 我应该使用回归器吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我相信您将分类问题误认为是回归一。如果您要预测的最终标签也是浮点值,那么我想您将回归问题误认为是一类。

此外,您不能简单地将float转换为字符串,因为

  • 将它们转换为字符串会将其转换为分类值,这将是完全错误的,因为基本数据模式只会丢失。

  • 此外,浮点值是数值,应该属于某种序列。将它们更改为字符串会在转换过程中导致丢失此信息。

  • 此外,大多数分类器都会将分类变量转换为某种编码方式(例如单热编码)。将float值转换为字符串,然后转换为另一种编码会引入不必要的噪音(除了算法上的错误之外)

几乎所有分类器都可以处理浮动数据。但是,它们可能不适用于您的情况,因为这是一个回归问题,而不是分类问题。 这是在具有浮动数据的虹膜数据集上K-meansSVCRandom forest的实现,但这是一个分类问题。

尝试使用任何回归器,都会发现您的问题取得了成功