转载自 https://easonlv.github.io/2017/03/24/Mac%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85Xgboost/
Homebrew是Mac系统下非常优秀的包管理工具,相当于Ubuntu的apt-get,安装命令:
1
|
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
2.安装最新版本的gcc,即gcc-6
Mac系统默认有Python、Ruby、Shell等环境,但是没有gcc和g++的,安装XCode之后会有clang,而XCode自带的clang是不支持OpenMP的,所以需要重新安装gcc。这个过程比较久,一直在下载,网速快的话差不多半个多小时吧。
1
|
brew install gcc --without-multilib
|
3.下载Xgboost的git源码
1
2
|
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
|
4.修改配置文件,用于编译
1
|
cp make/config.mk ./config.mk
|
用vim打开config.mk,修改下面两行:
1
2
|
export CC = gcc-6
export CXX = g++-6
|
这样做是为了用之前下载的gcc-6而不是系统已有的gcc来编译。
本来按照官网的 make -j4 来编译,但是未成功,所以改用下面这种方法来编译:
5.安装python版Xgboost
安装Xgboost的Python版需要Numpy、Scipy等数值计算库,建议安装Anaconda,所有的科学计算和数据挖掘库都安装好了。
1
2
|
cd python-package
sudo python setup.py install
|
6.打开Python验证
1
|
>>> import xgboost as xgb
|
OK,没有报错,安装成功。
下面你可以用Xgboost算法来玩数据了,官网有好多Example来学习。
1
2
3
4
5
6
7
8
9
10
|
import xgboost
as xgb
dtrain = xgb.DMatrix(
'demo/data/agaricus.txt.train')
dtest = xgb.DMatrix(
'demo/data/agaricus.txt.test')
param = {
'max_depth':
2,
'eta':
1,
'silent':
1,
'objective':
'binary:logistic' }
num_round =
2
bst = xgb.train(param, dtrain, num_round)
preds = bst.predict(dtest)
|