【参考书籍】机器学习实战(Machine Learning in Action)
本章内容
决策树分类器就像带有终止块(表示分类结果)的流程图。处理数据集的流程,1、测量集合中数据的不一致性,也就是熵;2、寻找最优化方案划分数据集,直到数据集中的所有数据属于同一分类。ID3算法可以用于划分标称型数据集。构建决策树时,通常采用递归方法将数据集转化为决策树。在Python中,采用内嵌的数据结构字典存储树的节点信息。
使用Matplotlib可以将字典决策树转化为图形。使用Python的pickle模块可以序列化对象,用于存储决策树结构。其他决策树算法:C4.5,CART。
构造决策树时,要解决的第一个问题是:当前数据集上哪个特征在划分数据分类时起决定作用,这需要评估每个特征。
一般决策树算法采用二分法划分数据,但文中采用ID3算法划分数据集。每次划分数据集只选取一个特征属性,在多个特征属性中,第一次选择哪个特征作为划分的参考属性?首先,需要采用量化的方法判断如何划分数据,信息论是量化处理信息的分支科学。
信息增益
划分数据集的原则:将无需的数据变得更加有序。
信息增益:在划分数据集之前信息发生的变化称为信息增益。计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征是最好的选择。
熵(香农熵):集合信息的度量方式称为熵。熵定义为信息的期望值。熵越高,则混合的数据也越多。待分类的事务可能划分在多个分类中,则符号 x2i 的信息定义为:
l(xi)=−log2p(xi)其中 p(xi)