Spec-Zone.ru › scikit-learn

process_routing

sklearn.utils.metadata_routing.process_routing(_obj, _method, /, **kwargs)[исходный код]

Проверяет и маршрутизирует метаданные.

Эта функция используется внутри метода маршрутизатора, например fit, для проверки метаданных и управления их маршрутизацией.

Предположим, что метод fit маршрутизатора имеет следующую сигнатуру: fit(self, X, y, sample_weight=None, **fit_params), тогда вызов этой функции будет выглядеть так: process_routing(self, "fit", sample_weight=sample_weight, **fit_params).

Внутри функция использует объект MetadataRouter маршрутизатора (возвращаемый вызовом его метода get_metadata_routing), чтобы проверить для каждого метода, что запрошенные метаданные были запрошены нижележащим оценивателем, и извлекает соответствие переданных метаданных запрошенным метаданным на основе информации о маршрутизации, заданной объектом MetadataRouter.

Обратите внимание: если маршрутизация отключена и kwargs пуст, функция возвращает пустую конфигурацию маршрутизации, в которой process_routing(...).ANYTHING.ANY_METHOD всегда является пустым словарём.

Результатом этой функции является Bunch, в котором есть ключ для каждого объекта-получателя, а у этих объектов — ключи для их методов-получателей, содержащие ключи метаданных, которые следует им маршрутизировать.

Подробнее о разработке пользовательских оценивателей, способных маршрутизировать метаданные, читайте в руководстве по разработке маршрутизации метаданных.

Добавлено в версии 1.3.

Параметры:
_objobject

Объект, реализующий get_metadata_routing. Обычно это метаоцениватель.

_methodstr

Имя метода маршрутизатора, внутри которого вызывается эта функция.

**kwargsdict

Метаданные для маршрутизации.

Возвращает:
routed_paramsBunch

Bunch вида {"object_name": {"method_name": {metadata: value}}}, который можно использовать для передачи необходимых метаданных соответствующим методам или соответствующим дочерним объектам. Имена объектов определены в obj.get_metadata_routing().

Примеры

>>> import numpy as np
>>> from sklearn import set_config
>>> from sklearn.utils.metadata_routing import process_routing
>>> from sklearn.linear_model import Ridge
>>> from sklearn.feature_selection import SelectFromModel
>>> set_config(enable_metadata_routing=True)
>>> process_routing(
...     SelectFromModel(Ridge().set_fit_request(sample_weight=True)),
...     "fit",
...     sample_weight=np.array([1, 1, 2]),
... )
{'estimator': {'fit': {'sample_weight': array([1, 1, 2])}}}
>>> set_config(enable_metadata_routing=False)

Примеры из галереи

Разработка оценивателей, совместимых с маршрутизацией метаданных

© 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.process_routing.html

Spec-Zone.ru

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