引子:
运行from sklearn.dataset import load_iris 时提示:
Traceback (most recent call last): File "F:/github/MiningStart/Chapter1/affinity.py", line 5, in <module> from sklearn.datasets import load_iris # 鸢尾属植物 File "C:\Python27\lib\site-packages\sklearn\__init__.py", line 57, in <module> from .base import clone File "C:\Python27\lib\site-packages\sklearn\base.py", line 9, in <module> from scipy import sparse File "C:\Python27\lib\site-packages\scipy\__init__.py", line 61, in <module> from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl ImportError: cannot import name NUMPY_MKL
然后在pip freeze命令查看到只安装了numpy而没有mkl
Numpy+MKL is linked to the Intel® Math Kernel Library and includes required DLLs in the numpy.core directory.
于是下载重新安装numpy+mkl
一、了解mkl:
Python下有很多关于机器学习的库,最常用的组合有一下四个:
numpy :主要用来做一些科学运算,主要是矩阵的运算。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都进行数组化,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。
scipy:主要是一些科学工具集,信号处理工具集(如线性代数使用LAPACK库,快速傅立叶变换使用FFTPACK库)及数值计算的一些工具(常微分方程求解使用ODEPACK库,非线性方程组求解以及最小值求解等)。
scikit-learn:里面有很多机器学习相关的算法(如聚类算法,SVM等)。
matplotlib:是一个画图工具和Matlab中的画图工程类似。
二、安装
pip install mkl 失败
然后在上边的地址中下载numpy+mkl的.whl文件
下载了:numpy-1.11.1+mkl-cp35-cp35m-win_amd64.whl
然后安装的时候显示:
C:\Users\Plain>pip install C:\Users\Plain\Desktop\numpy-1.11.1+mkl-cp35-cp35m-win_amd64.whl
numpy-1.11.1+mkl-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.
傻乎乎的不知道为什么,然后才慢慢想通, cp35是给python3.5用的应该用cp27的。ps下载35的原因是一直以为35是最新新版本
下载numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl 安装成功。
C:\Users\Plain>pip install "F:\python whl collections\py27\numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl" Processing f:\python whl collections\py27\numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl Installing collected packages: numpy Found existing installation: numpy 1.11.1 Uninstalling numpy-1.11.1: Successfully uninstalled numpy-1.11.1 Successfully installed numpy-1.11.1+mkl
-------2016-7-27 22:47:03--