MetadataRouter#

class sklearn.utils.metadata_routing.MetadataRouter(owner)[源]#

存储并处理路由对象的元数据路由。

此类别用于路由对象,以存储和处理元数据路由。路由信息以字典形式存储,格式为 {"object_name": RouteMappingPair(method_mapping, routing_info)},其中 method_mappingMethodMapping 的实例,而 routing_info 则是 MetadataRequestMetadataRouter 的实例。

在 1.3 版本中添加。

参数:
ownerstr

这些请求所属对象的名称。

add(*, method_mapping, **objs)[源]#

添加具名对象及其相应的方法映射。

参数:
method_mappingMethodMapping

子方法与父方法之间的映射。

**objsdict

一个对象字典,通过在其上调用 get_routing_for_object 来提取元数据。

返回:
selfMetadataRouter

返回 self

add_self_request(obj)[源]#

self(作为消费者)添加到路由中。

当路由对象也是消费者时,使用此方法,因此路由对象本身需要包含在路由中。传入的对象可以是估算器或 MetadataRequest 的实例。

路由对象应使用此方法而不是 add 方法来添加自身,因为它应与路由对象路由元数据的其他对象区别对待。

参数:
objobject

这通常是路由对象实例,即 `get_metadata_routing()` 实现中的 self。它也可以是 MetadataRequest 实例。

返回:
selfMetadataRouter

返回 self

consumes(method, params)[源]#

检查给定方法是否消费了给定参数。

在 1.4 版本中添加。

参数:
methodstr

要检查的方法名称。

paramsstr 的可迭代对象

要检查的参数的可迭代对象。

返回:
consumedstr 的集合

给定方法所消费的参数集合。

route_params(*, caller, params)[源]#

返回子对象请求的输入参数。

此方法的输出是一个 Bunch 对象,其中包含路由对象 caller 方法中使用的每个子对象的所有方法的元数据。

如果路由对象也是消费者,它还会检查 `self` /消费者的请求元数据是否存在警告。

参数:
callerstr

请求和路由参数的方法名称。如果在路由对象的 fit 方法内部调用,则为 "fit"

paramsdict

提供的元数据字典。

返回:
paramsBunch

一个 Bunch 对象,其形式为 {"object_name": {"method_name": {params: value}}},可用于将所需的元数据传递给相应的方法或相应的子对象。

validate_metadata(*, method, params)[源]#

验证给定方法的元数据。

如果子对象无法理解传入的某些元数据,此方法会引发 TypeError

参数:
methodstr

请求和路由参数的方法名称。如果在路由对象的 fit 方法内部调用,则为 "fit"

paramsdict

提供的元数据字典。