XGBoost学习日记1

1.Bagging与Boosting [7]

[1]Bagging算法:每个分类器都随机从原样本中做有放回的采样,然后分别在这些采样后的样本上训练分类器,然后再把这些分类器组合起来。简单的多数投票一般就可以。其代表算法是Random Forest。Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等学习器上效用更为明显。

[2]Boosting算法:通过迭代地训练一系列的分类器,每个分类器采用的样本分布都和上一轮的学习结果有关。其代表算法是AdaBoost,GBDT。Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成。

[3]Bootstrapping算法:利用有限的样本经由多次重复放回抽样,重新建立起足以代表母体样本分布的新样本。[13]

[4]Permutation Test[非参数检验]:Permutation Test是Fisher于20世纪30年代提出的一种基于大量计算利用样本数据的全[或随机]排列,进行统计推断的方法。特别适用于总体分布未知的小样本资料,以及某些难以用常规方法分析资料的假设检验问题。在具体使用上,它通过对样本进行顺序上的置换,重新计算检验统计量,构造经验分布,然后在此基础上求出P-value进行推断。[14]

2. XGBoost

XGBoost:eXtreme Gradient Boosting,它是Gradient Boosting Machine的一个C++实现。XGBoos最大的特点就是通过OpenMP能够自动利用单机CPU的多核进行并行计算,并且支持 Python,R,Java,Scala,C++等多种编程接口。提起XGBoost,不能不提的是DMLC深盟分布式深度机器学习开源平台,目前该平台已有的组件覆盖三类最常用的机器学习算法,包括被广泛用于排序的GBDT,用于点击预测的稀疏线性模型,以及目前的研究热点深度学习。

3. XGBoost的Python版本编译和安装 [11]

编译和安装工作均在Windows上面进行,需要提前安装Python,easy_install,wheel,Numpy,Scipy,Matplotlib,Scikit-Learn。主要介绍XGBoost的 编译和安装,如下所示:

用VS 2013打开xgboost-master\windows\xgboostl.sln,分别编译工程rabit,xgboost,xgboost_wrapper。接下来就是Python包的安装了,进入目录xgboost-master\python-package,然后python setup.py install。安装完毕之后就是测试了,自己使用的Spyder这个IDE,如下所示:

导入xgboost类库没有报错,说明该类库安装成功。最后在目录xgboost-master\demo\guide-python下面有很多基于Python学习XGBoost的代码。

说明:如果使用IDLE这个IDE,需要指明wrapper文件夹路径,如下所示:

import sys
sys.path.append('XXX:\\YYY\\xgboost-master\\wrapper')
import xgboost as xgb

4. XGBoost自带例子

参考文献:

[1] xgboost 0.4a30:xgboost · PyPI

[2] 在Python中使用XGBoost:xgboost · PyPI

[3] xgboost速度快效果好的boosting模型:xgboost: 速度快效果好的boosting模型 | 统计之都

[4] Scalable and Flexible Gradient Boosting:XGBoost Documentation — xgboost 1.6.0-dev documentation

[5] xgboost:GitHub - dmlc/xgboost: Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow

[6] San-Francisco-crimes/XGBoost_model.py:https://github.com/MichaelPluemacher/San-Francisco-crimes

[7] xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度:为什么xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度? - 知乎

[8] 64位Windows 10下安装xgboost python包的教程:http://www.th7.cn/system/win/201603/157092.shtml

[9] xgboost的使用简析:xgboost的使用简析_John159151的专栏-CSDN博客

[10] DMLC深盟分布式深度机器学习开源平台解析:DMLC深盟分布式深度机器学习开源平台解析-CSDN.NET

[11] xgboost在windows上的安装:xgboost在windows上的安装-布布扣-bubuko.com

[12] 统计学习方法——CART,Bagging,Random Forest,Boosting:统计学习方法——CART, Bagging, Random Forest, Boosting_Rachel Zhang的专栏-CSDN博客

[13] Bootstrapping算法:Bootstrapping算法_百度百科

[14] Permutation Test:Permutation Test 置换检验 | Public Library of Bioinformatics

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP工程化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值