实验一:决策树算法实验
【实验目的】
- 理解决策树算法原理,掌握决策树算法框架;
- 理解决策树学习算法的特征选择、树的生成和树的剪枝;
- 能根据不同的数据类型,选择不同的决策树算法;
- 针对特定应用场景及数据,能应用决策树算法解决实际问题。
【实验内容】
- 设计算法实现熵、经验条件熵、信息增益等方法。
- 针对给定的房贷数据集(数据集表格见附录1)实现ID3算法。
- 熟悉sklearn库中的决策树算法;
- 针对iris数据集,应用sklearn的决策树算法进行类别预测。
【实验报告要求】
- 对照实验内容,撰写实验过程、算法及测试结果;
- 代码规范化:命名规则、注释;
- 查阅文献,讨论ID3、5算法的应用场景;
- 查询文献,分析决策树剪枝策略。
【附录1】
-
年龄 有工作 有自己的房子 信贷情况 类别 0 青年 否 否 一般 否 1 青年 否 否 好 否 2 青年 是 否 好 是 3 青年 是 是 一般 是 4 青年 否 否 一般 否 5 中年 否 否 一般 否 6 中年 否 否 好 否 7 中年 是 是 好 是 8 中年 否 是 非常好 是 9 中年 否 是 非常好 是 10 老年 否 是 非常好 是 11 老年 否 是 好 是 12 老年 是 否 好 是 13 老年 是 否 非常好 是 14 老年 否 否 一般 否
实验过程及结果
一.设计算法实现熵、经验条件熵、信息增益等方法
1.创建数据集

2.导入包

3.生成训练数据集

4.设计算法实现熵

5.设计算法实现经验条件熵

6.设计算法实现信息增益

二.针对给定的房贷数据集实现ID3算法
1.

2.



三.针对iris数据集,应用sklearn的决策树算法进行类别预测
1.

2.

3.

4.

5.


6.



实验总结
- 讨论ID3,C4.5的算法的应用场景
ID3算法应用场景:
他的基础理论清晰,算法比较简单,学习能力较强,适合处理大规模的学习问题,是数据挖掘和知识发现领域中的一个很好的范例,为后来各学者提出优化算法奠定了理论基础,ID3算法特别在机器学、知识发现和数据挖掘等领域得到了极大地发展。
C4.5算法应用案例:
C4.5算法具有条例清晰,能处理连续型属性,防止过拟合,准确性较高和使用范围广等优点,是一个很有使用价值的决策树算法,可以用来分类也可以用来回归。C4.5算法在机器学习,知识发现,金融分析,遥感影响1分类,生产制造、分析生物学和数据挖掘等领域得到广泛应用。 - 分析决策树剪枝策略
- 决策树的剪枝策略包括预剪枝和后剪枝。先对数据集划分成训练集和验证集,训练集用来决定树生成过程中每个结点划分所选择的属性;验证集在预剪枝中用于决定该结点是否有必要依据该属性进行展开,在后剪枝中用于判断该结点是否需要进行剪枝。
- 预剪枝(pre-pruning):预剪枝就是在构造决策树的过程中,先对每个结点在划分前进行估计,若果当前结点的划分不能带来决策树模型泛华性能的提升,则不对当前结点进行划分并且将当前结点标记为叶结点预剪枝
- 后剪枝(post-pruning):后剪枝就是先把整颗决策树构造完毕,然后自底向上的对非叶结点进行考察,若将该结点对应的子树换为叶结点能够带来泛华性能的提升,则把该子树替换为叶结点。
停止决策树生长最简单的方法有:
1.定义一个高度,当决策树达到该高度时就停止决策树的生长
2.达到某个节点的实例具有相同的特征向量,及时这些实例不属于同一类,也可以停止决策树的生长。这个方法对于处理
数据的数据冲突问题比较有效。
3.定义一个阈值,当达到某个节点的实例个数小于阈值时就可以停止决策树的生长
4.定义一个阈值,通过计算每次扩张对系统性能的增益,并比较增益值与该阈值大小来决定是否停止决策树的生长。
Reduced-Error Pruning(REP,错误率降低剪枝)
Pesimistic-Error Pruning(PEP,悲观错误剪枝)
Cost-Complexity Pruning(CCP,代价复杂度剪枝)
EBP(Error-Based Pruning)(基于错误的剪枝)

浙公网安备 33010602011771号