scikit-learn——快速入門

scikit-learn——快速入門

sklearn 快速入門html

環境:python

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

好幾個月沒有發博客了,平時的筆記都隨意記在印象筆記中。如今閒着有空,把 sklearn 的基本模型學一學。實際上 scikit-learn 的學習材料很是很是齊全,建議英文好的同窗直接看官方文檔git

準備

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

這裏提供另一個更加詳細的材料,這份材料基於ipython notebook,能夠在瀏覽器裏運行代碼,功能強大,演示效果很是好,github下載地址。若是電腦上沒有安裝git,請參考這篇博客進行設置。ubuntu

  • 將材料下載到本地:
    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 文件。tornado

接口

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

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(): 從數據中學到新的基並將這個數據按照這組「基」進行轉換。

下面這個圖展現了這些接口在機器學習模型中的位置:

 

更多信息請查看 ipython notebook 文檔中的內容。

相關文章
相關標籤/搜索