Skip to content

pelinker.model_selection.fusion

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