Brian Moran
Add CARB observability pipeline
1b435f0
raw
history blame contribute delete
581 Bytes
from collections.abc import Sequence
from sklearn.metrics import mutual_info_score
def compute_mi_scores(
cluster_ids: Sequence[int],
reasoning_types: Sequence[str],
model_ids: Sequence[str],
) -> dict[str, float]:
if not cluster_ids:
return {
"MI(cluster, reasoning_type)": 0.0,
"MI(cluster, model_identity)": 0.0,
}
return {
"MI(cluster, reasoning_type)": float(mutual_info_score(cluster_ids, reasoning_types)),
"MI(cluster, model_identity)": float(mutual_info_score(cluster_ids, model_ids)),
}