EchoML / core /utils.py
Tiffany Degbotse
query with your model
2ae10e0
raw
history blame contribute delete
629 Bytes
import hashlib
from typing import List
import numpy as np
def case_id_from_vector(x: np.ndarray, prefix: str = "case") -> str:
h = hashlib.md5(x.tobytes()).hexdigest()[:10]
return f"{prefix}_{h}"
def to_numpy(lst, dtype="float32"):
return np.asarray(lst, dtype=dtype)
def safe_proba_to_scalar(proba, positive_index: int = 1):
"""Return a single probability for binary classifiers when possible."""
if proba is None:
return None
arr = np.asarray(proba)
if arr.ndim == 2 and arr.shape[1] >= 2:
return float(arr[0, positive_index])
# fallback: average
return float(arr.mean())