📄️ 案例8.3 8.5 视频教程
8.3 8.5.mp4 (33.18MB)题目:8.3 从网上下载或自己编程实现AdaBoost,以不剪枝决策树为基学习器,在西瓜数据集3.0α上训练一个AdaBoost集成,并与图8.4进行比较。8.5 试编程实现Bagging集成,并与图8.6进行比较。步骤1:在“项目模板”中找到周志华习题,打开第八章集成学习习题案例8.3和8.5,创建模板。步骤2:在“EXCEL上传”模块上传excel,这里用到的是西瓜数据集3.0.步骤3:在全部组件列表搜索“VS Code Python”模块,拖到操作界面内,在“参数设置”中勾选上“编辑”,在点击运行该节点,在操作中“编辑VS Code”,编写将excel文件的数据转换为CSV格式的文件的代码。注意编写完之后要重新勾掉“编辑”选项,才可以运行程序。步骤4:在全部组件列表搜索“序数编码”模块,拖到操作界面内,在字段设置的“目标字段”中输入“色泽,根蒂,敲声,纹理,脐部,触感,好瓜”特征字段。该模块主要用来将分类特征编码为整数数组。该模块的输入应为整数或者字符串的数组,表示分类特征采用的值。目的是找到每个特征的唯一值,然后将数据转换为叙述编码。步骤5:在全部组件列表搜索“AdaBoost”分类组件,拖到操作页面,adaboost分类器是一种元估计器,它首先将分类器拟合到原始数据集上,然后将分类器的其他副本拟合到同一数据集上,但是对错误分类的实例的权重进行了调整。参数Nestimators表示终止增强的估计器的最大数量,设为5,learningrate学习率为1,用来缩小每个分类器的贡献。算法SAMME.R是实际增强算法。字段设置中的“特征设置”输入“色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率”。标识字段为“好瓜”。根据个体学习器的生成方式,目前的集成学习方法大致可分为两类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,如boosting;以及个体学习器间不存在强依赖关、可同时生成的并行化方法,如bagging和“随机森林”random forest。标准AdaBoost只适用于二分类任务不同,bagging能不经修改地用于多分类、回归等任务。步骤5:在全部组件列表搜索“bagging分类”分类组件,拖到操作页面,bagging分类器是一个集合元估计器,它使每个基本分类器适合原始数据集的随机子集,然后通过投票或平均奖其单个预测进行汇总以形成最终预测。参数设置中的nestimators为集合中的基本估计量,设置为50,如在完美配合的情况下,学习程序会尽早停止。其他参数均为默认值。字段设置中的“特征设置”输入“色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率”。标识字段为“好瓜”。步骤6:在全部组件列表搜索“模型预测”组件,把经过将特征字符串编码成整数值的西瓜数据集作为测试集,经过adaboost和bagging集成训练的数据集为训练集,同时作为模型预测的输入。输出分别为adaboost和bagging集成的模型结果。