大家好,我是小轩
这几天在训练一个模型,模型结果中涉及到一些参数,不太理解什么意思,就差了一些资料
这篇文章就是整理一下关于机器学习评价指标
评价指标:精确率、召回率、F1、AUC、ROC、混淆矩阵
评价指标是衡量一个模型的好坏
Note:这篇文章是关于单标签单分类评价指标介绍
那么什么是单标签分类呢?
让一段话或者一张图片通过模型判断是否高兴,判断的结果从一个维度去分析。
图 1
上面这个图的右边,1是打的标签(假设大于0.5是高兴,小于0.5是不高兴),所以这句话本来就想表达高兴,通过模型分析出来也是高兴。
举个栗子,现在有十个打好标签的数据,A列是打的标签,1表示高兴,0表示不高兴,B列是通过模型分析的结果。
图 2
先来介绍一下混淆矩阵
图 3
TP:打的标签为正,结果被正确预测为正
FP:打的标签为负,结果被错误预测为正
FN:打的标签为正,结果被错误预测为负
TN:打的标签为负,结果被正确预测为负
对于第一次了解指标的人来说可能有点不好理解,可以这样理解
举个例子:TP(T代表true,P代表positive)
TP就是真正(正确预测为正),FP就是假正(错误预测为正),以此类推...
统计图1,TP=3,FP=1,FN=3,TN=3
下面来介绍指标公式
精确率/查准率(precision)
查准率为是所有预测为正样本中,预测正确的比例
说通俗一些就是预测为正当中,为真正的正的比例,哎呀好绕口呀
召回率/查全率(recall)
查全率为是所有真实标签为正的样本中,预测正确的比例
说白了就是在所有正样本中,准确预测出为正的比例
F1
粗略的理解就是precision和recall平均值
F 分数是一个综合指标,为查准率和查全率的加权调和平均。
什么调和平均?
我就上网查了一下,还有加权调和平均数,咱们这里只说调和平均
我们可以用语言描述调和平均数:数据集的倒数的算术平均数的倒数。
听起来当中包含很多倒数,但实际上不过是一些简单的步骤:
1. 对数据集中的所有数字取倒数
2. 找到这些倒数的算术平均数
3. 对上一步所得取倒数
ROC曲线(AUC)
上面精确率和召回率可能存在一些问题
比如:在我们测试集当中,大部分都为正样本,模型不具备辨识能力,无论正样本还是负样本,可能会把结果全部判断为正,这时候预测率和召回率会特别高
当样本不均衡情况下,会使用ROC指标
ROC (Receiver Operation Characteristic)
横轴为假正例率(False Positive Rate), 纵轴为真正例率(True, Positive Rate)
表示所有真实类别为正例的样本中, 被预测为正例的比率, 其中TP FN为固定值
表示所有真实类别为负例的样本中, 被预测为正例的比率, 其中FP TN为固定值
ROC曲线绘制过程
比如下图
会有一个区间范围的阈值,如上图(0.0-1.0)
每个阀值产生一个点,将这些点连接起来
如果有什么问题可进行留言
下次整理一下多标签分类评价指标的计算