我正在使用sklearn包中的LogisticRegression,并对分类有一个快速的问题。我为分类器建立了ROC曲线,结果证明训练数据的最佳阈值约为0.25。我假设创建预测时的默认阈值为0.5。进行10倍交叉验证时,如何更改此默认设置以找出模型的精度?基本上,我希望我的模型为大于0.25(而不是0.5)的任何人预测“1”。我一直在浏览所有文档,但似乎一无所获。
最佳答案
这不是内置功能。您可以通过将LogisticRegression类包装在自己的类中并添加在自定义threshold
方法中使用的predict()
属性来“添加”它。
但是,请注意以下几点:
LogisticRegression.decision_function()
返回到所选分隔超平面的有符号距离。如果您正在查看predict_proba()
,那么您正在查看阈值为0.5的超平面距离的logit()
。但这计算起来更昂贵。 class_weight
,而不是手动设置阈值。这将迫使分类器选择远离严重关注类别的超平面。 关于python - sklearn LogisticRegression并更改分类的默认阈值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31417487/