模型评估-如何确认模型达标
评估指标--------混淆矩阵与准确率指标
以下模型评估方法主要适用于分类模型。分类模型是有监督模型,通过指标来进行评测相对容易
识别图片是不是小猪的分类模型
1000张图片用于测试该模型的效果,并且预先进行人工标注(假设人工标注数据100%正确)
每张都会标注是或不是小猪的图片,假设800张标注“是”,200张标注“否”
准确率相关指标(可以直接反映一个模型对于样本数据的学习情况,是一种标准化的检验)
| 样本1000份 | 模型预测:是 | 模型预测:否 |
| 人工标注:是 | 745(TP) | 55(FN) |
| 人工标注:否 | 25(FP) | 175(TN) |
矩阵中包含4种数值:
1、真阳性(True Positive,TP):小猪图被判定为小猪图
样本的真实类别是正例,并且模型预测的结果也是正例(数值为745)
2、真阴性(True Negative,TN):不是小猪图被判定为不是小猪图
样本的真实类别是负例,并且模型预测的结果是负例(数值为175)
3、假阳性(False Positive,FP):不是小猪图被判定为小猪图
样本的真实类别是负例,但模型预测的结果是正例(数值为25)
4、假阴性(True Positive,FN):小猪图被判定为不是小猪图
样本的真实类别是正例,但模型预测的结果也是负例(数值为55)
准确率: 所有预测正确的占全部样本的概率(TP+TN)/(TP+FP+FN+TN)
精确率(精确率是相对于预测结果而言的,它表示的是预测为正的样本中有多少是对的;那么预测为正的样本就有两种可能来源,一种是把正的预测为正的,这类有TruePositive个, 另外一种是把负的错判为正的,这类有FalsePositive个):
预测正确的结果占所有预测“是”的概率TP/(TP+FP)
召回率(召回率是相对于样本而言的,即样本中有多少正样本被预测正确了,这样的有TP个,所有的正样本有两个去向,一个是被判为正的,另一个是错判为负的):
该类别下预测正确的结果占该类别所有数据的概率,TP/(TP+FN)
F值:准确率和召回率的调和平均值 2*(准确率*召回率)/(准确率+召回率)
ROC曲线和AUC值:构建了很多组混淆矩阵
范例:在有些模型的产出中,通常给出“是”或者“否”的概率值(这两个概率值相加为1),根据概率值来判定最终的结果。指定“是”的概率为0.1及以上,就判定结果为“是”。“是”的概率小于0.1,判定结果为“否”。在每一组混淆矩阵中,获取两个值:
真正利率:TP/(TP+FN)
假正利率:FP/(FP+TN)
横坐标为假正利率,纵坐标为真正例率。ROC曲线下的面积就是AUC值。当曲线接近对角线说明模型很不稳定
评估指标------业务抽样评估
在实际中存在一些问题,通常是由数据本身并不完美导致的。对于标注数据,人工标注通常也存在一定的错误率,不是100%正确。
业务抽样评估可以减弱这种情况
泛化能力评估
泛化能力反映的是模型对未知数据的判断能力(机器学习方法训练出来一个模型,对于已知的数据(训练集)性能表现良好,对于未知的数据(测试集)也应该表现良好的机器能力。)
在数据挖掘中,数据的维度通常有很多,数据也都是非标准值,泛化能力好的模型在数据存在波动的情况下,能够做出正确的判断
(1)通过两个指标判断泛化能力是否好:过拟合和欠拟合
过拟合:模型在训练集上表现良好,而在测试集或者验证集上表现不佳
欠拟合:在训练集和测试集上的表现都不好
泛化性能的评估依赖于在不同的数据集上的准确结果之间的比较。
处理过拟合和欠拟合问题,需要对数据进行重新整理,总结出现过拟合和欠拟合的原因,然后调整数据重新进行训练
其他评估指标
模型速度:主要评估模型在处理数据上的开销和时间
鲁棒性:主要考虑在出现错误或者异常数据甚至是数据缺失时,模型是否能够给出正确的结果,甚至是否可以给出结果,会不会导致模型运算的崩溃
可解释性:在很多场景下(比如金融风控),需要给出一个让人信服的理由
评估数据的处理
随机抽样:把数据分成训练集和测试集,使用测试集对模型进行测试,得到各种准确率指标。
随机多次抽样:在随机抽样的基础上,进行n次随机抽样,得到n组测试集,使用n组的平均值最为最终结果。
交叉验证:需要训练多个模型。把原始数据分成k份,每次选取其中的一份作为测试集,其他作为训练集训练一个模型,计算这k个模型结果作为整体获得的准确率
自助法(适用样本较少):随机有放回地抽取样本,构建一个训练集,对比原始样本集和该训练集,把训练集中未出现的内容整理成为测试集。重复这个过程k次、构建出k组数据、训练k个模型,计算这k个模型结果作为整体获得的准确率。