get_routing_for_object#
- sklearn.utils.metadata_routing.get_routing_for_object(obj=None)[source]#
Get a
Metadata{Router, Request}instance from the given object.This function returns a
MetadataRouteror aMetadataRequestfrom the given input.This function always returns a copy or a new instance constructed from the input, such that changing the output of this function will not change the original object.
Added in version 1.3.
- Parameters:
- objobject
- If the object provides a
get_metadata_routingmethod, return a copy of the output of that method.
- If the object provides a
- If the object is already a
MetadataRequestor aMetadataRouter, return a copy of that.
- Returns an empty
MetadataRequest otherwise.
- Returns an empty
- Returns:
- objMetadataRequest or MetadataRouter
A
MetadataRequestor aMetadataRoutertaken or created from the given object.
Examples
>>> from sklearn.datasets import make_classification >>> from sklearn.pipeline import Pipeline >>> from sklearn.preprocessing import StandardScaler >>> from sklearn.linear_model import LogisticRegressionCV >>> from sklearn.utils.metadata_routing import get_routing_for_object >>> X, y = make_classification() >>> pipe = Pipeline( ... [("scaler", StandardScaler()), ("lr_cv", LogisticRegressionCV())] ... ) >>> pipe.fit(X, y) Pipeline(steps=[('scaler', StandardScaler()), ('lr_cv', LogisticRegressionCV())]) >>> type(get_routing_for_object(pipe)) <class 'sklearn.utils._metadata_requests.MetadataRouter'> >>> type(get_routing_for_object(pipe.named_steps.scaler)) <class 'sklearn.utils._metadata_requests.MetadataRequest'> >>> type(get_routing_for_object(pipe.named_steps.lr_cv)) <class 'sklearn.utils._metadata_requests.MetadataRouter'>