【问题标题】:Python, ROC curvePython、ROC曲线
【发布时间】:2019-12-26 06:57:15
【问题描述】:

我使用了来自 sklearn.metrics 的 roc_curve。我看到了这个错误:

我有一个二元分类器的结果 (true_labels ={0,1})。我需要绘制 ROC 曲线。于是我写了:

X, Y, thresholds = sklearn.metrics.roc_curve(true_labels, prediction_scores, pos_label=1)

我看到这个错误:

raise ValueError("{0} format is not supported".format(y_type))

ValueError: multilabel-indicator format is not supported

任何帮助将不胜感激!

【问题讨论】:

  • true_labels 应该是与prediction_scores 长度相同的整数列表。 prediction_scores 包含分类的分数(浮点值可能在 01 之间),true_labels 包含基本事实标签(每个条目应该是 01)。
  • @jodag 他们就像你说的那样。 true_labels 和 prediction_scores 都是 numpy.ndarray。这会是问题吗?
  • 应该没问题。我的猜测是他们有一个额外的维度或其他东西。你能检查true_labels.shapeprediction_scores.shape吗?
  • @jodag 是的!这就是问题所在。它现在正在工作。你会发布你的答案,以便我接受并评价它吗?

标签: python scikit-learn roc


【解决方案1】:

根据 cmets 中的讨论,您的问题似乎是阵列上的额外维度。您可以通过将numpy.squeeze 应用于输入数组,然后将它们传递给roc_curve 来删除单一维度。如果您知道这只是额外的单一维度,您可以使用ravel 方法将您的数组视为一维数组。

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 2015-04-27
    • 2012-01-01
    • 2017-09-11
    • 2016-04-06
    • 1970-01-01
    • 2018-01-03
    • 2019-02-27
    • 2014-07-20
    相关资源
    最近更新 更多