安装xgboost方法 win7(64位) anaconda3环境 python3.6

算法大赛的时候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

    安装xgboost方法 win7(64位) anaconda3环境 python3.6

    点击下一步

    安装xgboost方法 win7(64位) anaconda3环境 python3.6

    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

    安装xgboost方法 win7(64位) anaconda3环境 python3.6

安装xgboost方法 win7(64位) anaconda3环境 python3.6

安装xgboost方法 win7(64位) anaconda3环境 python3.6

安装xgboost方法 win7(64位) anaconda3环境 python3.6

注意:每个path之间用半角的;分割开,注意查看自己软件的安装路径,按自己的路径来。   

    (7)关掉git bash 重新打开查看是否配置成功,如下图为成功

    安装xgboost方法 win7(64位) anaconda3环境 python3.6

    (8)为了方便改名为make,照下图输入

        安装xgboost方法 win7(64位) anaconda3环境 python3.6

    (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']

成功运行的例子:

安装xgboost方法 win7(64位) anaconda3环境 python3.6
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')
安装xgboost方法 win7(64位) anaconda3环境 python3.6

输出:

安装xgboost方法 win7(64位) anaconda3环境 python3.6
[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
安装xgboost方法 win7(64位) anaconda3环境 python3.6

参考这个博主的文章写得 https://www.cnblogs.com/HongjianChen/p/8371543.html

最后的还是运行不成功,因为xgboost是64位的,我的anaconda居然是32位的,我也不知道当时怎么安装的是32位。。

大家如果不成功也可以检查一下自己的位数是不是匹配的。