機器學習 Python模型的儲存與讀取

2021-09-02 14:19:58 字數 1534 閱讀 7669

在學習機器學習的過程中,很多人都應該有這樣的疑問:模型訓練好了,以後要用怎麼辦呢?肯定不能再跑一邊資料,重新訓練模型以供使用,因為這樣太費時間。最好的辦法當然是,訓練和**分開。訓練好模型後,將模型儲存好,當需要**時,直接讀取模型檔案來呼叫,進行**。

無論是sklearn還是tensorflow,都有模型的儲存和呼叫方法。這裡我們介紹使用pickle進行模型儲存和呼叫的方法。

1.匯入pickle

import pickle
2.訓練模型

x_train, x_test, y_train, y_test = cross_validation.train_test_split(x, y, test_size=0.2)

clf = linearregression(n_jobs=-1)

clf.fit(x_train, y_train)

3.儲存模型

with open('linearregression.pickle','wb') as f:

pickle.dump(clf, f)

4.呼叫模型

pickle_in = open('linearregression.pickle','rb')

clf = pickle.load(pickle_in)

5.使用模型

predict_result = clf.predict(x_predict)
完整**:

x = np.array(df.drop(['label'], 1))

#用於**的資料

x_predict = x[-100:]

#訓練資料

x = x[:-100]

df.dropna(inplace=true)

y = np.array(df['label'])

#資料劃分

x_train, x_test, y_train, y_test = cross_validation.train_test_split(x, y, test_size=0.2)

#訓練模型

# clf = linearregression(n_jobs=-1)

# clf.fit(x_train, y_train)

# confidence = clf.score(x_test, y_test)

#儲存模型

# with open('linearregression.pickle','wb') as f:

# pickle.dump(clf, f)

#讀取本地儲存的模型

pickle_in = open('linearregression.pickle','rb')

clf = pickle.load(pickle_in)

#使用模型**

predict_result = clf.predict(x_predict)

機器學習模型儲存

在訓練完成機器學習模型後,經常將滿足需要的機器學習模型進行儲存,本文以svm演算法為例,講解模型儲存和呼叫的方法。joblib.dump 模型,模型命名 將訓練模型儲存起來如 from sklearn.svm import svc from sklearn.metrics import classi...

機器學習 模型儲存

目錄 pickle模組 sklearn joblib模組 hive分割槽表 在訓練模型後將模型儲存的方法,以免下次重複訓練。以及大資料裡直接將bi模型結果儲存在hive表裡。from sklearn import svm from sklearn import datasets import pic...

機器學習 儲存模型 載入模型 Joblib

joblib描述 joblib是一組用於在python中提供輕量級流水線的工具。特點 透明的磁碟快取功能和懶惰的重新評估 memoize模式 簡單的平行計算 joblib可以將模型儲存到磁碟並可在必要時重新執行 實現 載入模組 from sklearn.datasets import load ir...