edaflow.ml.compare_models

edaflow.ml.compare_models(models: Dict[str, BaseEstimator], X_train: DataFrame | None = None, X_val: DataFrame | None = None, X_test: DataFrame | None = None, y_train: Series | None = None, y_val: Series | None = None, y_test: Series | None = None, experiment_config: Dict[str, Any] | None = None, problem_type: str = 'auto', metrics: List[str] | None = None, cv_folds: int = 5, scoring: str | List[str] | None = None, verbose: bool = True) DataFrame[source]

Compare multiple models across various performance metrics.

Parameters:

modelsDict[str, BaseEstimator]

Dictionary of model name -> fitted model pairs

X_trainpd.DataFrame, optional

Training features (can be provided via experiment_config)

X_valpd.DataFrame, optional

Validation features (can be provided via experiment_config)

X_testpd.DataFrame, optional

Test features for final evaluation

y_trainpd.Series, optional

Training target (can be provided via experiment_config)

y_valpd.Series, optional

Validation target (can be provided via experiment_config)

y_testpd.Series, optional

Test target for final evaluation

experiment_configDict[str, Any], optional

Complete experiment configuration from setup_ml_experiment() If provided, will extract X_train, X_val, y_train, y_val from it

problem_typestr, default=’auto’

β€˜classification’, β€˜regression’, or β€˜auto’ to detect

metricsList[str], optional

Specific metrics to calculate. If None, uses default metrics

cv_foldsint, default=5

Number of cross-validation folds (if applicable)

scoringstr or List[str], optional

Scoring metric(s) to use for evaluation

verbosebool, default=True

Whether to print comparison progress

Returns:

pd.DataFrame

Comparison results with models as rows and metrics as columns