【问题标题】:Confidence Probability for Binary Machine Learning Classification二元机器学习分类的置信概率
【发布时间】:2016-11-27 22:10:01
【问题描述】:

当使用 SKlearn 并使用 predict_proba(x) 函数获取二进制分类 [1, 0] 的概率时,该函数返回分类属于每个类别的概率。例如 [.8, .34]。

是否有社区采用标准方法将其降低到考虑所有因素的单一分类置信度?

选项 1) 只取预测分类的概率(本例中为 0.8)

选项 2) 一些数学公式或函数调用,它考虑了所有不同的概率并返回一个数字。这种置信度方法可以考虑谁关闭了不同类的概率,如果不同类之间没有太多分离,则返回较低的置信度。

【问题讨论】:

  • 在您的示例中 - 类概率总和不应该为 1 吗?

标签: machine-learning scikit-learn svm


【解决方案1】:

没有做这件事的标准。但是你可以做的是改变阈值。我的意思是,如果你使用predict,它会抛出一个二进制输出来对你的数据集进行分类,它所做的就是将 0.5 作为预测的阈值。就像分类为 1 的概率 > 0.5 时,如果

因此,方法应该是改变阈值并选择一个产生最大 f1 分数或您想用作分数函数的任何其他指标。 ROC(Receiver operating characteristic)curves 仅用于此目的。事实上,sklearn 背后的动机只是为此给出类概率,让选择最佳阈值。

一个很好的例子是预测患者是否患有癌症。所以你必须明智地选择你的阈值,如果你选择高,你可能会得到很多假阴性,或者如果你选择低,你可能会得到很多假阳性。因此,您只需根据需要选择阈值(因为它更好地获得更多误报)。

希望对你有帮助!

【讨论】:

猜你喜欢
  • 2013-04-28
  • 2013-11-21
  • 2021-04-14
  • 2018-05-03
  • 2021-04-15
  • 2019-12-09
  • 2022-06-15
  • 2012-10-24
  • 2020-05-04
相关资源
最近更新 更多