首页 > 解决方案 > 浮点数分类器

问题描述

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

标签: pythonmachine-learningclassification

解决方案


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

您也不能简单地将浮点数转换为字符串,因为

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

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

  • 此外,大多数分类器将分类变量转换为某种编码(如 one-hot 编码)。将浮点值转换为字符串,然后再转换为另一种编码会引入不必要的噪音(除了算法错误)

几乎所有的分类器都可以处理浮动数据。但是,它们可能不适用于您的情况,因为它是回归问题而不是分类问题。以下是在具有浮动数据的鸢尾花数据集上实现K-meansSVC随机森林,但这是一个分类问题。

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


推荐阅读