Python之模型的保存和加载-5.3

时间:2023-03-09 15:40:03
Python之模型的保存和加载-5.3

  一、模型的保存,主要是我们在训练完成的时候把训练下来的数据保存下来,这个也就是我们后续需要使用的模型算法。模型的加载,在保存好的模型上面我们通过原生保存好的模型,去计算新的数据,这样不用每次都要去训练,然后才能计算新的值的预测值。

  二、代码

from sklearn.datasets import load_iris
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.externals import joblib def k_near_save_load():
# 1、原始数据
li = load_iris()
# 2、处理数据
data = li.data
target = li.target
x_train, x_test, y_train, y_test = train_test_split(data, target, test_size=0.25)
# 3、特征工程
std = StandardScaler()
x_train = std.fit_transform(x_train, y_train)
x_test = std.transform(x_test)
# 4、算法
knn_gc = KNeighborsClassifier()
# 构造值进行搜索
param= {"n_neighbors": [2, 3, 5]}
# 网格搜索
gc = GridSearchCV(knn_gc, param_grid=param,cv=4)
gc.fit(x_train, y_train) # 5、评估
print("测试集的准确率:", gc.score(x_test, y_test))
print("交叉验证当中最好的结果:", gc.best_score_)
print("选择最好的模型:", gc.best_estimator_)
print("每个超参数每次交叉验证结果:", gc.cv_results_) # 6、保存模型
joblib.dump(gc, "model/k_near.pkl") # 7、模型的加载使用
model = joblib.load("model/k_near.pkl")
m_predict = model.predict(x_test)
print("保存模型的测试结果:", m_predict)