如何在Mac上安裝xgboost

大劉很長(zhǎng)時(shí)間沒(méi)有在博客上寫東西了躁锡,工作忙是一個(gè)原因,主要也是自己的知識(shí)儲(chǔ)備感覺(jué)已經(jīng)被榨干了筒溃,自己的知識(shí)面受限马篮,對(duì)應(yīng)的技術(shù)水平也到了瓶頸期,肚子里面再也掏不出干貨了怜奖。于是浑测,趁著上班時(shí)間和休息時(shí)候,學(xué)習(xí)了很多之前沒(méi)有來(lái)的學(xué)習(xí)的東西歪玲。NodeJS,ES6/7基礎(chǔ)迁央,Vue,Python读慎,數(shù)據(jù)挖掘基礎(chǔ)漱贱,看的越多,愈發(fā)惶恐夭委,覺(jué)得自己好像什么都不會(huì)了幅狮,面對(duì)這些新技術(shù)棧的沖擊,頗有力不從心的感覺(jué)了株灸,還好意識(shí)到這個(gè)問(wèn)題崇摄,現(xiàn)在開(kāi)始補(bǔ)課,還不算太晚慌烧。

上周參加了集團(tuán)組織的一個(gè)大數(shù)據(jù)培訓(xùn)逐抑,交的一個(gè)大作業(yè)是關(guān)于對(duì)微博用戶進(jìn)行客戶畫像,預(yù)測(cè)測(cè)試集的微博用戶性別屹蚊,因?yàn)樽约簩?duì)數(shù)據(jù)挖掘這塊只懂得皮毛厕氨,結(jié)果自然也就不值得一提了,不過(guò)這次培訓(xùn)的確開(kāi)拓了眼界汹粤,了解了很多機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的知識(shí)命斧,于是準(zhǔn)備先安裝下xgboost這個(gè)深度學(xué)習(xí)框架,不過(guò)安裝過(guò)程中出現(xiàn)了很多坑嘱兼,在此記錄下国葬,也讓Mac環(huán)境編程的同學(xué)少走些彎路。

下載安裝

大劉發(fā)現(xiàn)在csdn或其他網(wǎng)上找到的文章都有不合適的地方,舉個(gè)栗子汇四,譬如這篇文章:http://www.cnblogs.com/chenhuan001/p/5595380.html
前面的都沒(méi)有問(wèn)題接奈,不過(guò)這步替換cc gcc c++ g++的操作,的確讓人無(wú)解了通孽,因?yàn)槊看尾僮魍甓紩?huì)Permissioin Denied 權(quán)限不足的問(wèn)題序宦,后續(xù)的編譯操作就無(wú)法進(jìn)行了。
如圖:

WX20170328-174245@2x.png

所以大劉建議背苦,要想學(xué)習(xí)一手知識(shí)挨厚,還是直接看官網(wǎng)或者項(xiàng)目對(duì)應(yīng)的github頁(yè)面吧,這才是最正宗的糠惫。

傳送門:Installation Guide

Mac系統(tǒng)的同學(xué)直接跳到 Building on OSX 這一節(jié)
原文:

On OSX, one builds xgboost by

git clone --recursive https://github.com/dmlc/xgboostcd xgboost; cp make/minimum.mk ./config.mk; make -j4

This builds xgboost without multi-threading, because by default clang in OSX does not come with open-mp. See the following paragraph for OpenMP enabled xgboost.
Here is the complete solution to use OpenMP-enabled compilers to install XGBoost. Obtain gcc-6.x.x with openmp support by

brew install gcc --without-multilib

. (brew is the de facto standard of apt-get on OS X. So installing HPC separately is not recommended, but it should work.). Installation of gcc
can take a while (~ 30 minutes)
Now, clone the repository

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

and build using the following commands

cd xgboost; cp make/config.mk ./config.mk; make -j4

NOTE: If you use OSX El Capitan,

brew installs gcc 

the latest version gcc-6. So you may need to modify Makefile#L46 and change gcc-5 to gcc-6. After that change gcc-5/g++-5 to gcc-6/g++-6 in make/config.mk then build using the following commands

cd xgboost; cp make/config.mk ./config.mk; make -j4

內(nèi)容大意主要分以下幾個(gè)步驟:

  • 如果你不需要xgboost多線程操作疫剃,直接執(zhí)行以下即可
git clone --recursive https://github.com/dmlc/xgboostcd xgboost; cp make/minimum.mk ./config.mk; make -j4

但是機(jī)器學(xué)習(xí)不用多線程怎么能行,這速度就提不上去了不是硼讽?

  • 多線程開(kāi)啟方法
    因?yàn)镸ac 的 OS X 系統(tǒng)的 C語(yǔ)言 編譯器用的是 Clang巢价,如下圖,在 Terminal 輸入 gcc -v
    或者 gcc --version 后固阁,顯示 C語(yǔ)言 的編譯器:

這里需要下載gcc的最新版本壤躲,這里推薦使用brew大法

brew install gcc 

安裝時(shí)間比較長(zhǎng),大部分都集中在make bootstrap上备燃,大概需要30-40分鐘時(shí)間碉克,編譯完后的這一步驟很重要。

cp make/config.mk ./config.mk
vi config.mk

修改對(duì)應(yīng)的gcc和g++版本并齐,如圖



然后運(yùn)行

make -j4

這樣就編譯完了xgboost漏麦,然后我們安裝下openmpi

brew install openmpi

如果是利用Python調(diào)用,那么還需要

cd python-package; sudo python3 setup.py install

即可安裝完成况褪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撕贞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子测垛,更是在濱河造成了極大的恐慌捏膨,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件食侮,死亡現(xiàn)場(chǎng)離奇詭異号涯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锯七,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門链快,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人起胰,你說(shuō)我怎么就攤上這事久又。” “怎么了效五?”我有些...
    開(kāi)封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵地消,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我畏妖,道長(zhǎng)脉执,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任戒劫,我火速辦了婚禮半夷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迅细。我一直安慰自己巫橄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布茵典。 她就那樣靜靜地躺著湘换,像睡著了一般。 火紅的嫁衣襯著肌膚如雪统阿。 梳的紋絲不亂的頭發(fā)上彩倚,一...
    開(kāi)封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音扶平,去河邊找鬼帆离。 笑死,一個(gè)胖子當(dāng)著我的面吹牛结澄,可吹牛的內(nèi)容都是我干的哥谷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼麻献,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼呼巷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起赎瑰,我...
    開(kāi)封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤王悍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后餐曼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體压储,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年源譬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了集惋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踩娘,死狀恐怖刮刑,靈堂內(nèi)的尸體忽然破棺而出喉祭,到底是詐尸還是另有隱情,我是刑警寧澤雷绢,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布泛烙,位于F島的核電站,受9級(jí)特大地震影響翘紊,放射性物質(zhì)發(fā)生泄漏蔽氨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一帆疟、第九天 我趴在偏房一處隱蔽的房頂上張望鹉究。 院中可真熱鬧,春花似錦踪宠、人聲如沸自赔。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)匿级。三九已至,卻和暖如春染厅,著一層夾襖步出監(jiān)牢的瞬間痘绎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工肖粮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孤页,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓涩馆,卻偏偏與公主長(zhǎng)得像行施,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子魂那,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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