Y的scikit混合型

2024-04-29 13:00:26 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我是个新手。我正在试着训练计算机,它给出了一个浮点数组来决定这三个类。我把课程分为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'])

我不知道那个错误是什么意思


Tags: oftype计算机错误not数组课程types
2条回答

没有代码很难确定,但我猜y数据的形状并不是预期的。

例如,当我的代码抛出这个错误时,是因为我试图将y数据以(60000,10,2)的形式传递到分类报告中,而它期望它以(60000,10)的形式出现

我在重新运行我不止一次打电话给分类(y U测试)的细胞。。。当我将代码加载到一个合适的脚本中并运行它时,它运行得很好:)

尝试对目标标签使用整数类型。或者,也许更好的方法是使用字符串标签,比如['a', 'b', 'c'],但是使用更具描述性的名称。

如果您检查此文件的代码multiclass.pycode is here)并查找函数type_of_target,您将看到它在本例中有很好的文档记录。

因为有些数据被视为float类型(当包含0.5时),所以它会认为您得到了连续值输出,这对于多类离散分类是行不通的。

另一方面,它会把[0, 1.0, 2.0]看作是一个整数和两个floats,这就是为什么同时得到continuousmulticlass。将最后一个示例切换到[0, 1, 2]应该可以工作。文档还使它听起来像切换到[0.0, 1.0. 2.0]也可以工作,但是要小心,并首先测试它。

相关问题 更多 >