Introduction

Loading Dataset

  • scikit-learn 提供很多內建的 dataset 作為測試

from sklearn import datasets

iris = datasets.load_iris()     # 辨識花朵
digits = datasets.load_digits() # 辨識手寫數字
  • 載入的物件有幾個屬性

    • data : training data X

    • target : label y

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.]]

print(digits.target)
# [0, 1, 2, ..., 8, 9, 8]

Learning and Predicting

  • scikit-learn 提供多種傳統 Machine learning 套件

  • 可以呼叫這些套件,並修改其 hyperparameters 便可開始訓練

  • 以下用內建的 SVM 套件來示範

  • 接著就可以拿訓練好的 model 進行預測

    • predict 需要傳遞一個 list 作為 param

    • 所以這邊使用 X[-1:]

Save Model

  • Python 內建的 pickle 以及 joblib 都可以將 model 存起來下次使用

  • 以下是 pickle 範例

  • joblib 可以存更大更複雜的 model,但需要存至 disk 上

Refitting and Updating Hyperparameters

  • 建立好的 model 可以隨時修改或 overwrite 他的 hyperparameters

  • 以下先使用 kernel 為 linear 的 SVC

  • 接著再改回 kernel 為 rbf 的 SVC

Last updated

Was this helpful?