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