zoukankan      html  css  js  c++  java
  • 在windows64位Anaconda3环境下安装XGBoost

    安装步骤参考的是:

    “Installing XGBoost For Anaconda on Windows”:https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=zh


     一、安装前的准备

    In order to install and use XGBoost with Python you need three software on your windows machine:


    具体实现:

    (1)选用Anaconda3的Python3.X版本,然后下载 Git并安装好。

    (2)在C:UsersAdministrator路径下创建XGBoost文件夹,在此文件下右击鼠标菜单选择Git Bash

    (3)Then download XGBoost by typing the following commands. 

    $ git clone --recursive https://github.com/dmlc/xgboost
    $ cd xgboost
    $ git submodule init
    $ git submodule update

    (4)安装 MinGW-W64 下载地址

    (5)点击Next后选择 x86_64这项,其他选项不要改:

    默认安装地址:

    C:Program Filesmingw-w64x86_64-7.2.0-posix-seh-rt_v5-rev1

    (6)将Git和mingw32-make所在路径分别添加到系统环境变量中:

    E:program FilesGitcmd
    C:Program Filesmingw-w64x86_64-7.2.0-posix-seh-rt_v5-rev1mingw64in

     

    (7)关掉Git Bash终端并重新打开,检查环境变量是否添加成功:

    $ which mingw32-make

    (8)成功的话应该是输出这样的:

    (9)为了简便起见,更改下名称:

    $ alias make='mingw32-make'


    二、接下来开始搭建XGBoost

    (1)在xgboost路径下运行Git Bash

    (2)分别输入以下命令:

    每次命令输入成功后再进行下一个命令。如果不成功,用Git命令里面多重复几次。
    $ cd dmlc-core
    $ make -j4
    $ cd ../rabit
    $ make lib/librabit_empty.a -j4
    $ cd ..
    $ cp make/mingw64.mk config.mk
    $ make -j4

    ...

    ...

    直到最后命令完成后,Build成功,关闭Git Bash。

    (3)接下来安装Python模块

    我们用Anaconda Prompt终端执行分别如下命令:

    1 cd XGBoostxgboostpython-package
    2 python setup.py install
    
    注:我有两台电脑,两台安装都是在Anaconda Prompt终端输入,如果是用win+R系统自己的cmd输入,我发现总是失败
    (更新:后来发现cmd可以了,而且在执行完前面两个命令后,在cmd中输入pip install xgboost就可以正常使用xgboost了,且直接import xgboost as xgb就行,省略了后面涉及的import os,mingw_path3,os.environ这3条命令)。

    以下为具体:

     


    三、 现在可以正常使用XGBoost了

    (1)在jupyter notebook (在IPython中进行也可以)中依次输入:

    1 import os
    2 mingw_path = 'C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin'
    3 os.environ['PATH'] = mingw_path + ';' + os.environ['PATH']    

    成功运行的例子:

     1 import xgboost as xgb
     2 import numpy as np
     3 
     4 data = np.random.rand(5,10) # 5 entities, each contains 10 features
     5 label = np.random.randint(2, size=5) # binary target
     6 dtrain = xgb.DMatrix( data, label=label)
     7 
     8 dtest = dtrain
     9 
    10 param = {'bst:max_depth':2, 'bst:eta':1, 'silent':1, 'objective':'binary:logistic' }
    11 param['nthread'] = 4
    12 param['eval_metric'] = 'auc'
    13 
    14 evallist  = [(dtest,'eval'), (dtrain,'train')]
    15 
    16 num_round = 10
    17 bst = xgb.train( param, dtrain, num_round, evallist )
    18 
    19 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

    (2)用IPython同样可以:

    IPython环境下例子

    你看,都成功了!




  • 相关阅读:
    Java中用Apache POI生成excel和word文档
    openlayers实现画圆
    openlayers实现wfs属性查询和空间查询
    jquery自定义控件拖拽框dragbox
    基于openlayers实现聚类统计展示
    openlayers实现在线编辑
    openlayers之selectfeature
    J
    HDU-1051Wooden Sticks
    HDU-1087Super Jumping! Jumping! Jumping!
  • 原文地址:https://www.cnblogs.com/HongjianChen/p/8371543.html
Copyright © 2011-2022 走看看