2017/4/9

Python的機器學習Scikit-learn套件安裝紀錄

沒想到用Python練機器學習要裝一堆套件,這裡把過程做個紀錄。
而作業系統是Mac OS Sierra10.12.4

因之前已安裝好Python了,就不另外寫Python安裝過程,目前我Python版本3.6.0
接下來要安裝的可能有以下:
NumPy
SciPy
Matplotlib
Scikit-learn
應該會按順序安裝

在這之前要注意一點
就是如果你要把這些套件裝在mac內建的Python2.7那下面有些指令的pip3要改成pip
如果你自己有另外裝Python3,像我有自己裝Python3.6.0,pip就要改成pip3,表示我要裝在Python3裡面
簡單說
pip表示mac系統內建的python
pip3表示你自己裝的python3
我一開始就裝錯了都裝在內建的Python裡,所以圖片都要改成pip3
參考資料在這:http://bit.ly/2ntJZaa


一、安裝NumPy
官方建置與安裝NumPy的說明:
開啟terminal,輸入pip3 install numpy
如果你要裝在內建Python裡面,就改成pip install numpy
圖參考用就好


輸入pip3 list,列出目前安裝的套件,已確認numpy安裝成功
一開始pip只有除了numpy,只有下面三個東西

二、安裝SciPy與Matplotlib
參考官方安裝說明:https://scipy.org/install.html
官方文件提到,安裝SciPy前請確認已經安裝Python和pip


用pip安裝SciPy之前,請升級pip版本,輸入以下指令:
python3 -m pip install --upgrade pip
如果你系統是用python3請自行更改。

安裝SciPy,輸入以下指令:
pip3 install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
因剛剛numpy已經安裝過了,他第一行就會提示你,等他安裝完,會另外幫你裝蠻多東西的。也就是說上一步驟可以省略,因SciPy官網會要你跟著裝NumPy。

再輸入pip3 list,會發現他幫你裝了很多東西....應該都是要用的,檢查SciPy是否有在裡面及numpy 及matplotlib。

三、安裝Scikit-learn
一樣從官方文件開始看:http://scikit-learn.org/stable/install.html
直接輸入pip3 install -U scikit-learn
他跑一下就安裝完成

四、測試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.]]


pip官方文件:https://pip.pypa.io/en/stable/

2017-5-7補充:
後來因作業需要所以又多裝了seaborn
後面又裝了paysyCythonstatsmodels  ,因statsmodels相依性問題最好從seaborn開始裝到Cython
後面又裝了plotly

再來是使用seaborn碰到的問題
剛裝好seaborn總要先試試看,於是先到官方Tutorial
試了這段程式碼:
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(sum(map(ord, "aesthetics")))
def sinplot(flip=1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
發現那個畫圖的火箭視窗開不起來
上網找了一下發現這篇http://bit.ly/2qPae84及這篇http://bit.ly/2qPa68Q
因為還要用這行sns.plt.show()才能打開,於是:
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(sum(map(ord, "aesthetics")))
def sinplot(flip=1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
sns.plt.show()
成功了!

沒有留言:

張貼留言