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)

 

posted @ 2019-07-26 10:40  小不点丶  阅读(3100)  评论(0编辑  收藏  举报