當我們訓練好乙個模型後,下次如果還想要使用這個模型。那麼我們可以將這個模型儲存下來,下次使用的時候直接匯入就可以了,這樣節省了時間,不用每次都重頭訓練資料,程式執行速度更快。
這裡我們使用sklearn提供的模組joblib來儲存模型。from sklearn.linear_model import linearregression
from sklearn.externals import joblib
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
#獲取資料
lb = load_boston()
#分割資料集到訓練集和測試集
x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)
#特徵值和目標值是都必須進行標準化處理,例項化兩個標準化api
std_x = standardscaler()
x_train = std_x.fit_transform(x_train)
#用轉化訓練集的標準歸一化測試集
x_test = std_x.transform(x_test)
#目標值
std_y = standardscaler()
# -1表示系統自動計算行數,1表示列數
y_train = std_y.fit_transform(y_train.reshape(-1,1))
y_test = std_y.transform(y_test.reshape(-1,1))
#正規方程求解方式**結果
lr = linearregression()
#訓練模型
lr.fit(x_train,y_train)
#儲存訓練好的模型
joblib.dump(lr,'test.pkl')
#載入模型
lr = joblib.load('test.pkl')
使用樸素貝葉斯時,儲存與匯入模型的方法。from sklearn.datasets import fetch_20newsgroups
#載入20newsgroups資料來源,裡面主要是英文報刊雜誌的文章整理
#categories致命要載入的文章類別,sunset指明要載入訓練集
categories = ['alt.atheism','soc.religion.christian','comp.graphics','sci.med']
twenty_train = fetch_20newsgroups(subset='train',categories=categories)
#計算所有文章的tfidf
tfidf_transformer = tfidfvectorizer()
x_train_tfidf = tfidf_transformer.fit_transform(twenty_train.data)
# 構建多項式樸素貝葉斯模型
#建立物件 alpha:平滑引數
clf = multinomialnb(alpha=1.0)
#訓練clf.fit(x_train_tfidf,twenty_train.target)
# 儲存模型
joblib.dump(tfidf_transformer,'tfidf_model.pkl')
joblib.dump(clf,'clf_model.pkl')
# 載入模型
clf = joblib.load('clf_model.pkl')
tfidf_transformer = joblib.load('tfidf_model.pkl')
機器學習之儲存訓練模型
話不多說,直接進入正題。1.首先匯入joblib包 import joblib2.訓練好模型之後,即可儲存模型到本地 joblib.dump 模型例項名稱,本地路徑 檔名稱 比如 joblib.dump lr,r g 學習檔案 機器學習 import learing predict card.pkl...
機器學習模型儲存
在訓練完成機器學習模型後,經常將滿足需要的機器學習模型進行儲存,本文以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...