【问题标题】:Why does scikit-learn's `precision_score` force the two input to be of the same size?为什么 scikit-learn 的“precision_score”会强制两个输入的大小相同?
【发布时间】:2016-10-03 23:21:33
【问题描述】:

definition,精度为:

tp / (tp + fp)

那么为什么 scikit 的 precision_score y_true 和 y_pred 的大小相同?

【问题讨论】:

  • 我试图将其与 NLTK 版本进行比较。

标签: scikit-learn


【解决方案1】:

precision_score() 采用配对的y_truey_pred 工作,并使用配对来确定提供的测试样本中哪些是真阳性和假阳性。

例子

y_true    y_pred
     0         0   <- True negative
     1         0   <- False negative
     0         1   <- False positive
     1         1   <- True positive

【讨论】:

  • 啊,好吧,但在文档中暗示它使用公式;错了吗?
  • 没有。公式是tp,即为真阳性的对数,fp 是为假阴性的对数。
  • 不,我的意思是,公式会计算真阳性等,即使 y_true 和 y_pred 的长度不同,我们也可以这样做。
  • 如果它们的长度不同,那么您的预测没有对应的真实标签,或者您的标签没有对应的预测。无论哪种情况,您都不能称它们为“真阳性”或“假阳性”。
  • 阅读NLTK版本后,您的问题更有意义。 NLTK 版本设计用于处理项目集,而 scikit-learn 版本处理有序示例。
猜你喜欢
  • 2014-10-01
  • 2013-11-30
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2020-10-23
相关资源
最近更新 更多