结果太好了..有什么问题?如何正确预测?

数据挖掘 Python 神经网络 喀拉斯 预言 自动编码器
2022-02-24 20:55:57

我即将评估一个神经网络,并想检查预测是否有意义。

变量:

X_train1.shape
> (1700, 2)

X_val1.shape
> (339, 2)

X_test1.shape
> (701, 2)

保留[:, 0]x 值(在本例中为时间格式,分别为小时值)和[:, 1]相应的 y 值(在本例中为当前值):

X_train1[0:3]
> array([[-1.72694903,  0.63332341],
       [-1.71673039,  1.00769389],
       [-1.70651176,  1.14177968]])

您在第一列中看不到时间格式,因为我必须根据

df_train1["timestamp"] = pd.to_timedelta(df_train1['timestamp']).dt.total_seconds()

请注意,我想使用AutoEncoder,其中X=Y

y_train1 = X_train1

和视觉上:

AE

首先,我搜索最好的超参数:

grid_result = grid_obj.fit(X_train1, y_train1)

然后我使用最好的参数:

grid_best = grid_result.best_estimator_

现在我想预测:

prediction = grid_best.predict(X_test1)

原则上这是可行的,但我得到了太好的结果,尽管我可以看到偏差。但我想知道我的概念是否有意义。例如,之前一直predict()在预测新yX. 当我尝试执行上述相同操作时,意味着:

grid_best.predict(X_test1[:, 0])

我收到:

检查输入时出错:预期 input_152 的形状为 (2,) 但数组的形状为 (1,)

这些是结果: 神经网络

我训练了 3 个月的时间并预测 1 个月。为什么我认为这太好了,因为我在这里只使用了五个神经元:(输入 2,潜在空间 1,输出 2)。当我使用六个神经元时,它几乎是完美的..

0个回答
没有发现任何回复~