我即将评估一个神经网络,并想检查预测是否有意义。
变量:
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
和视觉上:
首先,我搜索最好的超参数:
grid_result = grid_obj.fit(X_train1, y_train1)
然后我使用最好的参数:
grid_best = grid_result.best_estimator_
现在我想预测:
prediction = grid_best.predict(X_test1)
原则上这是可行的,但我得到了太好的结果,尽管我可以看到偏差。但我想知道我的概念是否有意义。例如,之前一直predict()在预测新y的X. 当我尝试执行上述相同操作时,意味着:
grid_best.predict(X_test1[:, 0])
我收到:
检查输入时出错:预期 input_152 的形状为 (2,) 但数组的形状为 (1,)
我训练了 3 个月的时间并预测 1 个月。为什么我认为这太好了,因为我在这里只使用了五个神经元:(输入 2,潜在空间 1,输出 2)。当我使用六个神经元时,它几乎是完美的..

