From: Jérôme Benoit Date: Tue, 3 Jun 2025 17:56:07 +0000 (+0200) Subject: refactor(qav3): remove duplicate logic in kmeans MO trial selection X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=bd89d11b1fd00e4130650a016da28087e4cf7379;p=freqai-strategies.git refactor(qav3): remove duplicate logic in kmeans MO trial selection Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 45386a2..c0eb21a 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -585,35 +585,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): metric=label_kmeans_metric, **cdist_kwargs, ).flatten() - best_cluster = np.argmin(cluster_distances_to_ideal) - best_center = cluster_centers[best_cluster].reshape(1, -1) - distances_to_best_cluster = sp.spatial.distance.cdist( - normalized_matrix, - best_center, - metric=label_kmeans_metric, - **cdist_kwargs, - ).flatten() - penalty_value = ( - np.clip( - ( - np.mean(np.delete(cluster_distances_to_ideal, best_cluster)) - / cluster_distances_to_ideal[best_cluster] - if cluster_distances_to_ideal[best_cluster] > 0 - else np.std( - np.delete(cluster_distances_to_ideal, best_cluster) - ) - if len(cluster_distances_to_ideal) > 1 - else 1.0 - ) - - 1.0, - 0.5, - 3.0, - ) - if len(cluster_distances_to_ideal) > 1 - else 1.0 - ) - penalties = np.where(cluster_labels == best_cluster, 0.0, penalty_value) - return distances_to_best_cluster + penalties + return cluster_distances_to_ideal[cluster_labels] elif metric == "knn_d1": if n_samples < 2: return np.full(n_samples, np.inf)