【发布时间】:2022-01-09 15:56:27
【问题描述】:
大家好,我无法理解如何使用sklearn.calibration.CalibratedClassifierCV 的输出。
我已经用这种方法校准了我的二元分类器,结果大大提高了。但是我不确定如何解释结果。 sklearn guide 指出,校准后,
predict_proba方法的输出可以直接解释为 置信水平。例如,一个经过良好校准的(二元)分类器应该对样本进行分类,使得在其给出的 predict_proba 值接近 0.8 的样本中,大约 80% 实际上属于正类。
现在我想通过为模型应用 0.6 的截止值来预测标签 True 来减少误报。如果没有校准,我会简单地使用my_model.predict_proba() > .6。
但是,校准后,predict_proba的含义似乎发生了变化,所以我不确定我是否可以再这样做了。
通过快速测试,predict 和 predict_proba 似乎遵循我在校准之前所期望的相同逻辑。输出:
pred = my_model.predict(valid_x)
proba= my_model.predict_proba(valid_x)
pd.DataFrame({"label": pred, "proba": proba[:,1]})
所有概率高于 0.5 的东西都被归类为真,而低于 0.5 的所有东西都被归类为假。
您能否确认,在校准后,我仍然可以使用predict_proba 应用不同的截止值来识别我的标签?
2https://scikit-learn.org/stable/modules/calibration.html#calibration
【问题讨论】:
-
请修复您的链接;你有一个链接应该指向 sklearn 文档(你引用的地方),它实际上链接到你的数据图像
标签: python machine-learning scikit-learn probability calibration