跳到主要内容

案例4.3 4.4 视频教程

4.3 4.4.mp4 (28.35MB)题目:
4.3 试编程实现基于信息熵进行划分选择的决策树算法,为表4.3中数据生成一棵决策树。
4.4 试编程实现基于基尼指数进行划分选择的决策树算法,为表4.2中数据生成预剪枝、后剪枝决策树,并与未剪枝决策树进行比较。表4.2 西瓜数据集2.0 划分出的训练集与验证集.png

表4.3 西瓜数据集3.0.png 步骤1:在“项目模板”中找到周志华习题,打开第四章决策树习题案例4.3和4.4,创建模板。
步骤2:在“EXCEL上传”模块上传excel文件,这里用到的是西瓜数据集3.0。
步骤3:在全部组件列表搜索“VS Code Python”模块,拖到操作界面内,在“参数设置”中勾选上“编辑”,在点击运行该节点,在操作中“编辑VS Code”,编写将excel文件的数据转换为CSV格式的文件的代码。注意编写完之后要重新勾掉“编辑”选项,才可以运行程序。
步骤4:在全部组件列表搜索“序数编码”模块,拖到操作界面内,在字段设置的“目标字段”中输入“色泽,根蒂,敲声,纹理,脐部,触感,好瓜”特征字段。该模块主要用来将分类特征编码为整数数组。该模块的输入应为整数或者字符串的数组,表示分类特征采用的值。目的是找到每个特征的唯一值,然后将数据转换为叙述编码。
步骤5:在全部组件列表搜索“数据拆分CSV”模块,在“参数设置”的数据1比重和数据2比重设置为0.8:0.2,数据1集作为训练集,数据2作为测试集。
步骤6:在全部组件列表搜索“决策树分类Decision Tree Classifer”模块,首先在“字段设置”中输入特征字段“编号,色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率”和标识字段“好瓜”。
在“参数设置”的“criterion”中选择“entropy”时,使用的是ID3算法。
在“参数设置”的“criterion”中选择“gini”时,使用的是CART算法。当max depth,max leaf nodes参数大小为默认值时,会导致树完全生长和未修剪。为了减少内存消耗,可通过设置max depth为5,max leaf nodes 为3来控制树的复杂性和大小。
步骤7:在全部组件列表搜索“模型预测”模块,可以查看最终在树上的数据。可以自己采取一些可视化手段来更清晰的查看最终结果。如plot_tree函数绘制树:

树。plot_tree (CLF 。拟合(虹膜。数据, 虹膜。目标))