当前位置:首页>python>Python-7-分类模型评价

Python-7-分类模型评价

  • 2026-10-11 08:25:11
Python-7-分类模型评价
通过机器学习训练的分类模型,可以用混淆矩阵和ROC曲线下的面积(AUC)评价其模型的性能指标如何。ROC是混淆矩阵的可视化展现。

混淆矩阵
分类模型,我们先定我们关心的一类为正例,另一类则为负例。例如,加入我们建立一个模型,用来预测彩票能够中奖。实际情况有两种,中奖(为正例)和没中奖(为负例),模型对对这次购买的彩票也是两种,中奖和不中奖。我们依据两组数据得到一个汇总表的列联表,这个表就是就是称为混淆矩阵。
实际情况
模型
预测
中奖-(P)
没中奖-(N)
中奖-
TP
FP
预测中奖
没中奖-0
FN
TN
预测没中奖
实际中奖
实际没中奖
这四个单词比较绕,理清楚就很简单了。(学这个比较久)
T/F:模型预测正确与否,T为真(正确),F为假(错误)
P/N:实际的情况,N(阴性)为没中奖,P(阳性)为中奖。
TP-真阳性
实际中奖,   预测中奖,
FP- 假阳性
实际没中奖,预测中奖
TN-真阴性
实际没中奖,预测没中奖,
FN-假阴性
实际中奖,   预测没中奖,
这模型的准确率就是 (TP+TN)/(TP+FP+FN+TN),即正确预测中奖和没中将数占所有样本呢的百分比。
以实际情况为根本,模型是作为辅助参考的,买彩票都希望中奖,我们希望知道实际的中奖情况中,有多少能够被模型预测出来,=TP/(TP+FN).正例被正确识别的比例,这个比例越高越好。也成为召回率。这个也为ROC曲线的纵向坐标。
实际负例里(没中奖),被误判为正例(中奖)的比例,越低越好。这样模型不会带给人虚妄的希望。=FP/FP+TN.

ROC曲线
全称为“Receiver Operating Characteristic”,受试者工作特征曲线。
Y轴为真正率=TPR=TP/(TP+FN), “中奖的被正确的识别”
X轴为假正率=FPR=FP/(FP+TN),“没中奖误判为中奖”
AUC, Area Under Curve=ROC曲线与X轴组成的面积。
对于y轴,来说当FN为0时,TPR=1,意味着中奖的被正确识别的比例达到百分百。
ROC的曲线越靠左上角,模型越好,同时AUC的数值也会越大。

其它
1.当正例和负例的样本数量过大时,用准确率判断缺乏意义。比如用准确率预测彩票中奖,99%都是负例。判断不出模型的能力如何。
2.ROC/AUC不受样本不均匀的影响。所以样本不均匀时,看ROC不看准确率。
3.使用如下语句,可以快速出ROC的图,并计算AUC数值。
sklearn.metrics import roc_curve, roc_auc_socre
“加油”

Day 7
#分类模型,#机器学习,#Python
控制好饮食的摄入,就是保护我们的大脑。

最新文章

随机文章