Scikit-learn 快速入門

jopen 9年前發布 | 38K 次閱讀 機器學習 scikit-learn

環境

  • ubuntu 12.04, 64 bits
  • python 2.7
  • sklearn 0.14

準備

sklearn 快速入門的官方文檔1。這個文檔主要描述機器學習的概念,以及如何加載數據,訓練模型,保存模型。

這里提供另外一個更加詳細的材料,這份材料基于ipython notebook(可選),可以在瀏覽器里運行代碼,功能強大,演示效果非常好,github下載地址2

  • 將材料下載到本地:
    git clone git@github.com:jakevdp/sklearn_pycon2013.git
  • 安裝 ipython-notebook
    sudo easy_install "ipython>=0.13" jinja2 "tornado>=3.1.0" pyzmq
    sudo apt-get install ipython-notebook
  • 打開材料
    cd PATH/TO/sklearn_pycon2013/notebook
    ipython notebook --pylab inline
    --pylab inline 參數可以使 notebook 在瀏覽器里面直接畫圖效果

數據

sklearn 中的數據一般存放為二維數組,形狀為 [n_samples, n_feartures]。比如著名的 iris 數據集(鳶尾花)包含了三種類別的花(target),共 150 組數據(samples),每組數據由 4 個特征組成,具體來說就是:萼片的長度、萼片的寬度、花瓣的長度、花瓣的寬度。那么,iris 數據集的 data 就由 150*4 的二維數組組成。

sklearn 提供了很多數據集,一類比較小,直接打包在庫中,可以通過 datasets.load_ + Tab 來查看,另一類比較大,需要下載,可以通過 datasets.fetch_ + Tab 查看,下載的目錄可以通過sklearn.datasets.get_data_home()查看。

更詳細的信息請參考 notebook 中的 02_sklearn_data.ipynb 文件。

接口

創建一個機器學習的模型很簡單:

from sklearn.linear_model import LinearRegression
model = LinearRegression() print model

所有模型提供的接口有:

  • model.fit(): 實際上就是訓練,對于監督模型來說是 fit(X, y),對于非監督模型是 fit(X)。

監督模型提供:

  • model.predict(X_new): 判別新樣本
  • model.predict_proba(X_new): 某些模型可以輸出概率,比如 LR,上一個輸出的就是概率最大的 target
  • model.score(): 得分越高,fit 越好

非監督模型提供:

  • model.transform(): 從數據中學到新的“基空間”。
  • model.fit_transform(): 從數據中學到新的基并將這個數據按照這組“基”進行轉換。

下面這個圖展示了這些接口在機器學習模型中的位置:
 Scikit-learn 快速入門

來自:http://suanfazu.com/t/scikit-learn-kuai-su-ru-men/117

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!