MetadataRouter#

class sklearn.utils.metadata_routing.MetadataRouter(owner)#

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

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

Added in version 1.3.

Parameters:
ownerstr

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

add(*, method_mapping, **objs)#

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

Parameters:
method_mappingMethodMapping

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

**objsdict

一个对象字典,通过调用 get_routing_for_object 从中提取元数据。

Returns:
selfMetadataRouter

返回 self

add_self_request(obj)#

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

如果路由器也是一个消费者,因此路由器本身需要包含在路由中,则使用此方法。传递的对象可以是估计器或 MetadataRequest

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

Parameters:
objobject

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

Returns:
selfMetadataRouter

返回 self

consumes(method, params)#

检查给定的参数是否被给定的方法消耗。

Added in version 1.4.

Parameters:
methodstr

要检查的方法的名称。

paramsiterable of str

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

Returns:
consumedset of str

被给定方法消耗的参数集合。

route_params(*, caller, params)#

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

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

如果路由器也是一个消费者,它还会检查 self 的/消费者的请求元数据的警告。

Parameters:
callerstr

请求和路由参数的方法的名称。如果在路由器的 fit 方法中调用,则为 "fit"

paramsdict

提供的元数据的字典。

Returns:
paramsBunch

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

validate_metadata(*, method, params)#

验证给定方法的元数据。

如果传递的某些元数据不被子对象理解,则会引发 TypeError

Parameters:
methodstr

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

paramsdict

提供的元数据字典。