Components: model#
autogluon.eda.visualization.model#
Render confusion matrix for binary/multiclass classificator. |
|
Render feature importance for the model. |
|
Render predictions vs ground truth chart for regressor. |
|
Render model leaderboard for trained model ensemble. |
ConfusionMatrix#
- class autogluon.eda.visualization.model.ConfusionMatrix(fig_args: Optional[Dict[str, Any]] = None, headers: bool = False, namespace: Optional[str] = None, **kwargs)[source]#
Render confusion matrix for binary/multiclass classificator.
This visualization depends on
AutoGluonModelEvaluator
analysis.- Parameters
headers (bool, default = False) – if True then render headers
namespace (str, default = None) – namespace to use; can be nested like ns_a.ns_b.ns_c
fig_args (Optional[Dict[str, Any]] = None,) – kwargs to pass into chart figure
Examples
>>> import autogluon.eda.analysis as eda >>> import autogluon.eda.visualization as viz >>> import autogluon.eda.auto as auto >>> >>> df_train = ... >>> df_test = ... >>> predictor = ... >>> >>> auto.analyze(model=predictor, val_data=df_test, anlz_facets=[ >>> eda.model.AutoGluonModelEvaluator(), >>> ], viz_facets=[ >>> viz.model.ConfusionMatrix(fig_args=dict(figsize=(3,3)), annot_kws={"size": 12}), >>> ])
See also
FeatureImportance#
- class autogluon.eda.visualization.model.FeatureImportance(show_barplots: bool = False, fig_args: Optional[Dict[str, Any]] = None, headers: bool = False, namespace: Optional[str] = None, **kwargs)[source]#
Render feature importance for the model.
This visualization depends on
AutoGluonModelEvaluator
analysis.- Parameters
show_barplots (bool, default = False) – render features barplots if True
headers (bool, default = False) – if True then render headers
namespace (str, default = None) – namespace to use; can be nested like ns_a.ns_b.ns_c
fig_args (Optional[Dict[str, Any]] = None,) – kwargs to pass into chart figure
Examples
>>> import autogluon.eda.analysis as eda >>> import autogluon.eda.visualization as viz >>> import autogluon.eda.auto as auto >>> >>> df_train = ... >>> df_test = ... >>> predictor = ... >>> >>> auto.analyze(model=predictor, val_data=df_test, anlz_facets=[ >>> eda.model.AutoGluonModelEvaluator(), >>> ], viz_facets=[ >>> viz.model.FeatureImportance(show_barplots=True) >>> ])
See also
RegressionEvaluation#
- class autogluon.eda.visualization.model.RegressionEvaluation(fig_args: Optional[Dict[str, Any]] = None, headers: bool = False, namespace: Optional[str] = None, **kwargs)[source]#
Render predictions vs ground truth chart for regressor.
This visualization depends on
AutoGluonModelEvaluator
analysis.- Parameters
headers (bool, default = False) – if True then render headers
namespace (str, default = None) – namespace to use; can be nested like ns_a.ns_b.ns_c
fig_args (Optional[Dict[str, Any]] = None,) – kwargs to pass into chart figure
Examples
>>> import autogluon.eda.analysis as eda >>> import autogluon.eda.visualization as viz >>> import autogluon.eda.auto as auto >>> >>> df_train = ... >>> df_test = ... >>> predictor = ... >>> >>> auto.analyze(model=predictor, val_data=df_test, anlz_facets=[ >>> eda.model.AutoGluonModelEvaluator(), >>> ], viz_facets=[ >>> viz.model.RegressionEvaluation(fig_args=dict(figsize=(6,6)), marker='o', scatter_kws={'s':5}), >>> ])
See also
ModelLeaderboard#
- class autogluon.eda.visualization.model.ModelLeaderboard(namespace: Optional[str] = None, headers: bool = False, **kwargs)[source]#
Render model leaderboard for trained model ensemble.
- Parameters
headers (bool, default = False) – if True then render headers
namespace (str, default = None) – namespace to use; can be nested like ns_a.ns_b.ns_c
Examples
>>> import autogluon.eda.analysis as eda >>> import autogluon.eda.visualization as viz >>> import autogluon.eda.auto as auto >>> >>> df_train = ... >>> df_test = ... >>> predictor = ... >>> >>> auto.analyze(model=predictor, val_data=df_test, anlz_facets=[ >>> eda.model.AutoGluonModelEvaluator(), >>> ], viz_facets=[ >>> viz.model.ModelLeaderboard(), >>> ])
See also
autogluon.eda.analysis.model#
Evaluate AutoGluon model performance. |
|
Fit a quick model using AutoGluon. |
AutoGluonModelEvaluator#
- class autogluon.eda.analysis.model.AutoGluonModelEvaluator(normalize: Optional[str] = None, parent: Optional[AbstractAnalysis] = None, children: Optional[List[AbstractAnalysis]] = None, **kwargs)[source]#
Evaluate AutoGluon model performance.
This analysis requires a trained classifier passed in model arg and uses ‘val_data’ dataset to assess model performance.
It is assumed that the validation dataset should follow the same column names seen by the model and has not been used during the training process.
- Parameters
model (TabularPredictor, required) – fitted AutoGluon model to analyze
val_data (pd.DataFrame, required) – validation dataset to use. Warning: do not use data used for training as a validation data. Predictions on data used by the model during training tend to be optimistic and might not generalize on unseen data.
normalize ({'true', 'pred', 'all'}, default=None) – Normalizes confusion matrix over the true (rows), predicted (columns) conditions or all the population. If None, confusion matrix will not be normalized. Note: applicable only for binary and multiclass classification; ignored for regression models.
parent (Optional[AbstractAnalysis], default = None) – parent Analysis
children (Optional[List[AbstractAnalysis]], default None) – wrapped analyses; these will receive sampled args during fit call
Examples
>>> import autogluon.eda.analysis as eda >>> import autogluon.eda.visualization as viz >>> import autogluon.eda.auto as auto >>> >>> df_train = ... >>> df_test = ... >>> predictor = ... >>> >>> auto.analyze(model=predictor, val_data=df_test, anlz_facets=[ >>> eda.model.AutoGluonModelEvaluator(), >>> ], viz_facets=[ >>> viz.layouts.MarkdownSectionComponent(markdown=f'### Model Prediction for {predictor.label}'), >>> viz.model.ConfusionMatrix(fig_args=dict(figsize=(3,3)), annot_kws={"size": 12}), >>> viz.model.RegressionEvaluation(fig_args=dict(figsize=(6,6)), chart_args=dict(marker='o', scatter_kws={'s':5})), >>> viz.layouts.MarkdownSectionComponent(markdown=f'### Feature Importance for Trained Model'), >>> viz.model.FeatureImportance(show_barplots=True) >>> ])
AutoGluonModelQuickFit#
- class autogluon.eda.analysis.model.AutoGluonModelQuickFit(problem_type: str = 'auto', estimator_args: Optional[Dict[str, Any]] = None, parent: Optional[AbstractAnalysis] = None, children: Optional[List[AbstractAnalysis]] = None, save_model_to_state: bool = False, **kwargs)[source]#
Fit a quick model using AutoGluon.
train_data, val_data and label must be present in args.
Note: this component can be wrapped into
TrainValidationSplit
and ~autogluon.eda.analysis.dataset.Sampler to perform automated sampling and train-test split. This whole logic is implemented inquick_fit()
shortcut.Examples
>>> import autogluon.eda.analysis as eda >>> >>> # Quick fit >>> state = auto.quick_fit( >>> train_data=..., label=..., >>> return_state=True, # return state object from call >>> save_model_to_state=True, # store fitted model into the state >>> hyperparameters={'GBM': {}} # train specific model >>> ) >>> >>> # Using quick fit model >>> model = state.model >>> y_pred = model.predict(test_data)
- Parameters
problem_type (str, default = 'auto') – problem type to use. Valid problem_type values include [‘auto’, ‘binary’, ‘multiclass’, ‘regression’, ‘quantile’, ‘softclass’] auto means it will be Auto-detected using AutoGluon methods.
estimator_args (Optional[Dict[str, Any]], default = None,) – kwargs to pass into estimator constructor (TabularPredictor)
save_model_to_state (bool, default = False,) – save fitted model into state under model key. This functionality might be helpful in cases when the fitted model could be usable for other purposes (i.e. imputers)
parent (Optional[AbstractAnalysis], default = None) – parent Analysis
children (Optional[List[AbstractAnalysis]], default None) – wrapped analyses; these will receive sampled args during fit call
kwargs –
See also