From: Jérôme Benoit Date: Sun, 28 Sep 2025 18:49:01 +0000 (+0200) Subject: refactor(qav3): cleanup MO _get_n_clusters X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=b63e0e900dbb12f417fa8b07b88419fd177af48d;p=freqai-strategies.git refactor(qav3): cleanup MO _get_n_clusters Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index c77abe9..eb52e4f 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -857,14 +857,11 @@ class QuickAdapterRegressorV3(BaseRegressionModel): if n_samples <= 1: return 1 n_uniques = np.unique(matrix, axis=0).shape[0] - upper_bound = max(1, min(max_n_clusters, n_uniques, n_samples)) - lower_bound = max(2, min(min_n_clusters, upper_bound)) + upper_bound = min(max_n_clusters, n_uniques, n_samples) if upper_bound < 2: return 1 - try: - n_clusters = int(round(np.log2(max(n_samples, 2)))) - except Exception: - n_clusters = min_n_clusters + lower_bound = min(min_n_clusters, upper_bound) + n_clusters = int(round(np.log2(max(n_uniques, 2)))) return max(lower_bound, min(n_clusters, upper_bound)) if metric in {