请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

自己编写的f1_score和scikit-learn中的f1_score结果异同的疑问

老师,我对咱们自己编写的f1_score和scikit-learn中的f1_score结果异同存在疑问。那个0.97555555555555551的结果是不是逻辑回归得分的结果啊
from sklearn.linear_model import LogisticRegression

log_reg=LogisticRegression()
log_reg.fit(x_train,y_train)
log_reg.score(x_test,y_test)
咱们编的f1_score是需要计算出精准率和召回率再算吧,我计算的结果和scikit-learn中的f1_score结果一样,是我哪里理解的不对吗图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-09-13 12:22:06

log_reg.score(x_test,y_test)得到的结果不是f1_score,而是准确度值:)


你的计算结果是正确的:)


这一章的核心思想就是想说明,对于有偏斜的数据,准确度这样的结果可能会表现的非常好。但实际上准确度不一定能够很好地反应模型的预测能力,此时,如果使用recall,precision,f1 score等指标,就会看出问题了。比如这里的例子,准确度有97.5%之高,但是f1 score只有86.7%:)


有时间可以再回顾一下,把握一下课程的脉络:)加油!

0 回复 有任何疑惑可以回复我~
  • 提问者 zxytxwdy #1
    嗯嗯,好的,谢谢老师,我是跳着看的,到时候我再好好看看
    回复 有任何疑惑可以回复我~ 2018-09-13 13:45:50
  • 老师好,我在 sklearn 里面看到 LogisticRegression 里面的score 方法,返回的是 给定测试数据和标签的平均精度,而不是 R ^ 2 的值。
    
    原文如下:
    
    Returns the mean accuracy on the given test data and labels.
    
    In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.
    
    相关链接如下:
    
    https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.score
    回复 有任何疑惑可以回复我~ 2019-03-13 22:33:28
  • liuyubobobo 回复 lemonlxn #3
    赞!这个回答原本有问题,因为在scikit-learm中封装的逻辑回归算法解决的是分类问题,不是回归问题。而r^2是回归问题的评价指标:)我做修正。大赞!
    回复 有任何疑惑可以回复我~ 2019-03-14 02:57:38
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号