- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第7章集成学习与实现集成学习的概念Bagging算法随机森林算法Boosting算法
7.2Bagging算法2Bagging算法是并行式集成学习方法中最著名的代表,其基本原理是,给定一个训练样本数据集,基于这个数据集采用“自助采样法(bootstrapsampling)”生成T个子数据集,然后使用每个子数据集训练一个个体学习器,再将这些个体学习器进行结合得到Bagging模型,如图2所示。Bagging算法在进行结合时,通常对分类任务使用简单投票法,对回归任务使用简单平均法。图2Bagging分类算法原理1.Bagging算法的基本原理
7.2Bagging算法3(1)给定一个包含m个样本的数据集,先随机取出一个样本放入采样集中,再将该样本放回初始数据集中,使得下次采样时该样本仍有可能被选中。(2)随机抽取第2个样本放入采样集中,然后再将该样本放回初始数据集中。(3)经过m次随机采样操作,就可以得到一个包含m个样本的子数据集。(4)重复以上步骤,即可得到第2个子数据集、第3个子数据集,直到第T个子数据集。自助采样法的采样过程如下。高手点拨
7.2Bagging算法4Sklearn的ensemble模块提供了BaggingClassifier类和BaggingRegressor类,分别用于实现Bagging分类和回归算法。在Sklearn中,可通过下面语句导入Bagging算法模块。fromsklearn.ensembleimportBaggingClassifier #导入Bagging分类模块fromsklearn.ensembleimportBaggingRegressor #导入Bagging回归模块2.Bagging算法的Sklearn实现
7.2Bagging算法5BaggingClassifier类和BaggingRegressor类都有如下几个参数。(1)参数base_estimator用于指定个体学习器的基础算法。(2)参数n_estimators用于设置要集成的个体学习器的数量。(3)在Sklearn中,Bagging算法允许用户设置训练个体学习器的样本数量和特征数量,分别使用参数max_samples和参数max_features进行设置。(4)参数random_state用于设置随机数生成器的种子,能够随机抽取样本和特征。2.Bagging算法的Sklearn实现
7.2Bagging算法6【例7-1】使用Bagging算法(用k近邻算法训练个体学习器)与k近邻算法对Sklearn自带的鸢尾花数据集进行分类,并比较两个模型的预测准确率。使用Bagging算法与k近邻算法对鸢尾花数据集进行分类并比较两个模型的预测准确率的步骤如下。(1)导入Sklearn自带的鸢尾花数据集,然后将数据集拆分为训练集与测试集,并寻找k近邻模型的最优k值。【程序分析】2.Bagging算法的Sklearn实现
7程序运行结果如图3所示。可见,当k的值为6、7、10、11或12时,模型的预测误差率最低。【运行结果】7.2Bagging算法图3k值与预测误差率的关系2.Bagging算法的Sklearn实现【参考代码】fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportBaggingClassifierfromsklearn.neighborsimportKNeighborsClassifierfromsklearn.metricsimportaccuracy_scorefromsklearn.model_selectionimportcross_val_scoreimportmatplotlib.pyplotasplt#拆分数据集x,y=load_iris().data,load_iris().targetx_train,x_test,y_train,y_test=train_test_split(x,y,random_state=0,test_size=0.5)#k取不同值的情况下,计算模型的预测误差率k_range=range(1,15) #设置k值的取值范围k_error=[] #k_error用于保存预测误差率数据forkink_range:model=KNeighborsClassifier(n_neighbors=k)
您可能关注的文档
- Python大数据分析与挖掘实战课件 5-1.重复数据处理.pptx
- Python大数据分析与挖掘实战课件 5-2.数据合并与关联.pptx
- Python大数据分析与挖掘实战课件 5-3.时间格式处理与日期元素提取.pptx
- Python大数据分析与挖掘实战课件 5-4.映射与离散化.pptx
- Python大数据分析与挖掘实战课件 5-5.滚动计算与分组计算.pptx
- Python大数据分析与挖掘实战课件 5-6.样本均衡处理.pptx
- Python大数据分析与挖掘实战课件 5-7.缺失值处理.pptx
- Python大数据分析与挖掘实战课件 5-8.数据规范化.pptx
- Python大数据分析与挖掘实战课件 5-9.1.特征组合.pptx
- Python大数据分析与挖掘实战课件 5-9.2.特征选择.pptx
文档评论(0)