Sklearn 模型的保存与读取

这个是比较简单的操作,但是还是想拿出来写一下,因为很好用的一个功能(好像也是必须得有的功能)
很简单,主要就是调用sklearn.external 的joblib来保存和加载模型.不过这个调用会有warning,提示我们直接用joblib包

from sklearn.externals import joblib
#import joblib #也可以直接用这个
joblib.dump(模型变量,'文件名.pkl')
变量 = joblib.load('文件名.pkl')

来一个简单的示例代码

这个用于保存模型

import numpy as np
import pandas as pd 
from sklearn.externals import joblib
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler

excel = pd.read_excel('./新新完整.xlsx')
X = excel.loc[:,['距离中心点的距离','密集度','会员对于任务的密集度','会员综合能力']]
y = excel.loc[:,'任务标价']
X = X.dropna()
y = y.dropna()

preproc = joblib.load('./standard_model.pkl')
line_model = joblib.load('./line_model.pkl')

X = preproc.transform(X)

# print(line_model.predict(X))
print(line_model.score(X,y))

这个用于读取模型

import numpy as np
import pandas as pd 
from sklearn.externals import joblib
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler

excel = pd.read_excel('./新新完整.xlsx')
X = excel.loc[:,['距离中心点的距离','密集度','会员对于任务的密集度','会员综合能力']]
y = excel.loc[:,'任务标价']
X = X.dropna()
y = y.dropna()

preproc = joblib.load('./standard_model.pkl')
line_model = joblib.load('./line_model.pkl')

X = preproc.transform(X)

# print(line_model.predict(X))
print(line_model.score(X,y))

同样的数据预测,两个文件的准确率是一模一样的,可以证明是使用的同一个模型.

你可能感兴趣的:(Sklearn 模型的保存与读取)