This function uses an improved weighting scheme that considers:
Expression level (log-normalized)
Detection rate (binary: above min_expression threshold)
Marker specificity (how unique is this marker to this cell type)
Expression variability (CV-based: more variable genes are more discriminative)
.compute_weighted_scores(expr_matrix, marker_sets, min_expression)