如何在Mac OSX上安裝xgboost


  聽說xgboost效果很不錯,於是准備學習下,但是發現大多數資料都是在講如何在windows或linux下安裝xgboost,而且照着官方文檔也沒有正確的安裝好多線程的xgboost。最后還是從there找到了方法。

1. Mac OSX系統一般自帶python,打開終端輸入python即可寫python代碼,所以python環境已經具備了。

2.安裝 Homebrew , 類似於ubuntu中的apt-get和centos中的yum,是OSX里面的一個非常有用軟件安裝工具。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

直接將上述代碼粘貼至終端即可安裝。(安裝這個軟件的目的在於更新gcc版本,因為官方文檔中說只有最新的gcc版本才能使xgboost支持多線程)

 

3.安裝最新版本的gcc (gcc-6)

brew install gcc --without-multilib   

這步比較耗時,用了將近1小時。

4.從git上下載源碼

cd進入你想要安裝的目錄,然后輸入下面的代碼。(我是直接在打開終端的目錄)

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

5.最關鍵的一步,編譯xgboost的源碼。(為啥不直接發布一個編譯好的,因為每台電腦相差太多)

這一步也是官方文檔中沒有說清楚的一步,官方文檔在第4步之后直接就開始編譯源碼了,但是其實這時gcc只是下載好了,系統並沒有使用剛剛下載下來最新的gcc。這時

  cd /usr/bin
  rm cc gcc c++ g++
  ln -s /usr/local/bin/gcc-6 cc
  ln -s /usr/local/bin/gcc-6 gcc
  ln -s /usr/local/bin/c++-6 c++
  ln -s /usr/local/bin/g++-6 g++

上述代碼大意是,使用最新的gcc-6代替之前的gcc

接着就是正常的編譯

cd 之前安裝xgboost的目錄/xgboost
cp make/config.mk
make -j4

如果沒有一直警告gcc不支持多線程,則表示這一步順利完成.

6. 不出意外,上一步編譯的過程會報錯,錯誤是:std::abs(XXX) 不對。

因為編譯器變了導致了這個錯誤。

於是只要將std::abs(XXX) 改成

XXX>=0?XXX:-XXX

也就是用一個問號表達解決這個問題。 好在錯誤只有兩個,都是一樣的。所以改下這兩處代碼就行了。

然后編譯,成功!

 

7.驗證是否成功安裝。

在python中輸入

import xgboost as xgb

並按下回車,如果未報錯,則說明已經可以在python程序中正確的導入xgboost包了!如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM