产品中实现了两种决策树,分别是ID3决策树(信息增益评判)、CART决策树(Gini系数评判)。两者均可根据给出的离散特征数据(维度)训练出一个可以用于预测、判决某项结果的决策树。
1. ID3决策树所使用的信息增益算法更偏向于选择分支较多的特征作为根节点生成决策树,根据信息增益的特点我们举个例子:
比如我们实施一部想看看圣诞节什么因素可以让人看起来美,我们选取了很多个因素,比如性别、年龄、性格等。在统计的数据中每行代表实施一部的一个员工,最后一列填入这个员工今天美不美。最后我们发现只要是性别为女的实施一部员工最后一列都是“美”,于是我们得出一个结论——性别为女对于判决实施一部的员工今天美不美是个举足轻重的指标,只要是女生今天都很美,这样我们就说这个指标(因素之下,维度下面的层级)对于最后决策的牵扯很大。
而此时如果“性别”作为根节点构造决策树有什么依据吗?当然,如果性别这个因素的分支(指标,男女),对最后决策牵扯较大时,经过ID3算法处理后,这个分支的信息熵就越小(也就是信息纯度越高),而信息增益即是父节点的信息熵减去子节点的信息熵之和(父节点(因素,维度)的信息熵(纯度)是相同的,因为他们的计算的标准都是最后一列)。
所以,当一个维度里的指标对于最后决策最为关键时,这个维度的信息纯度最大,其信息增益越大。以此节点作为根节点就更合适,能更快更准的做出决策,如下图:
当duration大于648时,我们不需要再去考虑其他指标,直接能做出决策。这和实施部门的员工今天美不美是一个道理,只要是女生,其他的因素不用再多考虑,她肯定是美的。
2. CART决策树使用Gini系数代替信息熵,最小化信息不纯度而不是最大化信息增益,实则是异曲同工,不多在原理上做解释。
3. 产品中为我们准备了一些接口以调节参数,如下图:
我对这些参数的理解陈列如下:
- 分裂方法:构造不同标准的决策树;
- 分裂节点最小样本数:即父节点最小样本数,取决于其子(叶)节点的样本数;
- 叶节点最小样本数:建议100以上,因为如果少于100个样本支持这个节点的决策,都是不太准确的。但这样对样本的数据量要求稍大,产品内置的数据量不支持;
- 复杂度参数:未知;
- 最大深度:用来控制决策树的规模,建议小于8;
- 交叉验证:未知;
- 因变量:决策列,即上面所说的最后一列(今天美不美)。
- 自变量:如上所述的维度、因素等。
4. 我们在使用产品时,只需关注这些模型是否适合与数据场景,原理只需要了解即可。在简单的处理及参数配置后,我们就能愉快的使用深度分析-决策树了。
|