第一安装xgboost的时候一步小心安装成了单线程版本,运行特慢, 经过折腾终于重新安装为了多线程版本。
安装多线程xgboost步骤:
1. 安装homebrew
Homebrew是Mac系统下非常优秀的包管理工具,相当于Ubuntu的apt-get,安装命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 安装最新版本gcc,这里安装的是gcc7(2017.11)
Mac系统默认有Python、Ruby、Shell等环境,但是没有gcc和g++的,安装XCode之后会有clang,而XCode自带的clang是不支持OpenMP的,所以需要重新安装gcc。这个过程比较久,一直在下载,网速快的话差不多半个多小时吧。
brew install gcc --without-multilib
如果没有安装过git的话顺便安装git:
brew install git
3. 从git-hub下载xgboost源码
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
4. 修改config.mk文件,使xgboost支持多线程
用vim打开xgboost/make/config.mk,并修改对应内容为下面的形式:
vim make/config.mk
export CC = /usr/local/bin/gcc-7
export CXX = /usr/local/bin/g++-7
SE_OPENMP = 1
5. 编译
cd xgboost
cp make/config.mk ./config.mk
make clean_all && make -j4
因为我是再次安装,所以先清除之前的编译文件 make clean_all。
6. 安装python版本的xgboost
安装Xgboost的Python版需要Numpy、Scipy等数值计算库,建议安装Anaconda,所有的科学计算和数据挖掘库都安装好了。
cd python-package
sudo python setup.py install
7. 打开Python验证
>>> import xgboost as xgb
没有报错则表示安装成功。