xgboost号称是速度快效果好的boosting模型,应用很广泛,因此也想用起来试试,发现windows下安装好复杂,因此记录下来
linux下安装应该相对简单,要想使用ipython notebook画图各种,就得再windows或mac下了
我这里主要分别记录下windows 10 和Mac Osx 10.11下安装xgboost python package全部过程
Windows安装过程
1、安装python
我这里使用的是xgboost python package,因此需要首先安装python,这件事并不容易...
xgboost依赖于scipy,因此需要首先安装scipy,这是一件很痛苦的事情,因此推荐做法是:
安装anaconda
因为官方的python安装scipy会遇到各种各样的问题,因此推荐做法是安装anaconda,可以方便安装各种包
下载地址:https://www.continuum.io/downloads,点击安装
配置环境变量:
Path中添加如下:
D:\Users\lscm\Anaconda2
D:\Users\lscm\Anaconda2\Scripts
D:\Users\lscm\Anaconda2\Library\bin
安装anaconda完毕!
安装numpy、scipy
conda install numpy
conda install scipy
这里需要什么就安装什么吧,这两个应该是必须的,其余记不清楚了,因为我是事先安装好了这些的
2、安装xgboost
2.1、安装git-win
https://git-for-windows.github.io/
因为要使用git下载xgboost源码,因此需要先安装git
2.2、源码下载
git clone --recursive https://github.com/dmlc/xgboost
git submodule init
git submodule update
代码下载完成,windows可能会比较慢,多试几次就可以了
2.3、安装tdm-gcc
http://tdm-gcc.tdragon.net/download
xgboost编译需要使用make命令,因此需要安装make运行环境
因为直接下载安装mingw64可能会有其他问题,因此这里建议安装tdm-gcc
2.4、开始编译
下载Makefile文件替代本地xgboost目录下Makefile文件,地址如下:
https://www.dropbox.com/s/y8myex4bnuzcp03/Makefile_win?dl=1
cd xgboost
cp make/mingw64.mk config.mk
mingw32-make -j4
此时会生成xgboost.exe文件
2.5、开始安装
cd python-package
python setup.py install
xgboost编译安装完成!
如果报错找不到xgboost.dll,可以从以下地址下载,并放入xgboost/lib目录下
http://www.picnet.com.au/blogs/guido/post/2016/09/22/xgboost-windows-x64-binaries-for-download/
Mac Osx安装过程
系统会默认调用anaconda安装的python
2、安装 homebrew
homebrew类似centos下的yum,ubuntu下的apt-get
要使用它更新gcc,以支持xgboost多线程版本
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3、安装最新版gcc-6
brew install gcc --without-multilib
这一步可能会比较慢,或者失败,多试几次总会成功的^_^
然后启用最新版gcc
cd /usr/bin
rm cc gcc c++ g++
#以上删除旧版本gcc
ln -s /usr/local/bin/gcc-6 /usr/local/bin/cc
ln -s /usr/local/bin/gcc-6 /usr/local/bin/cc
ln -s /usr/local/bin/c++-6 /usr/local/bin/c++
ln -s /usr/local/bin/g++-6 /usr/local/bin/g++
#以上适用新版本gcc,如果在/usr/bin目录下创建软连接,可能会失败,因此创建在了/usr/local/bin
4、下载xgboost源码,并编译
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
修改Makefile文件第50行,否则会报错!
export LDFLAGS= -pthread -lm -mmacosx-version-min=10.11 #这里应该是你Osx系统版本,我的是10.11,如果写错也会编译失败
然后可以放心编译
cp make/config.mk ./config.mk
#这里如果cp make/minimum.mk ./config.mk,是安装单线程版本
make -j4
5、编译完毕!
cd xgboost/python-package
python setup.py install
然后,打开终端python
import xgboost
不报错,说明安装成功!
参考资料:
1、http://xgboost.readthedocs.io/en/latest/build.html#building-on-windows
2、https://dnc1994.com/2016/03/installing-xgboost-on-windows/
3、http://www.picnet.com.au/blogs/guido/post/2016/09/22/xgboost-windows-x64-binaries-for-download/
4、http://www.cnblogs.com/chenhuan001/p/5595380.html
5、https://github.com/dmlc/xgboost/issues/261