1. 程式人生 > >win10(64位)python xgboost 詳細安裝教程

win10(64位)python xgboost 詳細安裝教程

win10(64位)python xgboost 安裝教程

在看一些資料探勘比賽的經驗分享,看到很多都用到了xgboost並取得不錯效果,於是down了大神們的解決方案,結合他們的程式碼學習資料探勘比賽流程。在安裝xgboost 的過程中,看網上各種教程走了很多彎路,在此分享下64位win10系統下安裝python xgboost包的經驗,希望能幫到和我一樣的新手們少走彎路。

xgboost的作者是陳天奇大神,順便奉上其論文

一:安裝環境

  1. windows 10 64位
  2. python 2.x/3.x 64位都可以(我用的是2.7.10)

    cmd 輸入python檢視版本:

C:\Users\huangcheng>python
Python 2.7
.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

如果是裝了IPython之類的IDE,注意新增系統環境變數。

二:所需軟體

1.mingw-w64:mingw-w64是為了在windows環境下直接編譯github上得到的xgboost專案檔案。

  • 點選下載x86_64-5.3.0-release-win32-seh-rt_v4-rev0.7z
    ,適用64位作業系統。
  • 解壓到某一目錄下,我放到了C盤根目錄。(目錄最好不要有中文字元)
  • 配置環境變數。將C:/mingw64/bin;貼上到path環境變數下。
  • 進入目錄C:/mingw64/bin,找到mingw32-make.exe 更名為make(為了使用方便)。成功後,在cmd下輸入make會返回“make: *** No targets specified and no makefile found. Stop.”。

2.git:這個可裝可不裝,如果選擇不安裝則直接從github下載xgboost包

不過為了自動獲取github上最新的xgboost包,還是安裝一下,以後也會用到這個工具。git官方下載地址:https://git-scm.com/download/win

。安裝步驟比較簡單,下一步下一步即可。

3.Cygwin:cygwin是windows平臺上執行的unix模擬環境。本人選擇的用git shell 和cmd,所以沒有選擇安裝,讀者有興趣可以自己嘗試。

4.pip:pip是安裝副檔名為.whl的python包用的工具。

  • 解壓到一個目錄下,找到setup.py位置,cmd進入該目錄,輸入執行python setup.py install 即可。
  • 重啟cmd,輸入pip,顯示pip的幫助資訊,則安裝成功

三:命令安裝

1.numpy和scipy的安裝(如果裝了IPython之類的IDE就不需要了,因為已經自帶了這些包)

  • numpy和scipy是xgboost的依賴工具包,python下進行科學計算也是必不可少的工具。
  • 將兩個whl檔案拷到python路徑下的Scripts資料夾下,並將該檔案路徑新增到PATH環境變數。比如:C:/Python27/Scripts
  • 在cmd下執行:pip install XXXXX.whl 即可。
  • python命令列輸入
    import numpy 
    import scipy

如果沒有報錯就說明安裝成功。

2.開啟前面安裝的Git Bash依次輸入以下命令:(如果直接從陳天奇大神的github下載原始碼的同學跳過此步)

1. git clone --recursive https://github.com/dmlc/xgboost 
2. cd xgboost
3. git submodule init
4. git submodule update
  • 首先進入xgboost目錄下:cd (xgboost路徑)
  • 接著輸入:cp make/mingw64.mk config.mk
  • 接著輸入:make -j4

3.開啟cmd:

  • 進入xgboost路徑下的python-package:cd python-package
  • 接著輸入:python setup.py install
  • OK

4.最後開啟python命令列:import xgboost

如果沒有報錯,就安裝成功了。

最後