kaleidocell.find_optimal_n_mp#
- kaleidocell.find_optimal_n_mp(nmf_programs_all, k_range=range(2, 31), linkage_method='ward', verbose=True)[source]#
Determine the optimal number of meta-programs via silhouette score.
- Parameters:
nmf_programs_all (pd.DataFrame) – Gene × programs loading matrix.
k_range (iterable, default range(2, 31)) – Candidate numbers of clusters to evaluate.
linkage_method (str, default "ward") – Linkage criterion for hierarchical clustering.
verbose (bool, default True) – Print the selected value.
- Returns:
(optimal_k, scores_dict)where scores_dict maps each k to its average silhouette score.- Return type:
tuple