决策树数据挖掘分类算法中最直观最容易理解的算法之一,基本不需要太多的理论知识就可以理解决策树的思想,是解决分类问题较好的方法之一。
ID3算法应用香农熵的理论知识,先来了解一些理论知识。
信息增益:在划分数据之前或之后信息发生的变化称为信息增益。
香农熵(熵):信息增益的度量单位。
划分数据的大原则:将无序的数据变得有序。
算法思想:如何度量数据变的愈发有序,方法之一就是计算每个特征值划分数据集获得的信息熵,获得信息熵越高的特征就是划分数据的最好选择,不断地选出最好的特征值,直至完全分类,即可构建决策树,而这些特征值就是非叶结点,每条记录的类就是叶节点。
熵计算公式:
其中 P(X)表示待分类的概率
代码实现:
1:首先是香农熵的计算公式
2:按照特征划分数据集
3:选择最好的数据集划分方式:
4:计算出现次数最多的类,这一步是为了接下来的创建树过程,递归结束的条件之一
5:创建决策树:
6:利用Matplotlib绘制树形图,这部分就不贴代码了
7:示例:使用决策树预测隐形眼镜类型
8 实验结果: