决策树:
决策树方法在分类、预测、规则提取等领域被广泛应用
决策树是树状结构,它的每一个节点对应着一个分类,非叶节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分城若干个子集。
构造决策树的核心问题是在每一步如何选择适当的属性对样本做拆分。
对一个分类问题,从一直分类标价的训练样本中学习并构造出决策树是一个自上而下,分而治之的过程。
ID3算法:
基于信息熵来选择最佳测试属性。在每个非叶节点选择信息增益最大的属性作为测试属性,使分类后数据集的熵最小,从而得到较小的决策树(树的平均深度较小,从而提高分类效率)。
信息熵越小,信息增益越大,不确定性越小
Note:该算法只能处理离散属性,对于连续性的属性,在分类前需要对其进行离散化
- ID3算法实现步骤:
- 对当前样本集合计算所有属性的信息增益;
- 选择信息增益最大的属性作为测试属性,把测试属性取值相同的样本划为同一个子样本集;
- 若子样本集的类倍数行只包含单个属性,则分支为椰子节点,判断其属性值并标上相应的符号,然后返回调用处; 否则对子样本集递归调用本算法。
实例:
import pandas as