MetadataRouter
- classsklearn.utils.metadata_routing.MetadataRouter(owner)[source]
-
Координирует маршрутизацию метаданных для объекта маршрутизатора.
Этот класс используется метаоценивателями или функциями, способными маршрутизировать метаданные, для обработки их маршрутизации. Информация о маршрутизации хранится в структуре, подобной словарю, вида
{"object_name": RouterMappingPair(mapping, router)}, гдеmapping— это экземплярMethodMapping, аrouter— это либоMetadataRequest, либо другой экземплярMetadataRouter.Подробнее о разработке пользовательских оценивателей, способных маршрутизировать метаданные, см. в руководстве по разработке с использованием маршрутизации метаданных.
Добавлено в версии 1.3.
- Параметры:
-
- ownerobject
-
Объект, которому принадлежат эти запросы.
Примеры
>>> from pprint import pprint >>> from sklearn import set_config >>> from sklearn.feature_selection import SelectFromModel >>> from sklearn.linear_model import LinearRegression >>> from sklearn.utils.metadata_routing import MetadataRouter, MethodMapping >>> set_config(enable_metadata_routing=True) >>> meta_estimator = SelectFromModel( ... estimator=LinearRegression().set_fit_request(sample_weight=True) ... ) >>> router = MetadataRouter(owner=meta_estimator).add( ... estimator=meta_estimator.estimator, ... method_mapping=MethodMapping() ... .add(caller="partial_fit", callee="partial_fit") ... .add(caller="fit", callee="fit"), ... ) >>> pprint(router) {'estimator': {'mapping': [{'caller': 'partial_fit', 'callee': 'partial_fit'}, {'caller': 'fit', 'callee': 'fit'}], 'router': {'fit': {'sample_weight': True}, 'score': {'sample_weight': None}}}} >>> set_config(enable_metadata_routing=False)- add(*, method_mapping, **objs)[source]
-
Добавляет потребителей в
MetadataRouter.Оцениватели, потребляющие метаданные, передаются в качестве именованных объектов вместе с сопоставлением методов, которое определяет, как их методы соотносятся с методами маршрутизатора.
- Параметры:
-
- method_mappingMethodMapping
-
Сопоставление методов дочернего объекта (потребителя) и родительского объекта (маршрутизатора).
- **objsdict
-
Словарь объектов, запросы которых извлекаются путем вызова
get_routing_for_objectдля этих объектов.
- Возвращает:
-
- selfMetadataRouter
-
Возвращает
self.
- add_self_request(obj)[source]
-
Добавляет
self(в качестве потребителя) вMetadataRouter.Этот метод используется, если маршрутизатор также является потребителем, поэтому сам маршрутизатор необходимо включить в маршрутизацию. Переданный объект может быть оценивателем или объектом
MetadataRequest.Маршрутизатору следует добавлять себя с помощью этого метода, а не
add, поскольку к нему нужно относиться иначе, чем к другим объектам-потребителям, которым маршрутизатор направляет метаданные.- Параметры:
-
- objobject
-
Обычно это экземпляр маршрутизатора, то есть
selfв реализацииget_metadata_routing(). Также это может быть экземплярMetadataRequest.
- Возвращает:
-
- selfMetadataRouter
-
Возвращает
self.
- consumes(method, params)[source]
-
Возвращает параметры, потребляемые в качестве метаданных маршрутизатором или его подоценивателями.
Этот метод возвращает подмножество
params, которые потребляются объектомmethod. Параметрparamсчитается потребляемым, если он используется в указанном методе самого маршрутизатора или любого из его подоценивателей (либо их подоценивателей).Добавлено в версии 1.4.
- Параметры:
-
- methodstr
-
Имя метода, для которого нужно определить потребляемые параметры.
- paramsiterable of str
-
Итерируемый объект с именами параметров, потребление которых нужно проверить.
- Возвращает:
-
- consumed_paramsset of str
-
Подмножество параметров из
params, потребляемых этим методом.
- route_params(*, caller, params)[source]
-
Получает значения метаданных, запрошенных потребителями.
Возвращает
Bunch, содержащий метаданные, которые методcallerэтого маршрутизатора должен направить, сгруппированные по каждому потребителю и соответствующим ему методам.Это можно использовать для передачи необходимых метаданных соответствующим методам потребителей.
- Параметры:
-
- callerstr
-
Имя метода маршрутизатора, через который направляются метаданные. Например, если вызов выполняется внутри метода fit маршрутизатора, это будет
"fit". - paramsdict
-
Словарь переданных метаданных.
- Возвращает:
-
- paramsBunch
-
Bunchвида{"object_name": {"method_name": {metadata: value}}}.
- validate_metadata(*, method, params)[source]
-
Проверяет переданные метаданные для метода.
Вызывает
TypeError, если некоторые переданные метаданные непонятны дочерним объектам.- Параметры:
-
- methodstr
-
Имя метода маршрутизатора, через который направляются метаданные. Например, если вызов выполняется внутри метода fit маршрутизатора, это будет
"fit". - paramsdict
-
Словарь переданных метаданных.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.utils.metadata_routing.MetadataRouter.html