From 2af0235aeaff167255ddfceab49713cde0fea0e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 19 Feb 2025 22:51:58 +0100 Subject: [PATCH] perf(qav3): fine tune the labeling window size computation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../LightGBMRegressorQuickAdapterV35.py | 16 +++++++++++----- .../XGBoostRegressorQuickAdapterV35.py | 16 +++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 12dd97d..dc09d62 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -12,7 +12,6 @@ import scipy as spy import optuna import sklearn import warnings -import re import numpy as np N_TRIALS = 36 @@ -573,15 +572,22 @@ def period_objective( ) y_pred = model.predict(X_test) - min_label_period_candles = int(fit_live_predictions_candles / 10) - max_label_period_candles = fit_live_predictions_candles + min_label_period_candles = int(fit_live_predictions_candles / 6) + max_label_period_candles = int(fit_live_predictions_candles / 2) label_period_candles = trial.suggest_int( "label_period_candles", min_label_period_candles, max_label_period_candles, ) - y_test = y_test.tail(label_period_candles) - y_pred = y_pred[-label_period_candles:] + y_test = [ + y_test.iloc[i : i + label_period_candles] + for i in range(0, len(y_test), label_period_candles) + ] + y_pred = pd.Series(y_pred) + y_pred = [ + y_pred.iloc[i : i + label_period_candles] + for i in range(0, len(y_pred), label_period_candles) + ] 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 3e4dc15..48d2e6b 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -12,7 +12,6 @@ import scipy as spy import optuna import sklearn import warnings -import re import numpy as np N_TRIALS = 36 @@ -577,15 +576,22 @@ def period_objective( ) y_pred = model.predict(X_test) - min_label_period_candles = int(fit_live_predictions_candles / 10) - max_label_period_candles = fit_live_predictions_candles + min_label_period_candles = int(fit_live_predictions_candles / 6) + max_label_period_candles = int(fit_live_predictions_candles / 2) label_period_candles = trial.suggest_int( "label_period_candles", min_label_period_candles, max_label_period_candles, ) - y_test = y_test.tail(label_period_candles) - y_pred = y_pred[-label_period_candles:] + y_test = [ + y_test.iloc[i : i + label_period_candles] + for i in range(0, len(y_test), label_period_candles) + ] + y_pred = pd.Series(y_pred) + y_pred = [ + y_pred.iloc[i : i + label_period_candles] + for i in range(0, len(y_pred), label_period_candles) + ] error = sklearn.metrics.root_mean_squared_error(y_test, y_pred) -- 2.43.0