数据挖掘模型效果评估方法汇总
2017-12-06 17:38
253 查看
1、 基于损失函数的标准
1.1、 混淆矩阵
混淆矩阵用在分类器中,是对每一类样本的统计,包括正确分类和错误分类的个数。对于m类样本,可能的错误种类有m2−m个。对于2分类问题存在4种可能的情况:
实际的类 | |||
预测的类 | c+ | c− | |
c+ | TurePositive | FalseNegative | |
c− | FalsePositive | TureNegative | |
总计 | TurePositive+FalsePositive | FalseNegative+TureNegative |
1.2、 准确率及误差率的度量
为了度量预测的精确度,隐含假设每一个错误分类的样本成本相同,引入误差率和准确率两个指标作为这种成本的度量。误差率:错误分类的样本数(E)与检测样本总数(S)的比值
R=E/S
准确率:正确分类的样本数与检测样本总数(S)的比值
A=1−R=S−ES
我们也可以引入更全面的指标:
用pos表示真实正例的样本数,neg表示真实负例的样本数,t−pos表示正确预测的正例样本数,f−pos表示负例被当成正例的样本数,t−neg表示正确预测的负例样本数,f−neg表示正例被当成负例的样本数。以下括号中的文字有些是自己给取的名字,不要跟其他地方混淆了。
灵敏度(真正率):Sensitivity=t−pospos,即正例中被准确预测的比例(有点查全的感觉,真的有这么多正例,有多少被挑出来了)
即召回率(查全率R):计算方法同灵敏度,相同东西在不同场合下的叫法。
特异性(真负率):Specificity=t−negneg,即负债中被准确预测的比例(有点查全的感觉,真的有这么多负例,有多少被挑出来了)
精度(正例检出率):Precision=t−post−pos+f−pos,即在预测结果的正例里真实正例的比例(有点查准的感觉,预测了这么多,多少预测对了)
即准确率(查准率P):与精度计算方法相同
错误正例(假正率):FalsePositiveRate=1−t−negneg,即正例被当成负例的样本数占预测结果的负例样本数的比例
错误负例(假负率):FalseNegetiveRate=1−t−pospos,即负例被错误当成正例的样本数占预测结果的正例样本数的比例
最终
准确率A=t−pos+t−negpos+neg=t−pospos∗pospos+neg+t−negnegnegpos+neg
F_1值:F1=2∗P∗RP+R,更一般的形式为F1=(1+β2)P∗R(β2∗P)+R
β=1退化为F1;β>1查全率有更大影响;β<1查准率有更大影响。
宏平均(macro-average):一般用在文本分类器,是先对每一个类统计指标值,然后在对所有类求算术平均值。宏平均指标相对微平均指标而言受小类别的影响更大。
微平均(micro-average):一般用在文本分类器,是对数据集中的每一个实例不分类别进行统计建立全局混淆矩阵,然后计算相应指标。
平均准确率(Average Per-class Accuracy):为了应对每个类别下样本的个数不一样的情况,计算每个类别下的准确率,然后再计算它们的平均值。
对数损失函数(Log-loss):在分类输出中,若输出不再是0-1,而是实数值,即属于每个类别的概率,那么可以使用Log-loss对分类结果进行评价。这个输出概率表示该记录所属的其对应的类别的置信度。比如如果样本本属于类别0,但是分类器则输出其属于类别1的概率为0.51,那么这种情况认为分类器出错了。该概率接近了分类器的分类的边界概率0.5。Log-loss是一个软的分类准确率度量方法,使用概率来表示其所属的类别的置信度。
1.3、 评价模型成本的可视化工具
1.3.1、 lift图
lift叫提升指数,也就是运用模型比不运用模型精度的提升倍数。lift=t−post−pos+f−pos/t−pos+f−negt−pos+f−neg+f−pos+t−neg
也可以表示为
lift=累计预测精度平均精度
结论是:提升指数越高,模型的准确率越高。
对准确率进行提升的例子:
假设根据以往的经验,问卷调查的回应率为20%,即发出100份问卷收回的有20份,但是通过对历史数据的分析发现特定人群的回应率会更高(数据分析的过程即为建模),然后对特定人群进行发放整个回应率就得到提升。
用在数据挖掘模型里也是一样,利用模型能对准确率提升越多,单方面来讲模型效果就越好。
具体做法如下:
I、计算出测试样本中正例的百分比,即为平均精度;
II、利用模型对测试样本进行预测,按预测得分降序将样本排序,将排序好的样本分成10份,即按10分位数操作;
III、计算第1份样本中的预测精度,然后利用预测精度/平均精度,得到第1份数据的提升指数;
IV、计算至第2份样本处的累计预测精度,然后利用累计预测精度/平均精度,得到至第2份样本处的提升指数;
VI、依次得到10个节点处的提升指数;
VI、画出基线(各节点处均为1)及不同模型提升指数的曲线图;
VII、进行模型效果对比,图形越高越好;
1.3.2、 ROC曲线
ROC曲线是利用真正率为纵轴,假正率为横轴画出的曲线,用来评估模型预测准确率。很明显,当真正率大越近1,假正率越接近0是模型越好。对于给定的一组样本,我们只能得到一个真正率和一个假正率(对应图上的一个点),那如何画ROC曲线呢?
通过设置不同的阈值,比如逻辑回归中可以设定概率>0.5的点为正例,在此阈值下可以得到ROC曲线上的一个点;更改阈值,如概率>0.6的点为正例,同样可以得到ROC曲线上的一个点;不同的阈值可以得到一组点,即得到了ROC曲线;
真正率大越近1,假正率越接近0是模型越好,在图上的表现就是ROC曲线越靠近(0,1)点,越远离45o对角线;
评价模型有很多指标,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。
1.3.3、 AUC曲线
AUC(area under curve):即ROC曲线下的面积。若一个学习器的ROC曲线被另一个包住,后者的性能能优于前者;若交叉,判断ROC曲线下的面积,即AUC。
1.4、 评估分类器的准确率
上面讲的评价模型的指标或曲线都是在测试集中进行的,也就是我们需要将数据集分为训练集和测试集,训练集用于训练模型参数,测试集用于检验模型在数据中的预测效果。这就是我们评估分类器大的方法。下面介绍将数据划分为训练集和测试集的方法。1.4.1、 再替换方法
所有的数据即用于训练模型也用于检验模型1.4.2、 保持方法和随机子抽样
保持方法(hold out):按一定比例随机地从数据集中抽取一部分样本作训练集,剩下的样本为测试集,通训练集在2/3~4/5之间;随机子抽样(random subsampling):抽取一定比例样本做为训练集,剩下的样本为测试集;然后在第1次的训练集重复该操作;重复n次,评论指标的平均值作为最终的评价值;这是一种无放回抽样;
1.4.2、 交叉验证法
K折交叉验证(K-fold cross-validation):将样本分成K份,每份数量大致相等,然后用其他的某一份作为测试,其他样本作为训练集,得到一个模型和一组预测值及模型评估值;循环这个过程K次,得到K组模型评估值,对其取平均值即得到最终的评估结果;留一(leave-one-out):是K-fold cross-validation的特征形式,每次只取一个样本作为测试样本,其余样本作为训练样本,重复该过程K次(假如样本总数为K)。
1.4.2、 自助法
自助法(bootstrap method):在数据集中采用有放回的方式抽样,产生训练集和测试集;重复该过程n次。2、 基于统计检验的标准
2.1、 统计模型之间的距离
距离是典型的相似性指标。欧氏距离
熵距离
卡方距离
0-1距离
我并不认为用距离评估模型的效果是一种好的做法,只有不同类样本在样本内扎堆,类间分离的时候这种检测才是一致的。
2.2、 统计模型的离差
离差即误差的统称:如标准差,方差都为这一类欧氏离差即为平均误差和。
3、 基于记分函数的标准
4、 贝叶斯标准
5、计算标准
5.1、 交叉检验标准
利用交叉检验的处理方法,再配合其他指标如离差进行检验。5.2、 自展标准
5.3、 遗传算法
6、其他评价指标
计算速度:分类器训练和预测需要的时间;鲁棒性:处理缺失值和异常值的能力;
可扩展性:处理大数据集的能力;
可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。
7、回归模型评估指标
RMSE(root mean square error,平方根误差):其又被称为RMSD(root mean square deviation),RMSE对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。其定义如下:Quantiles of Errors: 为了改进RMSE的缺点,提高评价指标的鲁棒性,使用误差的分位数来代替,如中位数来代替平均数。假设100个数,最大的数再怎么改变,中位数也不会变,因此其对异常点具有鲁棒性。
相关文章推荐
- Thinking in BigData(12)大数据之有指导数据挖掘方法模型序(3)
- Thinking in BigData(11)大数据之有指导数据挖掘方法模型序(2)
- 数据挖掘导论(4)——分类:基本概念、决策树与模型评估
- 数据挖掘笔记(5)——数据处理、模型评估、可视化、十大经典算法
- HAWQ + MADlib 玩转数据挖掘之(十二)——模型评估之交叉验证
- 数据挖掘方法与模型——笔记1
- 数据挖掘方法汇总
- 数据挖掘模型介绍之四:最近邻方法和基于记忆的推理
- 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 常用模型汇总
- PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备、模型构建、模型评估、模型管理、海量数据处理和高纬数据可视化分析能力。
- 数据挖掘方法(2) 回归模型(简单线性回归)
- PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备、模型构建、模型评估、模型管理、海量数据处理和高纬数据可视化分析能力。
- 数据挖掘---分类:基本概念、决策树、与模型评估
- 大数据之有指导数据挖掘方法的模型
- 数据挖掘方法汇总
- 流挖掘算法介绍00:序——背景,流数据模型,近似算法评估,2-Universal 哈希
- weka基础上 数据挖掘模型研究评估 过程
- 机器学习与数据挖掘、计算机视觉方法资料汇总(永久更新)
- 推荐系统中的数据挖掘方法---《推荐系统技术、评估及高效算法》---读书笔记(2)
- 数据挖掘(三)分类模型的描述与性能评估,以决策树为例