zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    UISegmentedControl分段控件
    手势识别器
    delegate代理设计模式
    target/action设计模式
    响应者链
    事件处理
    屏幕旋转
    混编ObjectiveC++
    AES128加密
    您不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。
  • 原文地址:https://www.cnblogs.com/ll409546297/p/11248815.html
Copyright © 2011-2022 走看看