python logisticregression_python – sklearn LogisticRegression并更改分类的默认阈值

我正在使用sklearn包中的LogisticRegression,并且有一个关于分类的快速问题.我为我的分类器建立了一条ROC曲线,结果证明我的训练数据的最佳阈值大约为0.25.我假设创建预测时的默认阈值是0.5.如何进行10倍交叉验证时,如何更改此默认设置以了解模型的准确度?基本上,我希望我的模型能够为大于0.25但不是0.5的任何人预测“1”.我一直在查看所有文档,我似乎无法到达任何地方.

在此先感谢您的帮助.

解决方法:

这不是内置功能.您可以通过在自己的类中包装LogisticRegression类并添加在自定义predict()方法中使用的阈值属性来“添加”它.

但是,一些警告:

>默认阈值实际为0. LogisticRegression.decision_function()返回与所选分离超平面的有符号距离.如果您正在查看predict_proba(),那么您正在查看超平面距离的logit(),阈值为0.5.但是计算成本更高.

>通过选择这样的“最佳”阈值,您正在利用信息后学习,这会破坏您的测试集(即,您的测试或验证集不再提供对样本外错误的无偏估计).因此,除非您仅在训练集上的交叉验证循环内选择阈值,否则可能会引起额外的过度拟合,然后将其与训练分类器一起使用您的测试集.

>如果您遇到不平衡问题而不是手动设置阈值,请考虑使用class_weight.这应该迫使分类器选择远离严重感兴趣类的超平面.

标签:python,scikit-learn,regression,classification

来源: https://codeday.me/bug/20191006/1860259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值