ensemble#
Ensemble components.
Package Contents#
Classes Summary#
Stacked Ensemble Base Class. |
|
Stacked Ensemble Classifier. |
|
Stacked Ensemble Regressor. |
Contents#
- class evalml.pipelines.components.ensemble.StackedEnsembleBase(final_estimator=None, n_jobs=- 1, random_seed=0, **kwargs)[source]#
Stacked Ensemble Base Class.
- Parameters
final_estimator (Estimator or subclass) – The estimator used to combine the base estimators.
n_jobs (int or None) – Integer describing level of parallelism used for pipelines. None and 1 are equivalent. If set to -1, all CPUs are used. For n_jobs greater than -1, (n_cpus + 1 + n_jobs) are used. Defaults to -1. - Note: there could be some multi-process errors thrown for values of n_jobs != 1. If this is the case, please use n_jobs = 1.
random_seed (int) – Seed for the random number generator. Defaults to 0.
Attributes
model_family
ModelFamily.ENSEMBLE
modifies_features
True
modifies_target
False
training_only
False
Methods
Constructs a new component with the same parameters and random state.
Returns the default parameters for stacked ensemble classes.
Describe a component and its parameters.
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
Fits estimator to data.
Loads component at file path.
Returns string name of this component.
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
Returns the parameters which were used to initialize the component.
Make predictions using selected features.
Make probability estimates for labels.
Saves component at file path.
Problem types this estimator supports.
- clone(self)#
Constructs a new component with the same parameters and random state.
- Returns
A new instance of this component with identical parameters and random state.
- default_parameters(cls)#
Returns the default parameters for stacked ensemble classes.
- Returns
default parameters for this component.
- Return type
dict
- describe(self, print_name=False, return_dict=False)#
Describe a component and its parameters.
- Parameters
print_name (bool, optional) – whether to print name of component
return_dict (bool, optional) – whether to return description as dictionary in the format {“name”: name, “parameters”: parameters}
- Returns
Returns dictionary if return_dict is True, else None.
- Return type
None or dict
- property feature_importance(self)#
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
- fit(self, X, y=None)#
Fits estimator to data.
- Parameters
X (pd.DataFrame) – The input training data of shape [n_samples, n_features].
y (pd.Series, optional) – The target training data of length [n_samples].
- Returns
self
- static load(file_path)#
Loads component at file path.
- Parameters
file_path (str) – Location to load file.
- Returns
ComponentBase object
- property name(cls)#
Returns string name of this component.
- needs_fitting(self)#
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
This can be overridden to False for components that do not need to be fit or whose fit methods do nothing.
- Returns
True.
- property parameters(self)#
Returns the parameters which were used to initialize the component.
- predict(self, X)#
Make predictions using selected features.
- Parameters
X (pd.DataFrame) – Data of shape [n_samples, n_features].
- Returns
Predicted values.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict method or a component_obj that implements predict.
- predict_proba(self, X)#
Make probability estimates for labels.
- Parameters
X (pd.DataFrame) – Features.
- Returns
Probability estimates.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict_proba method or a component_obj that implements predict_proba.
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
Saves component at file path.
- Parameters
file_path (str) – Location to save file.
pickle_protocol (int) – The pickle data stream format.
- property supported_problem_types(cls)#
Problem types this estimator supports.
- class evalml.pipelines.components.ensemble.StackedEnsembleClassifier(final_estimator=None, n_jobs=- 1, random_seed=0, **kwargs)[source]#
Stacked Ensemble Classifier.
- Parameters
final_estimator (Estimator or subclass) – The classifier used to combine the base estimators. If None, uses ElasticNetClassifier.
n_jobs (int or None) – Integer describing level of parallelism used for pipelines. None and 1 are equivalent. If set to -1, all CPUs are used. For n_jobs below -1, (n_cpus + 1 + n_jobs) are used. Defaults to -1. - Note: there could be some multi-process errors thrown for values of n_jobs != 1. If this is the case, please use n_jobs = 1.
random_seed (int) – Seed for the random number generator. Defaults to 0.
Example
>>> from evalml.pipelines.component_graph import ComponentGraph >>> from evalml.pipelines.components.estimators.classifiers.decision_tree_classifier import DecisionTreeClassifier >>> from evalml.pipelines.components.estimators.classifiers.elasticnet_classifier import ElasticNetClassifier ... >>> component_graph = { ... "Decision Tree": [DecisionTreeClassifier(random_seed=3), "X", "y"], ... "Decision Tree B": [DecisionTreeClassifier(random_seed=4), "X", "y"], ... "Stacked Ensemble": [ ... StackedEnsembleClassifier(n_jobs=1, final_estimator=DecisionTreeClassifier()), ... "Decision Tree.x", ... "Decision Tree B.x", ... "y", ... ], ... } ... >>> cg = ComponentGraph(component_graph) >>> assert cg.default_parameters == { ... 'Decision Tree Classifier': {'criterion': 'gini', ... 'max_features': 'auto', ... 'max_depth': 6, ... 'min_samples_split': 2, ... 'min_weight_fraction_leaf': 0.0}, ... 'Stacked Ensemble Classifier': {'final_estimator': ElasticNetClassifier, ... 'n_jobs': -1}}
Attributes
hyperparameter_ranges
{}
model_family
ModelFamily.ENSEMBLE
modifies_features
True
modifies_target
False
name
Stacked Ensemble Classifier
supported_problem_types
[ ProblemTypes.BINARY, ProblemTypes.MULTICLASS, ProblemTypes.TIME_SERIES_BINARY, ProblemTypes.TIME_SERIES_MULTICLASS,]
training_only
False
Methods
Constructs a new component with the same parameters and random state.
Returns the default parameters for stacked ensemble classes.
Describe a component and its parameters.
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
Fits estimator to data.
Loads component at file path.
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
Returns the parameters which were used to initialize the component.
Make predictions using selected features.
Make probability estimates for labels.
Saves component at file path.
- clone(self)#
Constructs a new component with the same parameters and random state.
- Returns
A new instance of this component with identical parameters and random state.
- default_parameters(cls)#
Returns the default parameters for stacked ensemble classes.
- Returns
default parameters for this component.
- Return type
dict
- describe(self, print_name=False, return_dict=False)#
Describe a component and its parameters.
- Parameters
print_name (bool, optional) – whether to print name of component
return_dict (bool, optional) – whether to return description as dictionary in the format {“name”: name, “parameters”: parameters}
- Returns
Returns dictionary if return_dict is True, else None.
- Return type
None or dict
- property feature_importance(self)#
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
- fit(self, X, y=None)#
Fits estimator to data.
- Parameters
X (pd.DataFrame) – The input training data of shape [n_samples, n_features].
y (pd.Series, optional) – The target training data of length [n_samples].
- Returns
self
- static load(file_path)#
Loads component at file path.
- Parameters
file_path (str) – Location to load file.
- Returns
ComponentBase object
- needs_fitting(self)#
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
This can be overridden to False for components that do not need to be fit or whose fit methods do nothing.
- Returns
True.
- property parameters(self)#
Returns the parameters which were used to initialize the component.
- predict(self, X)#
Make predictions using selected features.
- Parameters
X (pd.DataFrame) – Data of shape [n_samples, n_features].
- Returns
Predicted values.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict method or a component_obj that implements predict.
- predict_proba(self, X)#
Make probability estimates for labels.
- Parameters
X (pd.DataFrame) – Features.
- Returns
Probability estimates.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict_proba method or a component_obj that implements predict_proba.
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
Saves component at file path.
- Parameters
file_path (str) – Location to save file.
pickle_protocol (int) – The pickle data stream format.
- class evalml.pipelines.components.ensemble.StackedEnsembleRegressor(final_estimator=None, n_jobs=- 1, random_seed=0, **kwargs)[source]#
Stacked Ensemble Regressor.
- Parameters
final_estimator (Estimator or subclass) – The regressor used to combine the base estimators. If None, uses ElasticNetRegressor.
n_jobs (int or None) – Integer describing level of parallelism used for pipelines. None and 1 are equivalent. If set to -1, all CPUs are used. For n_jobs greater than -1, (n_cpus + 1 + n_jobs) are used. Defaults to -1. - Note: there could be some multi-process errors thrown for values of n_jobs != 1. If this is the case, please use n_jobs = 1.
random_seed (int) – Seed for the random number generator. Defaults to 0.
Example
>>> from evalml.pipelines.component_graph import ComponentGraph >>> from evalml.pipelines.components.estimators.regressors.rf_regressor import RandomForestRegressor >>> from evalml.pipelines.components.estimators.regressors.elasticnet_regressor import ElasticNetRegressor ... >>> component_graph = { ... "Random Forest": [RandomForestRegressor(random_seed=3), "X", "y"], ... "Random Forest B": [RandomForestRegressor(random_seed=4), "X", "y"], ... "Stacked Ensemble": [ ... StackedEnsembleRegressor(n_jobs=1, final_estimator=RandomForestRegressor()), ... "Random Forest.x", ... "Random Forest B.x", ... "y", ... ], ... } ... >>> cg = ComponentGraph(component_graph) >>> assert cg.default_parameters == { ... 'Random Forest Regressor': {'n_estimators': 100, ... 'max_depth': 6, ... 'n_jobs': -1}, ... 'Stacked Ensemble Regressor': {'final_estimator': ElasticNetRegressor, ... 'n_jobs': -1}}
Attributes
hyperparameter_ranges
{}
model_family
ModelFamily.ENSEMBLE
modifies_features
True
modifies_target
False
name
Stacked Ensemble Regressor
supported_problem_types
[ ProblemTypes.REGRESSION, ProblemTypes.TIME_SERIES_REGRESSION,]
training_only
False
Methods
Constructs a new component with the same parameters and random state.
Returns the default parameters for stacked ensemble classes.
Describe a component and its parameters.
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
Fits estimator to data.
Loads component at file path.
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
Returns the parameters which were used to initialize the component.
Make predictions using selected features.
Make probability estimates for labels.
Saves component at file path.
- clone(self)#
Constructs a new component with the same parameters and random state.
- Returns
A new instance of this component with identical parameters and random state.
- default_parameters(cls)#
Returns the default parameters for stacked ensemble classes.
- Returns
default parameters for this component.
- Return type
dict
- describe(self, print_name=False, return_dict=False)#
Describe a component and its parameters.
- Parameters
print_name (bool, optional) – whether to print name of component
return_dict (bool, optional) – whether to return description as dictionary in the format {“name”: name, “parameters”: parameters}
- Returns
Returns dictionary if return_dict is True, else None.
- Return type
None or dict
- property feature_importance(self)#
Not implemented for StackedEnsembleClassifier and StackedEnsembleRegressor.
- fit(self, X, y=None)#
Fits estimator to data.
- Parameters
X (pd.DataFrame) – The input training data of shape [n_samples, n_features].
y (pd.Series, optional) – The target training data of length [n_samples].
- Returns
self
- static load(file_path)#
Loads component at file path.
- Parameters
file_path (str) – Location to load file.
- Returns
ComponentBase object
- needs_fitting(self)#
Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances.
This can be overridden to False for components that do not need to be fit or whose fit methods do nothing.
- Returns
True.
- property parameters(self)#
Returns the parameters which were used to initialize the component.
- predict(self, X)#
Make predictions using selected features.
- Parameters
X (pd.DataFrame) – Data of shape [n_samples, n_features].
- Returns
Predicted values.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict method or a component_obj that implements predict.
- predict_proba(self, X)#
Make probability estimates for labels.
- Parameters
X (pd.DataFrame) – Features.
- Returns
Probability estimates.
- Return type
pd.Series
- Raises
MethodPropertyNotFoundError – If estimator does not have a predict_proba method or a component_obj that implements predict_proba.
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
Saves component at file path.
- Parameters
file_path (str) – Location to save file.
pickle_protocol (int) – The pickle data stream format.