嗨,我是个新手。我正在试着训练计算机,它给出了一个浮点数组来决定这三个类。我把课程分为0、0.5和1。我还尝试了0、1.0和2.0。我仍然得到以下错误:
File "/Library/Python/2.7/site-packages/sklearn/utils/multiclass.py", line 85, in unique_labels
raise ValueError("Mix type of y not allowed, got types %s" % ys_types)
ValueError: Mix type of y not allowed, got types set(['continuous', 'multiclass'])
我不知道那个错误是什么意思
没有代码很难确定,但我猜y数据的形状并不是预期的。
例如,当我的代码抛出这个错误时,是因为我试图将y数据以(60000,10,2)的形式传递到分类报告中,而它期望它以(60000,10)的形式出现
我在重新运行我不止一次打电话给分类(y U测试)的细胞。。。当我将代码加载到一个合适的脚本中并运行它时,它运行得很好:)
尝试对目标标签使用整数类型。或者,也许更好的方法是使用字符串标签,比如
['a', 'b', 'c']
,但是使用更具描述性的名称。如果您检查此文件的代码
multiclass.py
(code is here)并查找函数type_of_target
,您将看到它在本例中有很好的文档记录。因为有些数据被视为
float
类型(当包含0.5
时),所以它会认为您得到了连续值输出,这对于多类离散分类是行不通的。另一方面,它会把
[0, 1.0, 2.0]
看作是一个整数和两个floats
,这就是为什么同时得到continuous
和multiclass
。将最后一个示例切换到[0, 1, 2]
应该可以工作。文档还使它听起来像切换到[0.0, 1.0. 2.0]
也可以工作,但是要小心,并首先测试它。相关问题 更多 >
编程相关推荐