首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn classification_report ValueError:未知标签类型:

sklearn classification_report ValueError:未知标签类型:
EN

Stack Overflow用户
提问于 2017-04-24 21:01:19
回答 1查看 3.6K关注 0票数 1

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

代码语言:javascript
复制
    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]))

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

EN

回答 1

Stack Overflow用户

发布于 2017-04-24 21:13:19

classification_report仅适用于分类问题。

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

代码语言:javascript
复制
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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43588807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档