Я хочу создать модель нейронного пророка, которая будет обучаться динамически. У меня есть два набора данных. Первый набор данных содержит реализованные значения. Первый набор данных содержит реализованное почасовое целевое значение (y) и реализованные данные о погоде с 01.02.2021 по 31.07.2024. Во втором наборе данных у меня есть прогноз погоды с 01.06.2024 по 31.07.2024. Я планирую проводить это динамически с временным горизонтом 48 часов и 1 день после каждого прогноза. Но прежде чем я перейду к этому этапу, у меня возникла следующая проблема.
----------------------------------------------------------------
KeyError Traceback (most recent call last)
File ~\AppData\Roaming\Python\Python312\site-packages\pandas\core\indexes\base.py:3790, in Index.get_loc(self, key)
3789 try:
-> 3790 return self._engine.get_loc(casted_key)
3791 except KeyError as err:
File index.pyx:152, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:181, in pandas._libs.index.IndexEngine.get_loc()
File pandas\_libs\hashtable_class_helper.pxi:7080, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\_libs\hashtable_class_helper.pxi:7088, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'y'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[32], line 43
41 prediction_data = prediction_data[required_columns]
42 # prediction_data["y"] = 0
---> 43 future = model.predict(prediction_data)
44 print(future)
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\forecaster.py:1152, in NeuralProphet.predict(self, df, decompose, raw)
1150 df, received_ID_col, received_single_time_series, _ = df_utils.prep_or_copy_df(df)
1151 # to get all forecasteable values with df given, maybe extend into future:
-> 1152 df, periods_added = _maybe_extend_df(
1153 df=df,
1154 n_forecasts=self.n_forecasts,
1155 max_lags=self.max_lags,
1156 freq=self.data_freq,
1157 config_regressors=self.config_regressors,
1158 config_events=self.config_events,
1159 )
1160 df = _prepare_dataframe_to_predict(model=self, df=df, max_lags=self.max_lags, freq=self.data_freq)
1161 # normalize
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\data\split.py:53, in _maybe_extend_df(df, n_forecasts, max_lags, freq, config_regressors, config_events)
51 _ = df_utils.infer_frequency(df_i, n_lags=max_lags, freq=freq)
52 # to get all forecasteable values with df given, maybe extend into future:
---> 53 periods_add[df_name] = _get_maybe_extend_periods(
54 df=df_i, n_forecasts=n_forecasts, max_lags=max_lags, config_regressors=config_regressors
55 )
56 if periods_add[df_name] > 0:
57 # This does not include future regressors or events.
58 # periods should be 0 if those are configured.
59 last_date = pd.to_datetime(df_i["ds"].copy(deep=True)).sort_values().max()
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\data\split.py:116, in _get_maybe_extend_periods(df, n_forecasts, max_lags, config_regressors)
114 periods_add = 0
115 nan_at_end = 0
--> 116 while len(df) > nan_at_end and df["y"].isnull().iloc[-(1 + nan_at_end)]:
117 nan_at_end += 1
118 if max_lags > 0:
File ~\AppData\Roaming\Python\Python312\site-packages\pandas\core\frame.py:3893, in DataFrame._getitem_(self, key)
3891 if self.columns.nlevels > 1:
3892 return self._getitem_multilevel(key)
-> 3893 indexer = self.columns.get_loc(key)
3894 if is_integer(indexer):
3895 indexer = [indexer]
File ~\AppData\Roaming\Python\Python312\site-packages\pandas\core\indexes\base.py:3797, in Index.get_loc(self, key)
3792 if isinstance(casted_key, slice) or (
3793 isinstance(casted_key, abc.Iterable)
3794 and any(isinstance(x, slice) for x in casted_key)
3795 ):
3796 raise InvalidIndexError(key)
-> 3797 raise KeyError(key) from err
3798 except TypeError:
3799 # If we have a listlike key, _check_indexing_error will raise
3800 # InvalidIndexError. Otherwise we fall through and re-raise
3801 # the TypeError.
3802 self._check_indexing_error(key)
KeyError: 'y'
Neuralprophet хочет, чтобы целевая переменная (y) находилась в кадре данных, который он будет прогнозировать. Я много искал о том, какая у меня проблема, но не смог ее найти. Если бы я уже знал целевую переменную (y), не было бы смысла ее прогнозировать. Можете ли вы мне помочь с этим?
Я хочу создать модель нейронного пророка, которая будет обучаться динамически. У меня есть два набора данных. Первый набор данных содержит реализованные значения. Первый набор данных содержит реализованное почасовое целевое значение (y) и реализованные данные о погоде с 01.02.2021 по 31.07.2024. Во втором наборе данных у меня есть прогноз погоды с 01.06.2024 по 31.07.2024. Я планирую проводить это динамически с временным горизонтом 48 часов и 1 день после каждого прогноза. Но прежде чем я перейду к этому этапу, у меня возникла следующая проблема. [code]import pandas as pd from neuralprophet import NeuralProphet
# Veri Yükleme maindata_path = 'maindata_V05.xlsx' testverisi_path = 'testverisi.xlsx'
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\forecaster.py:1152, in NeuralProphet.predict(self, df, decompose, raw) 1150 df, received_ID_col, received_single_time_series, _ = df_utils.prep_or_copy_df(df) 1151 # to get all forecasteable values with df given, maybe extend into future: -> 1152 df, periods_added = _maybe_extend_df( 1153 df=df, 1154 n_forecasts=self.n_forecasts, 1155 max_lags=self.max_lags, 1156 freq=self.data_freq, 1157 config_regressors=self.config_regressors, 1158 config_events=self.config_events, 1159 ) 1160 df = _prepare_dataframe_to_predict(model=self, df=df, max_lags=self.max_lags, freq=self.data_freq) 1161 # normalize
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\data\split.py:53, in _maybe_extend_df(df, n_forecasts, max_lags, freq, config_regressors, config_events) 51 _ = df_utils.infer_frequency(df_i, n_lags=max_lags, freq=freq) 52 # to get all forecasteable values with df given, maybe extend into future: ---> 53 periods_add[df_name] = _get_maybe_extend_periods( 54 df=df_i, n_forecasts=n_forecasts, max_lags=max_lags, config_regressors=config_regressors 55 ) 56 if periods_add[df_name] > 0: 57 # This does not include future regressors or events. 58 # periods should be 0 if those are configured. 59 last_date = pd.to_datetime(df_i["ds"].copy(deep=True)).sort_values().max()
File C:\ProgramData\anaconda3\Lib\site-packages\neuralprophet\data\split.py:116, in _get_maybe_extend_periods(df, n_forecasts, max_lags, config_regressors) 114 periods_add = 0 115 nan_at_end = 0 --> 116 while len(df) > nan_at_end and df["y"].isnull().iloc[-(1 + nan_at_end)]: 117 nan_at_end += 1 118 if max_lags > 0:
File ~\AppData\Roaming\Python\Python312\site-packages\pandas\core\frame.py:3893, in DataFrame._getitem_(self, key) 3891 if self.columns.nlevels > 1: 3892 return self._getitem_multilevel(key) -> 3893 indexer = self.columns.get_loc(key) 3894 if is_integer(indexer): 3895 indexer = [indexer]
File ~\AppData\Roaming\Python\Python312\site-packages\pandas\core\indexes\base.py:3797, in Index.get_loc(self, key) 3792 if isinstance(casted_key, slice) or ( 3793 isinstance(casted_key, abc.Iterable) 3794 and any(isinstance(x, slice) for x in casted_key) 3795 ): 3796 raise InvalidIndexError(key) -> 3797 raise KeyError(key) from err 3798 except TypeError: 3799 # If we have a listlike key, _check_indexing_error will raise 3800 # InvalidIndexError. Otherwise we fall through and re-raise 3801 # the TypeError. 3802 self._check_indexing_error(key)
KeyError: 'y' [/code] Neuralprophet хочет, чтобы целевая переменная (y) находилась в кадре данных, который он будет прогнозировать. Я много искал о том, какая у меня проблема, но не смог ее найти. Если бы я уже знал целевую переменную (y), не было бы смысла ее прогнозировать. Можете ли вы мне помочь с этим?
Я сейчас студент ИТ и очень заинтересован в том, чтобы стать опытным программистом. Я хочу начать читать книги, которые могут помочь мне понять не только основы, но и мышление и лучшие практики реальных программистов. Я открыт для любого языка или...
Я сейчас студент ИТ и очень заинтересован в том, чтобы стать опытным программистом. Я хочу начать читать книги, которые могут помочь мне понять не только основы, но и мышление и лучшие практики реальных программистов. Я открыт для любого языка или...
Я сейчас студент ИТ и очень заинтересован в том, чтобы стать опытным программистом. Я хочу начать читать книги, которые могут помочь мне понять не только основы, но и мышление и лучшие практики реальных программистов. Я открыт для любого языка или...
Я сейчас студент ИТ и очень заинтересован в том, чтобы стать опытным программистом. Я хочу начать читать книги, которые могут помочь мне понять не только основы, но и мышление и лучшие практики реальных программистов. Я открыт для любого языка или...