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

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

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

预测的文档中有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+数据。 你对数据处理的时候直接对整体进行处理
    然后整体预测就可以了

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

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站