元数据路由器#

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

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

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

版本 1.3 中新增。

参数:
ownerstr

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

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

添加命名对象及其对应的method mapping。

参数:
method_mappingMethodMapping

子对象和父对象方法之间的映射。

**objsdict

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

返回:
selfMetadataRouter

返回self

add_self_request(obj)[source]#

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

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

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

参数:
objobject

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

返回:
selfMetadataRouter

返回self

consumes(method, params)[source]#

检查给定参数是否被给定方法使用。

版本 1.4 中新增。

参数:
methodstr

要检查的方法名称。

paramsiterable of str

要检查的参数的迭代器。

返回:
consumedset of str

给定方法使用的参数集。

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

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

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

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

参数:
callerstr

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

paramsdict

提供的元数据字典。

返回:
paramsBunch

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

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

验证给定方法的元数据。

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

参数:
methodstr

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

paramsdict

提供的元数据字典。