From: Jérôme Benoit Date: Sun, 28 Sep 2025 21:06:41 +0000 (+0200) Subject: perf(qav3): improve _get_n_clusters heuristic X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=855f92672bb90316294b9591d61a4d93385455fe;p=freqai-strategies.git perf(qav3): improve _get_n_clusters heuristic Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index eb52e4f..8a4035c 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -861,7 +861,12 @@ class QuickAdapterRegressorV3(BaseRegressionModel): if upper_bound < 2: return 1 lower_bound = min(min_n_clusters, upper_bound) - n_clusters = int(round(np.log2(max(n_uniques, 2)))) + n_uniques_bounded = max(n_uniques, 2) + n_clusters = int( + round( + (np.log2(n_uniques_bounded) + np.sqrt(n_uniques_bounded)) / 2.0 + ) + ) return max(lower_bound, min(n_clusters, upper_bound)) if metric in {