版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用 XGBOOST 进行大数据机器学习 OUTLINE:1.BOOSTING方法的起源,背景与当前发展状况。2.XGBOOST的介绍3.在WINDOWS下安装与配置XGBOOST。4.设计实验,并使用XGBOOST进行实验。5.实验核心代码。6.总结与分析。杜帅剑郭振强于海涛1.BOOSTING方法的起源,背景与当前发展状况。Boosting方法来源于两位科学家对强可学习和弱可学习的研究(弱分类器是指分类结果仅仅比随机猜测略好的方法),之后有人证明两种分类器是等价的,也就是说弱可学习算法可以被提升为强可学习算法。Boosting就是一种提升任意给定学习算法分类准确度的方法,大多提升方法都是改
2、变训练数据的概率分布,针对不同分布来调用弱学习算法学习一系列弱分类器,组合成为 一个强分类器,这种思想被称为ensemble。Adaboost是Boosting方法的第一种实用的实现,在实践中也得到了广泛的使用,它在训练过程中生成成百上千个分类性能较弱的树在,生成每一棵树的时候采用梯度下降的思想,以之前生成的所有树为基础,向着最小化给定目标函数的方向多走一步。在合理的参数 设置下,我们往往要生成一定数量的树才能达到令人满意的准确率。在数据集较大较复杂的时候,我们可能需要几千次迭代运算,耗时比较高。2.XGBOOST的介绍XGBoost 算法可以有效的解决这个问题,相对于 Adaboost,XG
3、Boost 采用了二阶泰勒展开以使算法可以更快的收敛到全局最优。同时,XGBoost 采用 C+进行实现,运算速度 和精度都得到了大大的提升,在实践中,XGBoost 赢得了多次机器学习竞赛的冠军,在 Kaggle 也是最火的工具包之一。3.安装与配置(WINDOWS): (1)首先从github下载源代码:https:/ (2)下载成功后,打开xgboost-master源文件夹下的windows文件夹,打开里面的VS工程。 编译生成Python使用的xgboost_wrapper.dll。(3)打开命令行输入:cd到之前build的目录下;(4)之后执行 “python setup.py
4、install”进行安装。使用时,只需要在Python 环境下输入 “import xgboost as xgb” 即可。4.设计实验,并使用XGBOOST进行实验。 我们使用 XGBoost 对 Kaggle 上的数据竞赛”Santander Customer Satisfaction”进行了预测。 该项目的目的是通过银行客户的历史数据训练一个模型来预测客户对银行的满意度,数据集上包含超过 300 个属性,经过仔细分析,我们认为其中的属性包含了存款,贷款,国籍,年龄等等。所有的属性都是匿名的并且包含了许多空值。我们的处理思路如下:1. 读取数据,观察数据特征,发现可能有常量列和重复列。 2.
5、 消除常量列,29 列数据被删除,这些属性值可能是永远为 0,或者永远为 1。 3. 消除重复列,数据中只有两列重复。 4. 首先使用随机森林进行训练,训练的目标不是得到最终结果,而是期望得到每个属性 特征的重要性,为我们后面进行特征选择做准备。 5. 将重要性1e-5 的列选择出来,最终剩余 193 列数据。 6. 我们在 193 维度下进行预测,构建 xgboost 分类器,设置基本分类器数目为 110,使 用 auc 度量指标为了直观的观察各个特征,我们画出了特征的重要性分布图,可以发现,大部分特征的 重要性是很低的,只有少数特征在决策中起到了重要的作用: 图上大部分属性的重要性集中在很
6、小的一个范围内,我们将这个范围展开画出图形:5.实验核心代码(#后面是注释)。# split data into train and test# 将数据分成训练集合测试集test_id = test.IDtest = test.drop(ID,axis=1)X = train.drop(TARGET,ID,axis=1)y = train.TARGET.valuesX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,random_state=1729)print(X_train.shape, X_tes
7、t.shape, test.shape)# 我们采用默认的阈值 1e-5 进行特征选择,那么将从 306 个特征中选出 193 个。# 下面进行特征选择clf = RandomForestClassifier(random_state=1729)selector = clf.fit(X_train, y_train)print(there are %d feature have a importance value more than 1e-5 % (np.count_nonzero(clf.feature_importances_ 1e-5)# 根据以上的输出结果,如果我们采用默认的阈值 1
8、e-5 进行特征选择,那么将从 306# 个特征中选出 193 个。# 下面进行特征选择fs = SelectFromModel(selector, prefit=True)# 按选择到的特征分别处理训练集和测试集X_train = fs.transform(X_train)X_test = fs.transform(X_test)test = fs.transform(test)print(X_train.shape, X_test.shape, test.shape)6.总结与分析。通过以上的实验,我们在 Kaggle 上得到了一个 0.83 的分数,意味着我们在测试集上的 准确率达到了 83.9%。这个结果距离榜单上最高分数 84.3%尚有一些差距。想要更好的结果需要我们对特征和模型进行更加细致的分析与调优。本次实验主要使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度特许经营合同的许可范围和限制条件3篇
- 2024年LED广告车租赁服务合同3篇
- 2024年谷物生产合作协议书
- 2024年LED灯具批发采购合同2篇
- 2024年建筑屋面挂瓦施工合作合同版B版
- 2024年度:母公司指导分公司进行建筑技术创新合作协议
- 2024年度矿山边坡喷锚加固工程分包合同一
- 2024年重组水蛭素单克隆抗体合作协议书
- 2024年度产品代理合同标的及市场拓展要求3篇
- 2024年度光伏发电项目安装与调试服务协议3篇
- 有理数的乘方说课稿2023-2024学年华东师大版数学七年级上 册
- 国家开放大学电大《11561会计信息系统》(会计专)期末终考题库及标准参考答案
- JT-T-1180.10-2018交通运输企业安全生产标准化建设基本规范第10部分:水路危险货物运输企业
- 幼儿园一校一策安保方案(7篇)
- 贵州省黔南州2023-2024学年度上学期期末质量监测八年级物理试卷
- 统计与数据分析基础-形成性考核三(项目6-项目8阶段性测试权重25%)-国开-参考资料
- 家庭用药指南大全
- 幼儿园交通安全一校一策防控方案范文(6篇)
- 中考语文复习常考名著精练4.《革命烈士诗抄》-有答案
- 重大危险源专项检查表全
- 岗位竞聘课件(完美版)
评论
0/150
提交评论