文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

机器学习之模型评分

2023-01-31 00:27

关注

今天给大家带来一篇如何评价模型的好坏以及模型的得分

最下面的代码最有用

 

一、错误率与精度(accuracy 准确

       错误率和精度是分类任务中最常用的两种性能度量,既适用于二分类任务,也适用于多分类任务。错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。

 

from sklearn import metrics
print('模型精度:',metrics.accuracy_score(y_test,y_predict))

 

二、查准率(precision)、查全率(recall)与F1-score

查准率(P值)是针对我们的预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本 

查全率(R值)是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了 

查准率 P与查全率 R 分别定义为

 

       查准率和查全率是一对矛盾的度量.一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

       F1-score,是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。 

       随着阈值的变化,就像假设检验的两类错误一样,如下图所示召回率和精确率不能同时提高,因此我们就需要一个指标来调和这两个指标,于是人们就常用F1-score来进行表示:

 

print('查准率:',metrics.precision(y_test,y_predict))

print('查全率:',metrics.recall_score(y_test,y_predict))

print('F1-score:',metrics.precision_score(y_test,y_predict))

 

 

三、ROC曲线、AUC

              ROC(Receiver Operating Characteristic) 受试者工作特征曲线的纵轴是"真正例率" (True Positive Rate,简称TPR) ,也称灵敏度,横轴是"假正例率" (False Positive Rate,简称FPR) ,也称1-特异度,两者分别定义为 

print('AUC:',metrics.roc_auc_score(y_test,y_pred))

 

 

四、log-loss

          很多机器学习的算法通常会用logloss作为模型评价的指标,对数损失(Log loss)亦被称为逻辑回归损失(Logistic regression loss)或交叉熵损失(Cross-entropy loss),简单来说就是逻辑回归的损失函数。

y_pred=LR.(predict_proba(X))[:,1]预测类别为1的概率
print('log-loss:',metrics.log_loss(y_test,y_pred))    
 
 
 
 
 
 
 
#准确率(accuracy),精确(precision_weighted),召回(recall_weighted),F1(f1_weighted)
 
#导入评分的包
from sklearn.model_selection import cross_val_score
# cv=6 是把数据分成6分,交叉验证,  mea平均数,确保数据的准确率
print('准确{}'.format(cross_val_score(gaussian,test_X,test_Y,scoring='accuracy',cv=6).mean()))
print('精确{}'.format(cross_val_score(gaussian,test_X,test_Y,scoring='precision_weighted',cv=6).mean()))
print('召回{}'.format(cross_val_score(gaussian,test_X,test_Y,scoring='recall_weighted',cv=6).mean()))
print('F1值{}'.format(cross_val_score(gaussian,test_X,test_Y,scoring='f1_weighted',cv=6).mean()))
 
#查看分类报告
from sklearn.metrics import classification_report
# 查看更详细的,    target_names=iris.target_names()
print(classification_report(y_pred=y_pre,y_true = train_Y,target_names=iris.target_names))
#support :原个数类别个数
 
 
 
from sklearn import metrics
print('平均绝对误差:{}'.format(metrics.mean_squared_error(y_predict,trainY)))
print('均方误差MSE:{}'.format(metrics.mean_absolute_error(y_predict,trainY)))
print('解释方差分:{}'.format(metrics.explained_variance_score(y_predict,trainY)))
print('R2得分:{}'.format(metrics.r2_score(y_predict,trainY)))
 
 
 
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯