用Python來編寫機器學習方面的代碼是相當簡單的,因為Python下有很多關于機器學習的庫。其中下面三個庫numpy,scipy,matplotlib,scikit-learn是常用組合,分別是科學計算包,科學工具集,畫圖工具包,機器學習工具集。
numpy :主要用來做一些科學運算,主要是矩陣的運算。NumPy為Python帶來了真正的多維數組功能,并且提供了豐富的函數庫處理這些數組。它將常用的數學函數都進行數組化,使得這些數學函數能夠直接對數組進行操作,將本來需要在Python級別進行的循環,放到C語言的運算中,明顯地提高了程序的運算速度。
scipy:主要是一些科學工具集,信號處理工具集(如線性代數使用LAPACK庫,快速傅立葉變換使用FFTPACK庫)及數值計算的一些工具(常微分方程求解使用ODEPACK庫,非線性方程組求解以及最小值求解等)。
scikit-learn:里面有很多機器學習相關的算法(如聚類算法,SVM等)。
Python安裝完Numpy,SciPy和MatplotLib后,可以成為非常犀利的科研利器。網上關于這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題并不是如何安裝,而是安裝好后因為配置不當,在使用時總會出現import xxx error之類的錯誤。我也是自己摸索了很久才發現如何去正確配置的。下面就詳細說下安裝和配置的過程。
1.安裝Python,這里選擇2.7還是3.4都行,不過推薦使用2.7,畢竟現在的教程大部分還是基于2.7的,3.4跟2.7的語法還是略有不同,為了避免語法錯誤的麻煩,還是推薦大家使用2.7。下載地址為:https://www.python.org/downloads/
2.下載Numpy,SciPy,MatplotLib這三個庫的exe,注意,這里用的是exe,因為MatplotLib的使用需要以Numpy的支持,所以最好先裝NumPy再裝MatplotLib。下載地址:
NumPy: http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
SciPy: http://sourceforge.net/projects/scipy/files/scipy/0.15.1/
MatPlotLib: http://matplotlib.org/downloads.html
其中NumPy和SciPy沒有32和64位的區別,MatPlotLib需要根據自己的系統選擇32位和64位的。再次提醒,這三個庫一定都要下載對應版本的exe。下載完成后一次安裝就是了,他們會自動找到你之前安裝好的Python所在的路徑的,一路Next到底就行了。
3.在第2步安裝完成后,可以在MatPlotLib的Examples頁面(http://matplotlib.org/examples/index.html)Copy代碼運行,發現一定會出錯。這里出的錯,大體有三個:
4.解決No module name six問題,解決辦法很簡單。把你的安裝路徑:Python27/Lib/site-packages/scipy/lib中的six.py,six.pyc,six.pyo三個文件拷貝到 你的安裝路徑:Python27/Lib/site-packages,這個問題就解決了。如何還不行,請記住這個地址(非常重要):http://www.lfd.uci.edu/~gohlke/pythonlibs/
新聞熱點
疑難解答