在构建 机器学习模型过程中,我们需要对迭代计算出来的函数模型的预测性能进行一定的度量,毕竟天下没有免费的午餐,也不存在解决问题的银弹,那么衡量一个函数最重要的一件事就是找到一个或者几个指标来衡量模型的对分类的表现如何,精确性、准确性如何。所以我们引入了三个常用的模型性能指标:准确率(accuracy)、精确率(precision)、召回率(recall)
准确率(accuracy):
首先我们要考察的是分类器多大程度的分类正确,这就是准确率。准确率的要求是要将数据集中给定的数据预测出来的结果标签要和训练标签相互一一对应,那么将一个给定的数据集进行全部数据的预测,预测值与训练标签相同的样本数量/样本总量数就是我们评判分类的准确率(acc)。
用文字表述的公式就是:
acc = (预测值与训练标签相同的样本数量)/(所有样本数量)
结果用百分比表述。我们可以从公式上看到,准确率的尺度在所有样本数量之上。
精确度(precision):
将样本分类为正样本和负样本,那么预测的结果为真(正确)或假(错误)值,就会组合出四种情况。
本文当中我不使用混淆矩阵表述样本和判定,而是使用线性表格表示,这样不容易造成认知混乱。
实际样本 | 正 | 负 | 负 | 正 |
预测判定 | 正 | 正 | 负 | 负 |
结果正误 | 真 | 假 | 真 | 假 |
状况描述 | 真-正值 | 假-正值 | 真-负值 | 假-负值 |
其中
假正值在统计假设检验中为Type I Error,第一类错误
假负值在统计假设检验中为Type II Error,第二类错误
精确度衡量的是模型函数预测的真-正值数量占所有真值数量的比例
文字表述的公式为:
精确度Precision = (真正值数量) / (真值总数量) = (真正值数量) / (真正值数量 + 真负值数量)
我们可以从公式上看到,精确度的尺度在所有判定为真值总数量之上。
召回率(recall):
召回率
召回率度量的是模型函数同类预测正确的能力。
召回率recall = (预测为正确的正样本数量)/(实际所有正样本数量)
我们可以从公式上看到,召回率的尺度在所有判定为所有实际正样本总数量之上。