数据挖掘——模型评估与选择巩固

在这篇文章中,将学习对模型进行评估,要用到评估各种分类模型的度量,比如准确率、精度、敏感度等等,还有对数据进行不同方式的抽样以求得不同的准确率。

模型选择部分我打算放到下一篇详细记录。

评估各种分类模型的度量

在之前的文章中,我们学习了生成分类模型的一些算法,这里有三种模型:

  • 基于决策树生成的模型
  • 基于贝叶斯生成的模型
  • 基于规则生成的模型(这个没有记录,是一种使用 if-then 规则分类)

在学习各种评估度量之前,我们需要先了解一些概念与术语。

正元组与负元组

首先我们需要知道两个概念:

  • 正元组:就是感兴趣的主要类的元组。比如之前的例子中,感兴趣的就是buys-computer = yes
  • 负元组:其他元组,不感兴趣的。比如,buys-computer = no

术语

  • 真阳性/真正例(True Positive, TP):指被分类器正确分类的正元组
  • 真阴性/真负例(True Negative, TN):指被分类器正确分类的负元组
  • 假阳性/假正例(False Positive, FP):指被分类器错误标记为正元组的负元组
  • 假阴性/假负例(False Negative, FN):指被分类器错误标记为负元组的正元组

这些术语,在混淆矩阵(一个nxn的矩阵,这里不详细讲了)中得到汇总:

上面是预测的类,左边是实际的类。从表中可以看出,理想的分类器应该被混淆矩阵从CM1,1CMm,m的对角线表示,其他表目为 0 或接近于 0。

现在我们来学习评估这些模型“好坏”的各种评估度量。

评估度量

度量 公式
准确率、识别率 (TP + TN) / (P + N)
错误率、误分类率 (FT + FN) / (P + N)
敏感度、真正例率、召回率 TP / (TP + FN)
特效率、真负例率 TN / (TN + FP)
精度(precision) TP / (TP + FP)
F、F1、F分数精度和召回率的调和均值 (2 x precision x recall) / (precision + recall)
F-beta,其中 beta 是非负数 [(1 + beta^2) x precision x recall] / (beta^2 x precision x recall)

其中「敏感度」、「特效率」、「精度」、「F」以及「F-beta」这几种度量是考虑到类不平衡问题——感兴趣的主类比较稀少。

抽样方式

由于学习算法对训练数据的过分特化作用,使用训练数据导出分类器,然后评估结果模型的准确率可能错误的导致过于乐观的估计。

所以分类器的准确率最好在「检验集」上进行估计,检验集就是训练模型时没有使用那部分数据组成。

保持方法和随机二次抽样

保持(holdout):将数据随机地划分为两个独立的集合:训练集和检验集。通常是 2/3 的数据分配到训练集,其余 1/3 的数据分配到训练集。

随机二次抽样(random subsampling):是保持方法的一种变形,它将保持方法重复 k 次。总准确率估计取每次迭代准确率的平均值。

交叉验证

k-折交叉验证(k-fold cross-validation)中,初始数据被随机地划分为 k 个互不相交的子集或“折” D1, D2, …, Dk,每个折大小大致相等。

训练和检验进行 k 次。再第 i 次迭代,分区用 Di 作为检验集,其余的分区一起用作训练模型。也就是说,在第一次迭代时,D2, D3, …, Dk 一起作为训练集,导出第一个模型后,在 D1 上进行检验;如此下去,每个样本都会用于检验一次,每个样本用于训练的次数相同。

对于分类,准确率估计是 k 次迭代正确分类的元组总数除以初始数据中的元组总数。

一般的,建议使用 10-折交叉检验(即使计算机运行能力允许使用更多的折),因为它具有相对较低的偏倚和方差。

自助法

自助法(boostrap)从给定训练元组中有放回的均匀抽样。也就是说,每当选中一个元组,这个元组同样也可能被再次选组并被添加到训练集中。

最常用的自助方法是「.632 自助法」。

其他方面评估模型

除了基于「准确率」的度量外,从其他方面比较比较分类器:

  • 速度:包括产生和使用分类器的计算开销
  • 鲁棒性:假定数据有噪声或者缺失值的时候分类器做出正确判断的能力。
  • 可伸缩性:给定大量数据,有效的构造分类器的能力
  • 可解释性:分类器提供的理解和洞察水平。目前学过的应该是基于规则的模型解释性最高。

总结

这一节学习的是模型的评估,掌握了一些术语,以及不同的抽样方法导致不同的准确率,比较重要的有「k-折交叉验证」。

下一篇详细讲解「使用统计显著性检验选择模型」,这一节老师跳过了,但是我还是挺感兴趣的。