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])