BaseEstimator (original) (raw)

class sklearn.base.BaseEstimator[source]#

Base class for all estimators in scikit-learn.

Inheriting from this class provides default implementations of:

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_params(**params)[source]#

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.