Windows下安裝scikit-learn
准備工作
- Python (>= 2.6 or >= 3.3),
- Numpy (>= 1.6.1)
- Scipy (>= 0.9),
- Matplotlib(可選).
NumPy
NumPy系統是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。
Scipy
SciPy是一款方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等等.
Matplotlib
matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地進行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應用程序中。
不建議使用pip安裝scipy和numpy。
也可以使用第三方的集成開發平台:Anaconda ,已經集成好了所需的庫。
下載地址
Python:https://www.python.org/downloads/
Numpy:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
Scipy:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
Matplotlib:http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
scikit-learn:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn
本次安裝中我選擇的是:
- python3.5
- numpy-1.11.1-cp35-cp35m-win_amd64.whl
- scipy-0.18.0-cp35-cp35m-win_amd64.whl
- matplotlib-2.0.0b3-cp35-cp35m-win_amd64.whl
- scikit_learn-0.17.1-cp35-cp35m-win_amd64.whl
文件名的組成為
庫名-庫版本號-python版本-平台
例如:
scikit_learn-0.17.1-cp35-cp35m-win_amd64.whl
代表的是
scikit-learn 版本號 0.17.1
cp35 代表 python3.5
win_amd64 代表64位windows系統
安裝
首先安裝python, 下載好的exe文件右鍵管理員運行安裝,記得勾選加入到環境變量。
然后依次安裝numpy、scipy和matplotlib。
將下載好的文件放到一個文件夾里,比如 C:\src\
開始->運行->cmd 打開命令行
cd c:\src #切換目錄到src
dir #列出目錄下的文件
檢查是否缺少文件,不缺少進行下一步:
pip install .\numpy-1.11.1-cp35-cp35m-win_amd64.whl #安裝numpy
如果正確安裝會返回這些信息:
Processing c:\src\numpy-1.11.1-cp35-cp35m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.11.1+mkl
同樣方法安裝 scipy 、 matplotlib。
pip install .\scipy-0.18.0-cp35-cp35m-win_amd64.whl #安裝scipy
pip install .\matplotlib-2.0.0b3-cp35-cp35m-win_amd64.whl #安裝matplotlib
最后安裝 scikit-learn
pip install .\scikit_learn-0.17.1-cp35-cp35m-win_amd64.whl #安裝scikit-learn
測試
簡單的測試以下是否安裝成功:
python
>>> from sklearn import datasets
>>> iris = datasets.load_iris()
>>> digits = datasets.load_digits()
>>> print(digits.data)
[[ 0. 0. 5. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 10. 0. 0.]
[ 0. 0. 0. ..., 16. 9. 0.]
...,
[ 0. 0. 1. ..., 6. 0. 0.]
[ 0. 0. 2. ..., 12. 0. 0.]
[ 0. 0. 10. ..., 12. 1. 0.]]
>>> digits.target
array([0, 1, 2, ..., 8, 9, 8])