Python大数据分析与挖掘实战课件 7-7 XGBoost算法.pptxVIP

Python大数据分析与挖掘实战课件 7-7 XGBoost算法.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第7章集成学习与实现集成学习的概念Bagging算法随机森林算法Boosting算法

7.7XGBoost算法2对于GBDT算法的具体实现,最为出色的是XGBoost树提升系统,此模型的性能已得到广泛认可,并被大量应用于Kaggle等数据挖掘比赛中,取得了极好的效果。在XGBoost系统实现的过程中,对于GBDT算法进行了多方面的优化。由于诸多方面的优化实现,XGBoost在性能和运行速度上都优于一般的GBDT算法。1.XGBoost算法的基本原理XGBoost(ExtremeGradientBoosting)算法是一种基于GBDT的算法,其基本思想于GBDT类似,每一次计算都要减少前一次的残差值,但XGBoost进行了优化,包括在损失函数中增加正则化项,缩减树权重和列采样,在工程实现方面采用行列块并行学习,减少时间开销。

7.7XGBoost算法3XGBoost软件包是对原始梯度提升算法的高效实现,常用于一些数据挖掘竞赛中。在使用之前要先安装。可以通过pipinstallxgboost在线安装。也可以先下载whl文件,然后在本地安装。XGBClassifier和XGBRegressor两个类分别实现了梯度提升分类和回归。这两个类均位于模块xgboost.sklearn中。XGBoost中API的调用方法与scikit-learn中的调用方法类似。2.XGBoost算法的Sklearn实现下面是在Python环境下使用XGBoost模块进行回归的调用示例,首先用pandas构造一个最简单的数据集df,其中x的值为[1,2,3],y的值为[10,20,30],并构建训练集矩阵T_train_xbg。代码如下

7.7XGBoost算法4importpandasaspdimportxgboostasxgbdf=pd.DataFrame({x:[1,2,3],y:[10,20,30]})X_train=df.drop(y,axis=1)Y_train=df[y]T_train_xgb=xgb.DMatrix(X_train,Y_train)params={objective:reg:linear,booster:gblinear}gbm=xgb.train(dtrain=T_train_xgb,params=params)Y_pred=gbm.predict(xgb.DMatrix(pd.DataFrame({x:[4,5]})))print(Y_pred)

7.7XGBoost算法5XGBClassifier中初始化参数use_label_encoder已被弃用,在线文档建议新的程序设置use_label_encoder=False。此时,要求类别标签值是从0开始到类别总数减一的连续整数值。由于玻璃类别数据集中,类别只有1、2、3、5、6、7六种类别,因此依次将其编码到0至5。程序的执行结果中,类别标签是转换后的标签值。0至2对应原标签的1至3,3至5对应原标签的5至7。读者也可以在程序中将标签转换为原标签的值。

7.7XGBoost算法6(1)读取glass.data中的玻璃分类数据集,拆分训练集和测试集,用XGClassifier从训练集中学习预测模型,输出模型在训练集和测试集的预测准确率、测试集中前两个样本的预测标签和预测概率值,并与真实值进行比较。①.加载数据集,并划分训练集和测试集importpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromxgboostimportXGBClassifier3.XGBoost算法的应用举例

7.7XGBoost算法7②调整参数filename=./glass.dataglass_data=pd.read_csv(filename,index_col=0,header=None)X,y=glass_data.iloc[:,:-1].values,glass_data.iloc[:,-1].values#XGBClassifier中初始化参数use_label_encoder已被弃用#新的程序建议设置use_label_encoder=False,此时,#类别标签必须为整数,值从0开始到类别总数-1,并且是连续的值y=y-1 #原来类别编码从1开始,所以要减去1#原始类别编号没有4,因此y=y-1后没有3,新编号4至6的要再减去1y[y==4]=3y[y==5]=4y[y==6]=5#print(y)3.XGBoost算

您可能关注的文档

文档评论(0)

释然 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档