我的自变量是日期时间对象,而我的因变量是浮点数。目前,我有一个可准确预测的keras模型,但我发现model.predict()
仅返回对已知值的预测。我可以调用一种方法来告诉程序使用该模型预测未知值吗?如果没有,请给我有关如何预测这些未知值的说明。
答案 0 :(得分:1)
当前,我有一个Keras模型,可以准确地进行预测,但是我发现model.predict()仅返回对已知值的预测
那是不正确的。预测语句不只是从训练数据中“搜索并返回”结果。这根本不是机器学习的工作原理。建立模型并拥有训练和测试数据集的全部原因是为了确保您具有可推广使用的模型(即,可用于对看不见的数据进行预测,假设观察结果来自与模型相同的基础分布接受过培训)
在您的特定情况下,您使用的是独立的DateTime变量,这意味着您应避免使用非重复的变量(例如year),因为您可以使用它来对未来进行预测(模型学习模式) 2019年但2020年的词汇量可能不足,因此在此之后的几年中无法用于预测。)
相反,您应该设计DateTime变量中的某些功能,并使用循环变量,这些循环变量可能会显示因变量中的某些模式。这些变量如星期几,月份,季节,一天中的小时。根据您的因变量是什么,您肯定可以在其中找到一些模式。
所有这些都完全取决于您要建模的内容以及model.predict()
的问题说明的目标。请尽可能详细地说明,以便人们可以给您更具体的答案。
答案 1 :(得分:0)
您的假设不正确。 model.predict专门用于使用经过训练的模型对以前通常不使用的数据集(例如测试集而不是训练集或验证集)进行预测。要使用它,您需要创建一个数据集以馈送到model.predict。有关如何向model.predict提供输入的信息,请参见答案here.