Spec-Zone.ru › scikit-learn

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API