实验一:决策树算法实验
姓名:冯莹
学号:201613305
【实验目的】
- 理解决策树算法原理,掌握决策树算法框架;
- 理解决策树学习算法的特征选择、树的生成和树的剪枝;
- 能根据不同的数据类型,选择不同的决策树算法;
- 针对特定应用场景及数据,能应用决策树算法解决实际问题。
【实验内容】
- 设计算法实现熵、经验条件熵、信息增益等方法。
- 针对给定的房贷数据集(数据集表格见附录1)实现ID3算法。
- 熟悉sklearn库中的决策树算法;
- 针对iris数据集,应用sklearn的决策树算法进行类别预测。
- 针对iris数据集,利用自编决策树算法进行类别预测。
【实验报告要求】
- 对照实验内容,撰写实验过程、算法及测试结果;
- 代码规范化:命名规则、注释;
- 查阅文献,讨论ID3、C4.5算法的应用场景;
- 查询文献,分析决策树剪枝策略。
【附录导入】

【实验内容】
1
#导入所需要的包

#数据集和分类属性

# 将数据集转为DataFrame表格

#显示表格

#计算数据集的熵和经验条件熵

#计算数据集的信息增益

#增益结果

2.利用ID3算法生成决策树





#创建决策树



3.针对iris数据集,应用sklearn的决策树算法进行类别预测
# 自定义导入数据集函数
#导入包

#设置决策树分类器




#决策树

【实验总结】
一,ID3,5算法的应用场景
ID3算法应用场景:
它的基础理论清晰,算法比较简单,学习能力较强,适于处理大规模的学习问题,是数据挖掘和知识发现领域中的一个很好的范例,为后来各学者提出优化算法奠定了理论基础。ID3算法特别在机器学习、知识发现和数据挖掘等领域得到了极大发展。
C4.5算法应用场景:
C4.5算法具有条理清晰,能处理连续型属性,防止过拟合,准确率较高和适用范围广等优点,是一个很有实用价值的决策树算法,可以用来分类,也可以用来回归。C4.5算法在机器学习、知识发现、金融分析、遥感影像分类、生产制造、分子生物学和数据挖掘等领域得到广泛应用。
二,决策树剪枝策略
剪枝的目的在于:缓解决策树的"过拟合",降低模型复杂度,提高模型整体的学习效率。(决策树生成学习局部的模型,而决策树剪枝学习整体的模型)
基本策略:
预剪枝:是指在决策树生成过程中,对每一个结点在划分前进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶子结点。
优点:降低了过拟合地风险,并显著减少了决策树地训练时间开销和测试时间开销。
缺点:有些分支地当前划分虽不能提升泛化性能、甚至可能导致泛化性能下降,但是在其基础上进行地后续划分却可能导致性能显著提高;
预剪枝基于'贪心'本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险。
后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶子结点进行考察,若将该结点对应地子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
优点:一般情况下后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。
缺点:自底向上的注意考察,时间开销较高。
三,实验总结
通过这次实验,我理解并掌握了解决策树算法原理和决策树,可以并且能够针对特定应用场景及数据,应用决策树算法解决实际问题。而决策树是一种机器学习的方法,决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。


浙公网安备 33010602011771号