mac OS 安裝XGBoost(完美解決方案)

XGBoost是一種基于決策樹(shù)(CART)的分布式的高效的梯度提升算法只怎,它可被應(yīng)用到分類(lèi)啡专、回歸适肠、排序等任務(wù)中霍衫,與一般的GBDT算法相比,XGBoost主要有以下幾個(gè)優(yōu)點(diǎn):

  • 對(duì)葉節(jié)點(diǎn)的權(quán)重進(jìn)行了懲罰侯养,相當(dāng)于添加了正則項(xiàng)敦跌,防止過(guò)擬合
  • XGBoost的目標(biāo)函數(shù)優(yōu)化利用了損失函數(shù)關(guān)于待求函數(shù)的二階導(dǎo)數(shù),而GBDT只利用了一階信息
  • XGBoost支持列采樣逛揩,類(lèi)似于隨機(jī)森林峰髓,構(gòu)建每棵樹(shù)時(shí)對(duì)屬性進(jìn)行采樣,訓(xùn)練速度快息尺,效果好
  • 類(lèi)似于學(xué)習(xí)率携兵,學(xué)習(xí)到一棵樹(shù)后,對(duì)其權(quán)重進(jìn)行縮減搂誉,從而降低該棵樹(shù)的作用徐紧,提升可學(xué)習(xí)空間
  • 構(gòu)建樹(shù)的算法包括精確的算法和近似的算法,近似的算法對(duì)每維特征加權(quán)分位進(jìn)行分桶炭懊,具體的算法利用到了損失函數(shù)關(guān)于待求樹(shù)的二階導(dǎo)數(shù)并级。
  • 添加了對(duì)于稀疏數(shù)據(jù)的支持,當(dāng)數(shù)據(jù)的某個(gè)特征缺失時(shí)侮腹,將該數(shù)據(jù)劃分到默認(rèn)的子節(jié)點(diǎn)嘲碧,本文提出了一個(gè)算法來(lái)求解這個(gè)默認(rèn)方向。
  • 可并行的近似直方圖算法父阻,分裂節(jié)點(diǎn)時(shí)愈涩,數(shù)據(jù)在block中按列存放,而且已經(jīng)經(jīng)過(guò)了預(yù)排序加矛,因此可以并行計(jì)算履婉,即同時(shí)對(duì)各個(gè)屬性遍歷最優(yōu)分裂點(diǎn)

那么如何在mac下安裝xgboost呢

系統(tǒng)版本

macOS Sierra 版本 10.12.3

有兩種方法:

1. pip安裝

  • 第一步:安裝HomeBrew

HomeBrew是mac系統(tǒng)的包管理軟件,類(lèi)似于ubuntu的apt-get或者centos的yum斟览,安裝方法如下毁腿,在終端中輸入:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 第二步:安裝livm
brew install llvm

llvm是Mac下的一個(gè)編譯器,可以用來(lái)編譯C和C++程序.最新的llvm已經(jīng)包含了OpenMP.
注意, Mac下的XCode帶有clang編譯器, 但是是不支持OpenMP的,所以不能用來(lái)編譯XGBoost.

  • 第三步:安裝clang-omp
brew install clang-omp

有人提到clang-omp已經(jīng)從HomeBrew移除了, 如果找不到clang-omp可以嘗試brew install --with-clang llvm

  • 第四步, 用pip安裝XGBoost
pip install xgboost

大功告成!

2. 從Github庫(kù)下載最新版XGBoost安裝

  • 第一步:克隆最新的XGBoost到本地
git clone --recursive https://github.com/dmlc/xgboost
  • 第二步:安裝gcc
brew install gcc5 --without-multilib
  • 第三步:修改XGBoost的config文件
cd xgboost
cp make/config.mk ./config.mk

很多攻略都是直接將以下這兩行

# export CC = gcc
# export CXX = g++

改為:

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

但是我直接這樣做卻一直報(bào)錯(cuò),無(wú)法編譯通過(guò)已烤。搞了半天才發(fā)現(xiàn)系統(tǒng)找不到gcc,原來(lái)是macOS已經(jīng)不自帶gcc環(huán)境了鸠窗,通過(guò)Homebrew安裝系統(tǒng)也識(shí)別不到。
正常情況下是可以通過(guò)port來(lái)查看系統(tǒng)里安裝的gcc的:

安裝gcc_select
/opt/local/bin/port install gcc_select
查看gcc列表
port select --list gcc
還可以選擇gcc的版本
sudo port select --set gcc mp-gcc5

但是很不幸胯究,我執(zhí)行port select --list gcc得到的結(jié)果是

Available versions for gcc:
none (active)

但是明明Homebrew安裝成功了啊塌鸯,于是到Homebrew的安裝目錄下瞧一瞧:cd /usr/local/bin,發(fā)現(xiàn)里面靜靜躺著gcc5,gcc7唐片,系統(tǒng)就是無(wú)法識(shí)別這里的gcc丙猬。。费韭。搜了半天沒(méi)找到解決方案茧球,最后,機(jī)智的我直接把config.mk修改成:

export CC = /usr/local/bin/gcc-5
export CXX = /usr/local/bin/g++-5
export MPICXX = /usr/local/bin/mpicxx

就是帶上具體的路徑星持,然后保存

  • 第四步:開(kāi)始編譯
make clean_all && make -j4
  • 第五步:安裝python包
cd python-package
python setup.py install

至些XGBoost終于安裝成功抢埋!
在python環(huán)境中測(cè)試一下:

import xgboost
xgboost.__version__

輸出'0.6'

參考

Mac OSX 下安裝XGBoost

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市督暂,隨后出現(xiàn)的幾起案子揪垄,更是在濱河造成了極大的恐慌,老刑警劉巖逻翁,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饥努,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡八回,警方通過(guò)查閱死者的電腦和手機(jī)酷愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)缠诅,“玉大人溶浴,你說(shuō)我怎么就攤上這事」芤” “怎么了士败?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)褥伴。 經(jīng)常有香客問(wèn)我谅将,道長(zhǎng),這世上最難降的妖魔是什么噩翠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任戏自,我火速辦了婚禮邦投,結(jié)果婚禮上伤锚,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好屯援,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布猛们。 她就那樣靜靜地躺著,像睡著了一般狞洋。 火紅的嫁衣襯著肌膚如雪弯淘。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天吉懊,我揣著相機(jī)與錄音庐橙,去河邊找鬼。 笑死借嗽,一個(gè)胖子當(dāng)著我的面吹牛态鳖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播恶导,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼浆竭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了惨寿?” 一聲冷哼從身側(cè)響起邦泄,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎裂垦,沒(méi)想到半個(gè)月后顺囊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蕉拢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年包蓝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片企量。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡测萎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出届巩,到底是詐尸還是另有隱情硅瞧,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布恕汇,位于F島的核電站腕唧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瘾英。R本人自食惡果不足惜枣接,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缺谴。 院中可真熱鬧但惶,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至添谊,卻和暖如春财喳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斩狱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工耳高, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人所踊。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓祝高,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親污筷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子工闺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • LLVM 簡(jiǎn)介 LLVM 全稱(chēng)是 Low Level Virtual Machine,它是源自 the Unive...
    juniway閱讀 37,912評(píng)論 0 21
  • 前言 2000年瓣蛀,伊利諾伊大學(xué)厄巴納-香檳分校(University of Illinois at Urbana-...
    星光社的戴銘閱讀 15,908評(píng)論 8 180
  • 5.2 Mac OS安裝說(shuō)明 譯者:Python 文檔協(xié)作翻譯小組陆蟆,原文:Mac OS Installation ...
    布客飛龍閱讀 1,967評(píng)論 0 6
  • 大劉很長(zhǎng)時(shí)間沒(méi)有在博客上寫(xiě)東西了,工作忙是一個(gè)原因惋增,主要也是自己的知識(shí)儲(chǔ)備感覺(jué)已經(jīng)被榨干了叠殷,自己的知識(shí)面受限,對(duì)應(yīng)...
    大劉的英語(yǔ)世界閱讀 8,869評(píng)論 6 4
  • 這是一幅用枯樹(shù)葉拼成的巨作(哈哈哈)诈皿,他們呢都是我在校園中尋到的林束,雖然雜亂無(wú)章,但他們都是有故事的稽亏。 先說(shuō)這排小可...
    三萬(wàn)歲閱讀 372評(píng)論 0 0