From 379e6f85162776909ccdd60045b083bd990e6330 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 3 Jan 2026 23:36:37 +0100 Subject: [PATCH] refactor: improve string literal replacements and use specific tuple constants - Replace hardcoded method names in error messages with tuple constants (lines 2003, 2167: use _DISTANCE_METHODS[0] and [1] instead of literal strings) - Use _CLUSTER_METHODS instead of _SELECTION_METHODS indices for better code maintainability (e.g., _CLUSTER_METHODS[0] vs _SELECTION_METHODS[2]) - Fix trial_selection_method comparison order to match tuple constant order (compromise_programming [0] before topsis [1]) - Remove redundant power_mean None check (already validated by _validate_power_mean) - Add clarifying comments to tuple constant usages (minkowski, rank_extrema) --- .../freqaimodels/QuickAdapterRegressorV3.py | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index f79e83c..11688f2 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -374,7 +374,9 @@ class QuickAdapterRegressorV3(BaseRegressionModel): if validated_metric is not None: kwargs["w"] = weights - if distance_metric == QuickAdapterRegressorV3._DISTANCE_METRICS[1]: + if ( + distance_metric == QuickAdapterRegressorV3._DISTANCE_METRICS[1] + ): # "minkowski" validated_p = QuickAdapterRegressorV3._validate_minkowski_p( p, ctx=p_ctx, mode=mode ) @@ -870,7 +872,9 @@ class QuickAdapterRegressorV3(BaseRegressionModel): selection_method not in QuickAdapterRegressorV3._extrema_selection_methods_set() ): - selection_method = QuickAdapterRegressorV3._EXTREMA_SELECTION_METHODS[0] + selection_method = QuickAdapterRegressorV3._EXTREMA_SELECTION_METHODS[ + 0 + ] # "rank_extrema" threshold_smoothing_method = str( update_config_value( @@ -1998,7 +2002,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): ) raise ValueError( - f"Invalid distance_metric {distance_metric!r} for compromise_programming. " + f"Invalid distance_metric {distance_metric!r} for {QuickAdapterRegressorV3._DISTANCE_METHODS[0]}. " f"Supported: {', '.join(QuickAdapterRegressorV3._DISTANCE_METRICS)}" ) @@ -2162,7 +2166,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): ) else: raise ValueError( - f"Invalid distance_metric {distance_metric!r} for topsis. " + f"Invalid distance_metric {distance_metric!r} for {QuickAdapterRegressorV3._DISTANCE_METHODS[1]}. " f"Supported: {', '.join(QuickAdapterRegressorV3._DISTANCE_METRICS)}" ) @@ -2224,18 +2228,18 @@ class QuickAdapterRegressorV3(BaseRegressionModel): return best_trial_index, best_trial_distance if ( - trial_selection_method == QuickAdapterRegressorV3._DISTANCE_METHODS[1] - ): # "topsis" - scores = QuickAdapterRegressorV3._topsis_scores( + trial_selection_method == QuickAdapterRegressorV3._DISTANCE_METHODS[0] + ): # "compromise_programming" + scores = QuickAdapterRegressorV3._compromise_programming_scores( normalized_matrix[best_cluster_indices], distance_metric, weights=weights, p=p, ) elif ( - trial_selection_method == QuickAdapterRegressorV3._DISTANCE_METHODS[0] - ): # "compromise_programming" - scores = QuickAdapterRegressorV3._compromise_programming_scores( + trial_selection_method == QuickAdapterRegressorV3._DISTANCE_METHODS[1] + ): # "topsis" + scores = QuickAdapterRegressorV3._topsis_scores( normalized_matrix[best_cluster_indices], distance_metric, weights=weights, @@ -2282,11 +2286,11 @@ class QuickAdapterRegressorV3(BaseRegressionModel): n_clusters = QuickAdapterRegressorV3._get_n_clusters(normalized_matrix) if cluster_method in { - QuickAdapterRegressorV3._SELECTION_METHODS[2], # "kmeans" - QuickAdapterRegressorV3._SELECTION_METHODS[3], # kmeans2 + QuickAdapterRegressorV3._CLUSTER_METHODS[0], # "kmeans" + QuickAdapterRegressorV3._CLUSTER_METHODS[1], # "kmeans2" }: if ( - cluster_method == QuickAdapterRegressorV3._SELECTION_METHODS[2] + cluster_method == QuickAdapterRegressorV3._CLUSTER_METHODS[0] ): # "kmeans" kmeans = sklearn.cluster.KMeans( n_clusters=n_clusters, random_state=42, n_init=10 @@ -2347,7 +2351,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): return trial_distances elif ( - cluster_method == QuickAdapterRegressorV3._SELECTION_METHODS[4] + cluster_method == QuickAdapterRegressorV3._CLUSTER_METHODS[2] ): # "kmedoids" kmedoids_kwargs: dict[str, Any] = { "metric": distance_metric, @@ -2459,8 +2463,6 @@ class QuickAdapterRegressorV3(BaseRegressionModel): power, ctx="label_density_aggregation_param", ) - if power is None: - power = 1.0 return sp.stats.pmean(neighbor_distances, p=power, axis=1) elif ( aggregation == QuickAdapterRegressorV3._DENSITY_AGGREGATIONS[1] -- 2.53.0