當前位置: 首頁>>技術教程>>正文


Mac係統安裝XGboost

Mac係統安裝Xgboost

Xgboost是大規模並行boosted tree的工具,它是目前最快最好的開源boosted tree工具包,比常見的工具包快10倍以上。在數據科學方麵,有大量kaggle選手選用它進行數據挖掘比賽,其中包括兩個以上kaggle比賽的奪冠方案。在工業界規模方麵,xgboost的分布式版本有廣泛的可移植性,支持在YARN, MPI, Sungrid Engine等各個平台上麵運行,並且保留了單機並行版本的各種優化,使得它可以很好地解決於工業界規模的問題。

本文是我今天在Mac係統下成功安(cai)裝(keng)Xgboost的筆記(Windows係統用戶請出門左轉),Mac係統10.12版本按照Xgboost官網安裝指南,出現了錯誤。

如果按照傳統Python庫用pip來安裝:sudo pip install xgboost,同樣出現了錯誤,最後親測下麵方法安裝成功。

1.安裝 Homebrew

Homebrew是Mac係統下非常優秀的包管理工具,相當於Ubuntu的apt-get,安裝命令:

/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。這個過程比較久,一直在下載,網速快的話差不多半個多小時吧。

brew install gcc --without-multilib     

3.下載Xgboost的git源碼

git clone --recursive https://github.com/dmlc/xgboost  
cd xgboost

4.修改配置文件,用於編譯

cp make/config.mk ./config.mk

用vim打開config.mk,修改下麵兩行:

export CC = gcc-6
export CXX = g++-6

這樣做是為了用之前下載的gcc-6而不是係統已有的gcc來編譯。
本來按照官網的 make -j4 來編譯,但是未成功,所以改用下麵這種方法來編譯:

./build.sh

5.安裝python版Xgboost

安裝Xgboost的Python版需要Numpy、Scipy等數值計算庫,建議安裝Anaconda,所有的科學計算和數據挖掘庫都安裝好了。

cd python-package
sudo python setup.py install

6.打開Python驗證

>>> import xgboost as xgb

OK,沒有報錯,安裝成功。
下麵你可以用Xgboost算法來玩數據了,官網有好多Example來學習。

import xgboost as xgb
# read in data
dtrain = xgb.DMatrix('demo/data/agaricus.txt.train')
dtest = xgb.DMatrix('demo/data/agaricus.txt.test')
# specify parameters via map
param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic' }
num_round = 2
bst = xgb.train(param, dtrain, num_round)
# make prediction
preds = bst.predict(dtest)

如果你想玩kaggle比賽,Xgboost這把屠龍刀更不可少。

本文由LV授權發布。

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3359.html,未經允許,請勿轉載。