DataCanvasIO / HyperTS

A Full-Pipeline Automated Time Series (AutoTS) Analysis Toolkit.
https://hyperts.readthedocs.io
Apache License 2.0
260 stars 27 forks source link

自动训练的融合dl模型,做predict预测时报错 |ValueError: cannot reshape array of size 63 into shape (1,newaxis,2) #73

Closed yanglonghu closed 1 year ago

yanglonghu commented 1 year ago

image 相同的代码另外一个数据集可以,换了个数据集就报这个了,长度格式都一样,只是其中的一个列数字不同

zhangxjohn commented 1 year ago

你好,方便提供数据集吗?我复现一下问题。zhangxj@zetyun.com

yanglonghu commented 1 year ago

你好,方便提供数据集吗?我现在回复下一个问题。zhangxj@zetyun.com

已经发给您的邮箱了

zhangxjohn commented 1 year ago

你好,方便提供数据集吗?我现在回复下一个问题。zhangxj@zetyun.com

已经发给您的邮箱了

收到,感谢!

zhangxjohn commented 1 year ago

您好,根据您所提供的代码和数据,提出如下解决方案: 1、您在HyperTS_read.py文件中生成新数据后,与原数据有拼接的操作,发现您两份数据的时间格式不正确,建议统一: df['ds'] = pd.to_datetime(df['ds'], format='%Y-%m-%d')

2、在时序预测任务中,我们的目标是预测训练数据之后的未来数据,因此,在数据切分操作,您可修改为: train_data, test_data = train_test_split(df, test_size=len(x), shuffle=False)

3、HyperTS在predict时,您只需传入【时间戳+协变量】,而不是连带目标列传入(这是需要预测的),因此,您可以修改为:

X_test, y_test = model.split_X_y(test_data)
forecast = model.predict(X_test)

以上步骤可解决您的问题,十分感谢!

yanglonghu commented 1 year ago

您好,根据您所提供的代码和数据,提出如下解决方案: 1、您在HyperTS_read.py文件中生成新数据后,与原数据有拼接的操作,发现您两份数据的时间格式不正确,建议统一: df['ds'] = pd.to_datetime(df['ds'], format='%Y-%m-%d')

2、在时序预测任务中,我们的目标是预测训练数据之后的未来数据,因此,在数据切分操作,您可修改为: train_data, test_data = train_test_split(df, test_size=len(x), shuffle=False)

3、HyperTS在predict时,您只需传入【时间戳+协变量】,而不是连带目标列传入(这是需要预测的),因此,您可以修改为:

X_test, y_test = model.split_X_y(test_data)
forecast = model.predict(X_test)

以上步骤可解决您的问题,十分感谢!

您好,根据提供代码数据数据数据: 1,,,,,,,,,,在在在在在在在在在在在建制一: df['ds'] = pd.to_datetime(df['ds'], format='%Y-%m-%d')

2、在时间预测任务中,我们的目标是预测训练数据之后的未来数据,因此,在数据切分操作中,您可修改为: train_data, test_data = train_test_split(df, test_size=len(x), shuffle=False)

3、HyperTS在预测时,您只需要输入【时间切换+变量】,而不是连接目标列表输入(这是需要预测的),因此,您可以修改为:

X_test, y_test = model.split_X_y(test_data)
forecast = model.predict(X_test)

以上步骤可解决您的问题,十分感谢!

感谢指正