决策树ID3算法Python按步骤实现

    本文中的决策树为手动计算熵、选择最大信息增益分支的实现过程,仅供参考以清晰了解决策树的思想,具体计算过程复杂,不推荐使用。可直接使用sklearn的DecisionTreeClassifier实现,具体请参考文章决策树的上机实现。

案例1:

先导入数据

1)导入数据

决策树ID3算法Python按步骤实现

2)把文本数据转化成数字型

决策树ID3算法Python按步骤实现

决策树ID3算法Python按步骤实现

3)转为list

决策树ID3算法Python按步骤实现

数据链接:http://pan.baidu.com/s/1c2db8gK 密码:mu7k

程序链接:http://pan.baidu.com/s/1c22Kj3i 密码:6jxk


也可以使用以下数据测试:

决策树ID3算法Python按步骤实现

决策树按模块的算法

1)定义熵

决策树ID3算法Python按步骤实现

2)定义数据切分函数

决策树ID3算法Python按步骤实现

3)寻找最好分裂变量

决策树ID3算法Python按步骤实现

4)定义多数投票法

决策树ID3算法Python按步骤实现

5)创建树

决策树ID3算法Python按步骤实现

6)创建展示树的程序

6-1获取树的节点数

决策树ID3算法Python按步骤实现

6-1获取树的深度

决策树ID3算法Python按步骤实现

6-3展示数据

a定义文本框

决策树ID3算法Python按步骤实现

决策树ID3算法Python按步骤实现

决策树ID3算法Python按步骤实现

7创建树

决策树ID3算法Python按步骤实现

8展示树

决策树ID3算法Python按步骤实现


案例2:在jupyter实现的另一种思路

1、定义计算熵公式

决策树ID3算法Python按步骤实现

2、定义计算信息增益公式

决策树ID3算法Python按步骤实现

3、找到最大的信息增益变量

决策树ID3算法Python按步骤实现

4、用id3算法计算

决策树ID3算法Python按步骤实现