Numpy sklearn分类\报告值错误:未知标签类型:

Numpy sklearn分类\报告值错误:未知标签类型:,numpy,scikit-learn,keras,Numpy,Scikit Learn,Keras,我正在尝试一个关于Keras模型预测输出的简单分类报告。输入的格式是两个1D数组,但仍会抛出错误 Y_pred = np.squeeze(model.predict(test_data[0:5])) classification_report(test_labels[0:5], Y_pred) --------------------------------------------------------------------------- ValueError

我正在尝试一个关于Keras模型预测输出的简单分类报告。输入的格式是两个1D数组,但仍会抛出错误

    Y_pred = np.squeeze(model.predict(test_data[0:5]))
    classification_report(test_labels[0:5], Y_pred)


    ---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-235-49afd2f46d17> in <module>()
----> 1 classification_report(test_labels[0:5], Y_pred)

/Library/Python/2.7/site-packages/sklearn/metrics/classification.pyc in classification_report(y_true, y_pred, labels, target_names, sample_weight, digits)
   1356 
   1357     if labels is None:
-> 1358         labels = unique_labels(y_true, y_pred)
   1359     else:
   1360         labels = np.asarray(labels)

/Library/Python/2.7/site-packages/sklearn/utils/multiclass.pyc in unique_labels(*ys)
     97     _unique_labels = _FN_UNIQUE_LABELS.get(label_type, None)
     98     if not _unique_labels:
---> 99         raise ValueError("Unknown label type: %s" % repr(ys))
    100 
    101     ys_labels = set(chain.from_iterable(_unique_labels(y) for y in ys))

ValueError: Unknown label type: (array([-0.38947693,  0.18258421, -0.00295772, -0.06293461, -0.29382696]), array([-0.46586546,  0.1359883 , -0.00223112, -0.08303966, -0.29208803]))
Y_pred=np.挤压(模型预测(测试数据[0:5]))
分类报告(测试标签[0:5],Y\U pred)
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
---->1分类报告(测试标签[0:5],Y\U pred)
/分类报告中的Library/Python/2.7/site-packages/sklearn/metrics/classification.pyc(y_true、y_pred、标签、目标名称、样本重量、数字)
1356
1357如果标签为无:
->1358标签=唯一的标签(y_真,y_pred)
1359其他:
1360标签=np.asarray(标签)
/Library/Python/2.7/site-packages/sklearn/utils/multiclass.pyc的唯一标签(*ys)
97_unique_labels=_FN_unique_labels.get(label_type,None)
98如果不是唯一的标签:
--->99提升值错误(“未知标签类型:%s”%repr(ys))
100
101 ys_标签=集合(链从_可编辑(_唯一_标签(y)表示y在ys中))
ValueError:未知的标签类型:(数组([-0.38947693,0.18258421,-0.00295772,-0.06293461,-0.29382696]),数组([-0.46586546,0.1359883,-0.0022312,-0.08303966,-0.29208803]))

这两个输入都是同一类型的,所以我不明白为什么这不起作用?我已尝试将类型显式更改为dtype=float并展平输入,但仍然不起作用。

分类报告仅适用于分类问题

如果您有分类问题(如二进制),请使用以下方法

Y_pred = np.squeeze(model.predict(test_data[0:5]))
threshold = 0.5
classification_report(test_labels[0:5], Y_pred > threshold)

threshold
将使所有值都大于0.5(在上面的示例中),1.0

您能否同时包含
test\u标签
Y\u pred
的形状?这是一个分类问题还是一个回归问题?错误最后一行中显示的数组显示了您的
Y
。我认为这是连续的。因此,分类类型的方法或估计器不会对其起作用。因为这是回归问题如果您使用MNIST教程,这是一个分类问题。但在错误中看到的y值与此不一致。您应该检查y值,确保它们实际上是您想要的(输出类的标签)。最好把整个代码放在这里,这样就容易调试了。这是一个回归问题,你是对的,我正试图使用classifcaiton_报告进行回归,但这不起作用。谢谢你,我现在收到了错误
“ValueError:Mix type of y not allowed,Get type set(['binary',continuous'])“
我一直在遵循本教程,他们似乎能够完成我最初想做的事情。