决策树算法进行分类的基本依据
在本文的内容中主要参考《Spark MLlib 机器学习算法、源码及其实战详解》介绍了一些决策树的基本理论知识,只要内容为决策树的特征选择。在特征选择中主要以信息熵作为特征选择的主要依据进行处理依据。
1 决策树
决策树(Decision Tree)是一个树结构(可以是二叉树或者非二叉树),决策树又节点和有向边组成。
决策树节点类型分类:内部节点,叶子节点。内部节点表示属性,外部节点表示一个类。其每一个内部节点表示一个特征属性上的测试,每一个分支代表这个特征属性在某个值阈上的的输出,而每个叶子节点代表一个类型。
决策树分类的本质:从训练集上归纳出一组分类规则,通常采用启发式学习的方法,即局部最优。具体做法是每一次挑选feature时都挑选当前条件下最优的那个featrue作为划分规则。
决策书学习的三个步骤:
(1)特征选择
(2)决策树生成
(3)决策树的修剪
2 特征选择
特征选择的标准:找出局部最优秀特征,判断这个特征对当前数据集的分类效果。也就是按照这个特征进行分类之后,数据集是否更加有序(不同类的数据尽量被分开)
在当前节点用哪个属性特征作为判断进行切分(也叫分类规则),取决于切分后节点数据集合中类别的有序纯度。
衡量节点的有序纯度:
(1)熵
(2)基尼
(3)方差
(1)熵
1)信息量
信息量是由一个事情发生的概率决定的。经常发生的事情没有什么信息量。在信息论中,香农用概率表示一个事件包含的信息量的大小,大概率事件发生的信息量较小,小概率事件包含有较大的信息量。(我们不妨这样理解,每一种类型的时间包含的信息量的总数是相同的,因为其经常发生所有每一个时间发生所携带的信息量较小。)
信息量的具体定义如下:
根据上述的公式可知:当
例如,有26个英文字母,每个字母在文章中出现的次数是平均数,则每一个字母的信息来量大小为:
而每个汉字有2500个假如每个汉字出现的次数是平均数,那么每一个汉字的信息量为:
2)信息熵
信息熵:信息量的期望,信息熵的公式如下:
值得注意的是:在上述公式中的
条件熵的公式:
表示在已知某一个特定的条件
3)信息增益
分类前,数据中可能出现各种类的情况,比较混乱,不确定性强,熵比较高;分类后,不同类的数据得到较好的划分,在一个划分中大部分数据是同一类的数据,比较有序,不确定性降低,熵比较低。信息增益就是用于评价这种熵的变化。
信息增益:特征
在上述公式中,
4)信息增益比
信息增益只是一个相对的值,因此信息增益的大小在一定程度上依赖于信息熵
信息增益比的定义如下:特征A对训练数据集D的信息增益比
其中
(2)基尼
定义公式如下:
其中,
(3)方差
方差定义的公式:
其中,