TUNGchuan 2019-09-02 17:37 采纳率: 0%
浏览 3473
已采纳

机器学习中怎么使用保存的模型进行预测

我使用一个文档中的数据训练了岭回归模型并保存,想通过这个模型来预测另一个文档中的数据(两个文档中的数据只是数量不一样)

预测的文档中有2W+条数据,但是预测结果只有6000+条。

请问各位大神怎么才能使预测结果按每条数据的顺序全部得出来。

本人完全小白,论文想做个机器学习的东西...求各位大神指导

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
import joblib as jb

def mylinear():
    """
    岭回归预测TOC
    :return: None
    """
    # 获取数据
    data = pd.read_csv("./NH25-4.csv")
    # 删除部分列
    data = data.drop(["E_HORZ", "E_VERT", "PR_HORZ", "PR_VERT", "Brittle_Horz%", "Brittle_Vert%", "POR", "DEPTH"],
                     axis=1)

    # 取出特征值和目标值
    y = data["TOC"]
    x = data.drop(["TOC"], axis=1)

    # 分割数据集到训练集和测试集
    x_train, x_test, y_train, y_test = train_test_split(x, y)

    # 标准化
    std_x = StandardScaler()

    x_train = std_x.fit_transform(x_train)
    x_test = std_x.transform(x_test)

    # 目标值
    std_y = StandardScaler()

    y_train = std_y.fit_transform(y_train.values.reshape(-1, 1))
    y_test = std_y.transform(y_test.values.reshape(-1, 1))

    # 加载模型
    model = jb.load("./test_Ridge.pkl")
    y_predict = std_y.inverse_transform(model.predict(x_test))

    print("保存的模型预测的结果:", y_predict)

if __name__ == "__main__":
    mylinear()
  • 写回答

1条回答

  • 繁华三千东流水 2019-09-02 18:21
    关注

    分割数据集到训练集和测试集
    x_train, x_test, y_train, y_test = train_test_split(x, y)
    你加载模型直接预测 不需要对数据进行再次切分 因为你切分为了训练集和测试集,所有测试集只有6000+数据。 你对数据处理的时候直接对整体进行处理
    然后整体预测就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容