Windows下安装python版的XGBoost(Anaconda)

    
    XGBoost是近年来很受追捧的机器学习算法,由华盛顿大学的陈天奇提出,在国内外的很多大赛中取得很不错的名次,要具体了解该模型,可以移步GitHub,本文介绍其在Widows系统下基于Git的python版本的安装方法。
 
    需要用到三个软件:
    假设都已经安装好了Anaconda,建议安装python2版本的,虽然python3也可以,但python2较为主流。再安装Git,装完之后在开始菜单里打开Git Bash,首先新建一个文件夹xgboostCode用于存放代码和下载文件,然后在刚刚打开的Bash终端中输入下面命令,定位目录。
$ cd /c/Users/xgboostCode/

注意:cd后边有空格。

然后用下面的命令从GitHub下载XGBoost。

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

还需要下载64位的编译器MinGW-W64来编译下载的代码,上面已经提供下载地址。安装的界面如下:

然后选择x86_64的Architecture,其他的选项默认。

按照指示完成安装,我电脑安装的路径为 C:\Program Files\mingw-w64\x86_64-5.3.0-posix-seh-rt_v4-rev0 。然后将C:\Program Files\mingw-w64\x86_64-5.3.0-posix-seh-rt_v4-rev0\mingw64\bin这个文件夹的路径添加到自己电脑的环境变量中去,具体步骤。
  关闭Git Bash终端,再次打开,刚刚添加的路径变量就生效了,输入以下命令检查效果:

$ which mingw32-make

如果得到类似下面的结果,就说明配置成功了。

/c/Program Files/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/bin/mingw32-make

再输入下面的命令:

$ alias make='mingw32-make'

下面就可以安装XGBoost了,首先定位到下载它的路径:

$ cd /c/Users/xgboostCode/xgboost

官方给的安装指导可能不成功,我们需要用下面的命令逐个地编译子模块:

$ 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,输入下面命令:

cd xgboostCode\xgboost\python-package 
然后输入安装命令:
python setup.py install
    安装已经完成,但在调用XGBoost之前,还应该将g++的运行库路径导入到os环境路径变量中,在Anaconda中打开Ipython,或者在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,并测试下面的代码:

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')

输出:

[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

如果可以正常运行,那么恭喜你!安装成功~

转自:http://blog.csdn.net/leo_xu06/article/details/52300869

win64+anaconda+xgboost(转)的更多相关文章

  1. Anaconda安装更新库

    平台:win64+anaconda 1. 如何查看已安装的库 打开 Anaconda Command Prompt ,在命令提示符窗口中输入以下命令: pip list # 或者 conda list ...

  2. python中的数组和列表

    ####转自:模式识别实验室主任   #环境win64+anaconda+python3.6 list & array (1)list不具有array的全部属性(如维度.转置等) 代码1: # ...

  3. Anaconda安装xgboost的过程和踩过的坑

    win10下安装xgb,安装的过程波折起伏,花了5个小时,给后来人做参考喽 第一次尝试 利用以下两个软件 Git for Windows.MINGW进行安装. 安装可以参考:(https://blog ...

  4. anaconda下安装xgboost

    1.下载whl文件 网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 选择合适自己的环境的下载,比如python3.6还是3.5的,64位机 ...

  5. ML学习笔记之Anaconda中命令形式安装XGBoost(pip install)

    0x00 概述 在没有安装XGBoost之前,import xgboot会出错,如下: # ModuleNotFoundError: No module named ‘xgboost’ 0x01 安装 ...

  6. win系统下如何安装xgboost,开发环境是anaconda,以及这中间需要注意的问题

    最近学到了xgboost,但是anaconda并没有这个环境只好自己安装了... 注: (1)并没有测试anaconda在2.x的版本下是如何安装的, 基本上应该是大同小类的,我的anaconda版本 ...

  7. XGBOOST in WIN64 安装

    参考:https://blog.csdn.net/zyghs/article/details/50897716 环境 platform:windows 10,64位 Python: Python3.7 ...

  8. CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/win-64/repodata.json.bz2> Elapsed: -

    将C:\Users\<本机用户名>\.condarc文件修改为 channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/ ...

  9. Conda安装包错误-CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/r/win-64/repodata.json> Elapsed:

    可能是防火墙问题:conda config --set ssl_verify false 安装 openssl . 换源: cmd输入conda config --add channels r 进入C ...

随机推荐

  1. 温习《PHP 核心技术与最佳实践》这本书

    再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1.面向对象思想的核心概念 1.1 面向对象的『形』与『本』 1.2 魔术方法的应用 1.2 ...

  2. couldn't launch the emulator make sure the sdk directory is properly setup

    android sdk 路径中不能有空格.转到一个没有空格的文件夹下即可.

  3. Fix-Dell iDRAC 7 error: RAC0218: The maximum number of user sessions is reached

    Hi Everyone, We came across the following error while performing some preventative maintenance check ...

  4. vcenter修改用户密码的方法

    https://192.168.x.x:9443登录,必须用administrator@vsphere.local登录,不能用root用户登录. 主页-系统设置- Single Sing-On-用户和 ...

  5. jQuery的get()用法

    这个方法主要是将jQuery对象或者jQuery对象集合转换成DOM对象或dom对象集合. get()方法中如果传递参数,表示将具体位置的jQuery对象转换成dom对象.如果没有参数,则表示返回所有 ...

  6. STL容器能力一览表和各个容器操作函数异常保证

    STL容器能力一览表 Vector Deque List Set Multiset map Multimap 典型内部 结构 dynamic array Array of arrays Doubly ...

  7. AWR实战分析之---- PX Deq Credit: send blkd (转载)

    该等待事件我在前面分析过,但是这次和上次产生的原因有些不一样,上次该等待事件的详细分析链接是:http://blog.sina.com.cn/s/blog_61cd89f60102eeen.html  ...

  8. php如何高效的读取大文件

    通常来说在php读取大文件的时候,我们采用的方法一般是一行行来讲取,而不是一次性把文件全部写入内存中,这样会导致php程序卡死,下面就给大家介绍这样一个例子. 需求:有一个800M的日志文件,大约有5 ...

  9. ECCV 2018 | 旷视科技提出统一感知解析网络UPerNet,优化场景理解

    全球计算机视觉三大顶会之一 ECCV 2018(European Conference on Computer Vision)即将于 9 月 8 -14 日在德国慕尼黑拉开帷幕.届时,旷视首席科学家孙 ...

  10. 一种新型远距临场机器人 Fusion / Full Body Surrogacy for Collaborative Communication

    近日,来自日本庆应大学的机器人专家开发出一种新型远距临场机器人 Fusion,允许操作者远程控制别人的身体来帮助他们完成操作任务.Fusion「栖居」在代理者的背上,具备立体视觉和双声道听觉,可以通过 ...