引子:
運行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--
