今天给大家带来一篇如何评价模型的好坏以及模型的得分
最下面的代码最有用
一、错误率与精度(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),简单来说就是逻辑回归的损失函数。