数据挖掘建模–4性能度量与评估
模型性能度量与评估是建模过程中必做的自我检测模型预测准确率的方式,不同模型算法的问题需要使用不同的评估方法。
4.1模型评估验证方法
1、Holdout检验:随机分训练集和验证集和评估指标,缺点:验证集与评估指标与原始分组关联大
2、K-Fold交叉验证:将全体样本划分为K个样本子集,依次遍历子集(当前子集为验证集,其他子集为训练集),得出K个验证结果,取平均值
3、留一验证:样本总数为N,每次取1个样本为验证集,其他N-1为测试集,进行N次验证。缺点:样本量大开销大
4、自助法(有放回)验证:样本总数小时,为了维持训练样本规模验证,自助有放回随机采样,没有被抽出样本为验证集,有36.8%样本未被抽出
4.2超参数调优
需要确认1目标函数(最大最小化目标)2搜索范围上下限3其他如搜索步长
1、网格搜索: GridSearch范围大步长小,可以找到全局最优,缺点:耗资源时间长,一般先搜大范围在逐步缩小
2、随机搜索:RandomSearch在搜索范围内随机选择样本点,样本越多概率越大,优点:速度快,但是结果无保证
3、贝叶斯优化:学习目标函数形状,找到使目标函数向全局最优值提升参数
4、Hyperout:from hyperout import fmin,tpe,hp 目标函数fmin越小越好,适合:样本量大参数多情况下找函数最小值
4.3模型评估指标
1、分类指标-准确率 Accuracy、精确率 precision、召回率 Recall、F1_score 、AUC和ROC
准确率 Accuracy
精确率 precision=TP/(TP+FP) 分类正确样本数/模型认为正确样本数
召回率 Recall=TP/(TP+FN) 分类正确样本数/真正正确样本数
F1_score =2PR/(P+R)
ROC曲线:横坐标FPR,纵坐标TPR
AUC面积:计算roc曲线的面积
举个栗子:
某班男生80人,女生20人,共100人,目标找到所有的女生
挑出50人,其中女生15人(分类正确),男生35个(分类错误)
准确率accuracy=(15+(80-35))/100=60%
精确率precision**=15/50=30%
召回率recall=15/20=75%
F1_score=2精确率召回率/(精确率+召回率)=2*30%*75%/(30%+75%)=42.