edaflow.ml.rank_models

edaflow.ml.rank_models(comparison_df: DataFrame, primary_metric: str, ascending: bool = False, secondary_metrics: List[str] | None = None, weights: Dict[str, float] | None = None, return_format: str = 'dataframe') DataFrame | List[Dict][source]

Rank models based on performance metrics.

Parameters:

comparison_dfpd.DataFrame

Results from compare_models()

primary_metricstr

Main metric to rank by

ascendingbool, default=False

Whether to sort in ascending order (True for error metrics)

secondary_metricsList[str], optional

Additional metrics to consider for tie-breaking

weightsDict[str, float], optional

Weights for weighted ranking across multiple metrics

return_formatstr, default=’dataframe’

Format to return: ‘dataframe’ or ‘list’

Returns:

Union[pd.DataFrame, List[Dict]]

If ‘dataframe’: Ranked models DataFrame If ‘list’: List of dicts for easy access with pattern [0][“model_name”]

Examples:

# DataFrame format (default) ranked_df = rank_models(results, ‘accuracy’) best_model = ranked_df.iloc[0][‘model’]

# List format for easier access ranked_list = rank_models(results, ‘accuracy’, return_format=’list’) best_model = ranked_list[0][“model_name”]