Fusion helpers and leaderboard logic for model-selection runs.
update_leaderboard_fixed(summary_row, *, best_overall_score, best_overall_model, best_overall_layer, best_per_model)
Update mid-run leaderboard using raw outer DBCV+ARI score (resume-safe).
Source code in pelinker/model_selection/fusion.py
| def update_leaderboard_fixed(
summary_row: ClusteringSearchSummaryRow,
*,
best_overall_score: float | None,
best_overall_model: str | None,
best_overall_layer: str | None,
best_per_model: dict[str, float],
) -> tuple[float | None, str | None, str | None, dict[str, float]]:
"""Update mid-run leaderboard using raw outer DBCV+ARI score (resume-safe)."""
mean_outer = outer_score_from_summary_row(summary_row)
model, layer = summary_row.model, summary_row.layer
if not model.startswith("fusion"):
if best_overall_score is None or mean_outer > best_overall_score:
best_overall_score = mean_outer
best_overall_model = model
best_overall_layer = layer
if model not in best_per_model or mean_outer > best_per_model[model]:
best_per_model[model] = mean_outer
return best_overall_score, best_overall_model, best_overall_layer, best_per_model
|