BaseEstimator (original) (raw)
class sklearn.base.BaseEstimator[source]#
Base class for all estimators in scikit-learn.
Inheriting from this class provides default implementations of:
- setting and getting parameters used by
GridSearchCV
and friends; - textual and HTML representation displayed in terminals and IDEs;
- estimator serialization;
- parameters validation;
- data validation;
- feature names validation.
Read more in the User Guide.
Notes
All estimators should specify all the parameters that can be set at the class level in their __init__
as explicit keyword arguments (no *args
or **kwargs
).
Examples
import numpy as np from sklearn.base import BaseEstimator class MyEstimator(BaseEstimator): ... def init(self, *, param=1): ... self.param = param ... def fit(self, X, y=None): ... self.is_fitted_ = True ... return self ... def predict(self, X): ... return np.full(shape=X.shape[0], fill_value=self.param) estimator = MyEstimator(param=2) estimator.get_params() {'param': 2} X = np.array([[1, 2], [2, 3], [3, 4]]) y = np.array([1, 0, 1]) estimator.fit(X, y).predict(X) array([2, 2, 2]) estimator.set_params(param=3).fit(X, y).predict(X) array([3, 3, 3])
get_metadata_routing()[source]#
Get metadata routing of this object.
Please check User Guide on how the routing mechanism works.
Returns:
routingMetadataRequest
A MetadataRequest encapsulating routing information.
get_params(deep=True)[source]#
Get parameters for this estimator.
Parameters:
deepbool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns:
paramsdict
Parameter names mapped to their values.
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter>
so that it’s possible to update each component of a nested object.
Parameters:
**paramsdict
Estimator parameters.
Returns:
selfestimator instance
Estimator instance.