算法大赛的时候xgboost 总是一个神器,安装的时候费了我一天的时间,找遍了各种方法终于安装成功了。接下来就详细的叙述一下怎么安装xgboost.
首先,需要安装的东西:
1、anaconda3,git,mingw 链接:https://pan.baidu.com/s/11MAH2qcpiAxdtEfQ72a15Q 密码:vxae 这是找的别的博主整理的百度云,所有需要的软件都有。
2、开始安装:
(1)选用Anaconda3的Python3.X版本,然后下载 Git并安装好。
(2)在C:\Users\Administrator路径下创建XGBoost文件夹,在此文件下右击鼠标菜单选择Git Bash
(3)在Git Bash中依次输入以下代码,执行成功,下一步
$ git clone --recursive https://github.com/dmlc/xgboost $ cd xgboost $ git submodule init $ git submodule update
(4)安装mingw
点击下一步
Archietecture选择x86_64,其他保持默认,一直下一步直到finish。
默认安装地址:
C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0
(6)将Git和mingw32-make所在路径分别添加到系统环境变量中:
C:\Program Files\Git\cmd C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin
配置环境变量:系统->系统详细设定->详细设定->环境变量->系统环境变量->path
注意:每个path之间用半角的;分割开,注意查看自己软件的安装路径,按自己的路径来。
(7)关掉git bash 重新打开查看是否配置成功,如下图为成功
(8)为了方便改名为make,照下图输入
(9)在xgboost文件夹中运行,输入cd xgboost,然后依次输入以下命令
$ cd dmlc-core
$ make -j4
$ cd ../rabit
$ make lib/librabit_empty.a -j4
$ cd ..
$ cp make/mingw64.mk config.mk
$ make -j4
直到最后成功,关闭git bash
(10)接下来安装Python模块
我们用Anaconda Prompt终端执行分别如下命令:
1 cd XGBoost\xgboost\python-package 2 python setup.py install
3、现在可以正常使用XGBoost了
(1)在jupyter notebook (在IPython中进行也可以)中依次输入:
import os mingw_path = 'C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' os.environ['PATH'] = mingw_path + ';' + os.environ['PATH']
成功运行的例子:
import xgboost as xgb
import numpy as np
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')
输出:
[0] eval-auc:0.5 train-auc:0.5
[1] eval-auc:0.5 train-auc:0.5
[2] eval-auc:0.5 train-auc:0.5
[3] eval-auc:0.5 train-auc:0.5
[4] eval-auc:0.5 train-auc:0.5
[5] eval-auc:0.5 train-auc:0.5
[6] eval-auc:0.5 train-auc:0.5
[7] eval-auc:0.5 train-auc:0.5
[8] eval-auc:0.5 train-auc:0.5
[9] eval-auc:0.5 train-auc:0.5
参考这个博主的文章写得 https://www.cnblogs.com/HongjianChen/p/8371543.html
最后的还是运行不成功,因为xgboost是64位的,我的anaconda居然是32位的,我也不知道当时怎么安装的是32位。。
大家如果不成功也可以检查一下自己的位数是不是匹配的。