关于分类的第一部分我们要讲一些关于分类的基本概念,然后介绍最基本的一种分类模型-决策树模型,再基于此讨论一下关于分类模型的性能评估。
===============================================================================
分类的直观理解就是给定样本的各类属性,根据我们的模型或者某种规则将样本划分到若干不同的类别中,划分目标是离散的就叫分类,如果是连续的我们就称之为回归。所以,分类的官方定义就是:通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号中。
分类模型按照目的划分可分为描述性建模和预测性建模。所谓描述性就是建立了一个分类模型之后,我们就可以得到哪些特征对哪些类别有决定性的作用,是一个解释性的工具,而预测性是指建立完模型后我们拿来用在一个未知的样本,确定它的类别。还有要说的一点就是,分类技术适合用于二元或者标称类型的数据集,因为分类不考虑隐含在目标类中的序数关系,仅仅考虑样本各属性上的异同。
就像上面所说的,分类模型其实同时具有描述性和预测性,描述性要求模型可以最大程度上符合训练数据,而预测性则要求模型在未知数据上有较好的预测能力。因此训练误差不是我们唯一的判别标准,较好的泛化能力也是我们的主要诉求。所以在训练分类模型的时候,我们通常将数据划分成训练集和检验集,其中训练集用于建立模型,验证集用于检验模型的泛化能力,当然这其中训练集和检验集的划分还涉及到很多问题,比如说数据的不平衡啊,样本是否符合同一分布等等,这里我们先不讨论这些问题,但是得知道划分训练集和检验集的必要性。
对于二元分类模型的性能通常根据模型正确和错误预测样本计数进行评估,通常这些数字被存放在一个2*2的矩阵中,如下所示,我们称之为混淆矩阵。
|
Predicted |
||
1 |
0 |
||
Actual |
1 |
a |
b |
0 |
c |
d |
其中,a,b,c,d分别是预测为1,0而实际是1,0的样本个数,与混淆矩阵相关的概念有以下这么几个
准确率:正确预测数除以预测总数。(a+d)/(a+b+c+d)
错误率:错误预测数除以预测总数。(b+c)/(a+b+c+d)
精确率:正确预测为正类的样本数除以实际正类的的数目。a/(a+c)
召回率&