Windows下安装python版的XGBoost(Anaconda)
感谢博主们的辛勤付出,泡泡糖nana与Leo_Xu06的精彩博文,让我受益匪浅。
XGBoost是近年来很受追捧的机器学习算法,由华盛顿大学的陈天奇提出,在国内外的很多大赛中取得很不错的名次,要具体了解该模型,可以移步官方文档,本文介绍其在Widows系统下基于Git的python版本的安装方法。
需要用到三个软件:
python软件(本文基于Anaconda下载,因为自带很多库,比较方便),这里推荐64位的,具体根据电脑配置安装
Git for Windows
安装文件如图:
MINGW
安装文件如图:
Anaconda的安装比较简单,基本没多少注意事项,假设都已经安装好了Anaconda,且安装的基于python3运行。
第二步安装Git,因为在安装过程中,会有运行指令的影响,选择Vim会有些默认的指令语言可以直接调用,具体可以参照下面的流程图:
这样intall就可以成功安装Git了。
第三步安装MINGW,将下载的MINGW直接运行,全部点击next就可以成功安装。
然后选择x86_64的Architecture,其他的选项默认。
同样Next就可以成功安装MINGW了。
最终我们就成功的集齐三大神兽,下面开始安装XGBoost;
提醒:带$符号的均是Git Bash里运行。
第一步:
将MINGW的环境变量添加到自己的电脑,之前我们安装好MINGW有个bin的文件夹,拷贝文件夹的路径:C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev0\mingw64\bin
接下来是添加环境变量,由于我的电脑是win10系统,所以跟百度的如何添加环境变量或路径添加到系统的Path里面有些许区别,上图:
关闭Git Bash终端,再次打开,刚刚添加的路径变量就生效了。
下面用代码运行一下:
接着输入以下命令:
$ alias make='mingw32-make'
第二步安装XGBoost:
我们先新建一个空的文件夹,用于存放从git下载的xgboost文件:
让我们定位一下我们命名的空文件夹xgboostCode,感受以下git的用法:
$ cd /c/Users/xgboostCode/
#一定要路径是对的,根据你指定xgboostCode的位置,上面的命令报错找不到,下面就可以
$ cd /c/Users/BruceWong/xgboostCode/
然后用下面的命令从GitHub下载XGBoost,一个一个输入就可以:
$ git clone --recursive https://github.com/dmlc/xgboost
$ cd xgboost
$ git submodule init
$ git submodule update
$ cd dmlc-core
$ make -j4
$ cd ../rabit
$ make lib/librabit_empty.a -j4
$ cd ..
$ cp make/mingw64.mk config.mk
$ make -j4
至于上述一些列命令什么意思,自己动手百度,这里不过分纠缠。
执行完成之后就可以在Anaconda中安装XGBoost的python模块了。在电脑的开始菜单中打开Anaconda Prompt,anaconda安装库就是在这个环境下进行安装的。
输入下面命令:
cd xgboostCode\xgboost\python-package
最后执行安装命令:
python setup.py install
安装已经完成,但在调用XGBoost之前,还应该将g++的运行库路径导入到os环境路径变量中,在Anaconda中打开Ipython或者spider等等,或者在python的命令行里,分别输入下面的命令:
import os
mingw_path = 'C:\\Program Files\\mingw-w64\\x86_64-5.3.0-posix-seh-rt_v4-rev0\\mingw64\\bin'
os.environ['PATH'] = mingw_path + ';' + os.environ['PATH']
下面新建一个python文件(注意:不能用xgboost的模块名命名,比如xgboost.py),导入XGBoost,并测试下面的代码:
import numpy as np
import xgboost as xgb
data = np.random.rand(5,10) # 5 entities, each contains 10 features
label = np.random.randint(2, size=5) # binary target
dtrain = xgb.DMatrix( data, label=label)
dtest = dtrain
param = {'bst:max_depth':2, 'bst:eta':1, 'silent':1, 'objective':'binary:logistic' }
param['nthread'] = 4
param['eval_metric'] = 'auc'
evallist = [(dtest,'eval'), (dtrain,'train')]
num_round = 10
bst = xgb.train( param, dtrain, num_round, evallist )
bst.dump_model('dump.raw.txt')
会输出以下结果:
哈哈哈,恭喜你安装成功,XGBoost随便嗨。
本文详细介绍了在Windows系统下使用Anaconda安装XGBoost的过程。涉及安装所需的基础软件,如GitforWindows和MINGW,以及通过Git获取XGBoost源代码并编译的方法。


被折叠的 条评论
为什么被折叠?



