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