天天看點

【MachineLearning】手殘黨:windows(64位)下xgboost的安裝

前言:這陣子突然對xgboost産生了極大的興趣,參加過一些大資料比賽但也是停留在入門者瞎玩玩的級别,為了鍛煉下自己也為了增加日後面試的談資吧,來入門下目前很火的xgboost。網上有不少關于xgboost安裝的教程和部落格,可是因為一些用到的插件或者xgboost的版本不同等原因,初學者在安裝的時候會遇到很多問題。以下就來記錄下我安裝的經驗:

1、準備:

必要軟體:

Python 2.7.x (64位)

Git 2.10.2 (64位)

MinGW 4.8.1 (64位)

fyi:上邊提到的所有軟體必須都是32位或者64位,否則會出現很多編譯的錯誤導緻無法生成檔案。現在(2017.03.21)Git的最新版本去到了2.12.x,MinGW的最新版本去到了5.3.x,分别給出國外的下載下傳位址(給友善下國外軟體的朋友使用,本文不需要用到最新版的軟體)。

Git:https://git-scm.com/;

MinGW:http://www.mingw.org/;

畢竟大部分要用到的軟體插件什麼的都是在github或者它們自己的官網上,國内可能下載下傳比較困難,給出我用的下載下傳位址。

下載下傳位址:

Python:下載下傳和安裝百度就行了,很容易找到;

Git:http://download.csdn.net/detail/sqxing007/9672891?web=web (需要1個積分);

MinGW:http://download.csdn.net/download/liaoguol/7983413;

安裝的時候主要參考有這幾篇:

1.【譯】在Windows下安裝XGBoost

https://wang-shuo.github.io/2017/02/21/%E5%9C%A8Windows%E4%B8%8B%E5%AE%89%E8%A3%85XGBoost/;

2.64位win10下安裝xgboost python包的教程

http://www.th7.cn/system/win/201603/157092.shtml;

2、軟體的安裝:

Git的安裝:

       git在xgboost安裝中的作用不大,但是為了自動擷取github上最新的xgboost包,還是安裝一下,以後也會用到這個工具。

除了設定你所要安裝的路徑(我的路徑是:E:\Git),中間的步驟基本隻要下一步下一步就行了,傻瓜式的安裝。

       成功後,在cmd下輸入git會出現git的幫助資訊。

以上參考自第二篇文章

MinGW的安裝:

       從下載下傳位址下載下傳的檔案就是64位MinGW的壓縮包,解壓縮到需要放置的路徑即可,也是很簡單。

       後續的make指令和運作庫都在你所設定路徑下的檔案夾裡(就是包含mingw32-make.exe這個程式的檔案夾,我的路徑是:E:\MinGW64\bin),然後你需要将這個路徑添加入windows系統中的Path中。

       完成上述步驟後,打開Git中的git-bash.exe,輸入which mingw32-make,若顯示這個檔案的位址,那麼安裝就成功了。

1 $ which mingw32-make

【MachineLearning】手殘黨:windows(64位)下xgboost的安裝

3、XGBoost的安裝、編譯和Python子產品的安裝:

        xgboost的安裝需要用到git,在完成上述步驟中git的安裝後,開始菜單或者你的右鍵會出現一個Git Bash,你也可以通過你的安裝路徑中的git-bash.exe打開,這是一個類似Windows cmd或者Linux cmd的指令行輸入視窗。

       在這個視窗裡,使用cd指令進入到你想要儲存xgboost代碼的檔案夾(我的路徑是:E:\Algorithm),以我的例子就是:

1 $ cd /e/algorithm

然後輸入以下代碼即可下載下傳xgboost資源檔案:

1 $ git clone --recursive https://github.com/dmlc/xgboost 2 $ cd xgboost 3 $ git submodule init 4 $ git submodule update

        完成後,在檔案夾(我的路徑是:E:\Algorithm\xgboost)裡就會出現整個xgboost項目的資源檔案。

        xgboost的編譯需要用到mingw,為了後續輸入的友善,可以用兩種方法簡化mingw32-make指令為make:

        1:将mingw安裝路徑下bin檔案夾裡(我的路徑是:E:\MinGW64\bin)的mingw32-make.exe改名為make.exe;

        2:使用Git Bash中的指令,将mingw32-make指令改寫為make;

1 $ alias make='mingw32-make'

        我們開始編譯xgboost,首先需要在Git Bash中cd進入xgboost的檔案夾(我的路徑是:E:\Algorithm\xgboost):

1 $ cd /e/algorithm/xgboost

        我采用的是參考部落格中,對xgboost分開編譯的方法,每次編譯一個子子產品,為了避免整塊編譯時可能會出現的問題。在編譯的時候可以觀察那些相應的檔案夾裡會出現編譯成功的檔案:

1 $ cd dmlc-core 2 $ make -j4 3 $ cd ../rabit 4 $ make lib/librabit_empty.a -j4 5 $ cd .. 6 $ cp make/mingw64.mk config.mk 7 $ make -j4

        完成最後一個指令,xgboost的編譯就成功了。然後是安裝xgboost的python子產品,首先在Git Bash中cd進入xgboost檔案夾裡的python-package子檔案夾(我的路徑是:E:\Algorithm\xgboost\python-package),然後輸入以下指令:

1 $ cd /e/algorithm/xgboost/python-package 2 $ python setup.py install

        以上大部分參考自第一篇文章

        至此,已完成了xgboost的下載下傳、編譯和python子產品的安裝。Win+R,輸入cmd運作windows指令行,輸入python進入python編譯環境,然後import xgboost,若沒有報錯,恭喜你,成功完成了xgboost的部署和實作。

【MachineLearning】手殘黨:windows(64位)下xgboost的安裝

        在參考的文章裡最後一部分還有使用xgboost的成功示例,讀者也可以自己百度搜尋一些xgboost的小例子進行實驗。=)