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