Machine Learning (3) - 介紹兩種儲存和讀取模型的方式

Rachel發表於2019-04-14

引言

Machine Learning (3) - 介紹兩種儲存和讀取模型的方式

Machine Learning 兩步曲:

  1. 訓練模型
  2. 用訓練好的模型幫助我們解決問題
    在實際應用中,模型訓練需要大量的資料。這個訓練過程也許會花費比較多的時間。所以,一旦訓練好以後,就需要把它 儲存 起來,方便後面隨時呼叫。

儲存模型的兩種方式

儲存模型的方式有兩種,分別是 picklesklearn joblib

準備模型

引入資料

import pandas as pd
df = pd.read_csv('/Users/rachel/Downloads/py-master/ML/1_linear_reg/homeprices.csv')
df

輸出:

Machine Learning (3) - 介紹兩種儲存和讀取模型的方式

訓練模型

model = linear_model.LinearRegression()
model.fit(df[['area']], df.price)

// 用模型進行預測
model.predict([[3500]])

用 pickle 儲存模型

// 引入包
import pickle

// 將模型寫入 model_pickle 檔案
with open('model_pickle', 'wb') as f:
    pickle.dump(model, f)

// 從 model_pickle 檔案中讀取模型
with open('model_pickle', 'rb') as f:
    mp = pickle.load(f)

// 用模型進行預測
mp.predict([[3500]])

用 sklearn joblib 儲存模型

// 引入包
from sklearn.externals import joblib

// 將模型寫入 model_joblib 檔案
joblib.dump(model, 'model_joblib')

// 從 model_joblib 檔案中讀取模型
mj = joblib.load('model_joblib')

// 用模型進行預測
mj.predict([[3500]])
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章