熵
事件发生的概率越小,不确定性越大。这个特性用log函数可以很合适得表示出来,如下图所示,概率0.1的时候y的绝对值很大,0.9的时候绝对值很小。
这就引出熵的数学表达式,注意前面加了-号,这就使得概率越小,熵越大(混乱度&不确定度更高):
还有一个指标叫做基尼系数,跟熵一个意思,数学表达式如下。同样的,p越大,gini值越小:
上面的两个指标越大说明越混乱,分类效果越不好。
决策树构造
比如现在有这样的一个数据,看天气情况决定出不出去玩
但是要根据哪一个属性划分呢?这就需要分别计算熵值和信息增益,过程如下:
信息增溢越大越好,越大说明纯度提升的越高。
接下来介绍几种决策树的构造方法:
评价函数:叶子结点中样本个数*熵值之和
第一种ID3是计算信息增益划分,但是这种方法是有bug的!比如现在有一列叫做id,数据是[1,2,3…13,14]
如果按id划分的话,每个值都会被分到一个类,每个类因为只有1个数,所以是最纯的,所以信息增益最大,算法就会选择id作为分类指标,于是就出错了,因为id和标签毛关系都没有。(结论 信息增益偏向于选择取值较多的特征)
ID3算法的改进:C4.5算法
这时候就需要用到信息增益率(gain ratio)
信息增益率为信息增益/当前熵
决策树过拟合的解决
分的太细(树的层数太高)会产生过拟合的现象,所以需要剪枝。
预剪枝通过提前设置参数
后剪枝通过损失函数(其中C(T)是前面说的评价函数):
随机森林🌲🌲🌲
随机体现在:
- 样本数据选择随机