From: Jérôme Benoit Date: Wed, 19 Feb 2025 22:27:42 +0000 (+0100) Subject: fix(qav3): pad not evenly shapped chunks X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=4c16156b779a7f8ee6d8a0545c297c58c2e69782;p=freqai-strategies.git fix(qav3): pad not evenly shapped chunks Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index dc09d62..6cf2c96 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -588,6 +588,25 @@ def period_objective( y_pred.iloc[i : i + label_period_candles] for i in range(0, len(y_pred), label_period_candles) ] + max_chunk_length = max(len(chunk) for chunk in y_test + y_pred) + y_test = [ + np.pad( + chunk, + (0, max_chunk_length - len(chunk)), + mode="constant", + constant_values=np.nan, + ) + for chunk in y_test + ] + y_pred = [ + np.pad( + chunk, + (0, max_chunk_length - len(chunk)), + mode="constant", + constant_values=np.nan, + ) + for chunk in y_pred + ] error = sklearn.metrics.root_mean_squared_error(y_test, y_pred) diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index 48d2e6b..3709690 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -592,6 +592,25 @@ def period_objective( y_pred.iloc[i : i + label_period_candles] for i in range(0, len(y_pred), label_period_candles) ] + max_chunk_length = max(len(chunk) for chunk in y_test + y_pred) + y_test = [ + np.pad( + chunk, + (0, max_chunk_length - len(chunk)), + mode="constant", + constant_values=np.nan, + ) + for chunk in y_test + ] + y_pred = [ + np.pad( + chunk, + (0, max_chunk_length - len(chunk)), + mode="constant", + constant_values=np.nan, + ) + for chunk in y_pred + ] error = sklearn.metrics.root_mean_squared_error(y_test, y_pred)