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”]