嗨,我很难理解如何使用sklearn.calibration.CalibratedClassifierCV的输出。
利用该方法对二值分类器进行了标定,取得了很好的效果。然而,我不知道如何解释结果。滑雪板指南说,在校准之后,
predict_proba方法的输出可以直接解释为置信度。例如,一个经过良好校准的(二进制)分类器应该对样本进行分类,在它给出的predict_proba值接近0.8的样本中,大约80%实际上属于正类。
现在,我想通过在.6应用一个截止点来减少假阳性,该模型用于预测标签True。如果没有校准,我只会使用my_model.predict_proba() > .6。然而,似乎在校准后,predict_proba的含义发生了变化,所以我不确定我是否还能做到这一点。
从一个快速的测试,它似乎预测和predict_proba遵循相同的逻辑,我希望在校准之前。产出:
pred = my_model.predict(valid_x)
proba= my_model.predict_proba(valid_x)
pd.DataFrame({"label": pred, "proba": proba[:,1]})如下:

其中,所有高于.5的概率都被归类为True,而.5以下的所有内容都被归类为False。
你能确认,在校准之后,我仍然可以使用predict_proba应用不同的截止点来识别我的标签吗?
2 https://scikit-learn.org/stable/modules/calibration.html#calibration
发布于 2021-12-03 13:03:22
https://stackoverflow.com/questions/70211643
复制相似问题