y_inner_mtype#

y_inner_mtype()[源代码][源代码]#

变压器内部可以处理的机器类型(s) 用于 y。

  • 字符串名称: "y_inner_mtype"

  • 扩展开发者标签

  • 值:字符串或字符串列表,来自 mtype 字符串列表

  • 示例: "pd.DataFrame"

  • 默认值:特定于估计器类型,请参阅扩展模板

sktime 中的估计器支持多种输入数据类型,遵循多种可能的机器类型之一,简称:mtype 规范。

在内部,估计器可能只支持这些类型的一个子集,例如由于估计器的实现,或者由于与使用特定数据格式的外部库的接口。

sktime 扩展契约允许扩展者指定内部的 mtype 支持,在这种情况下,扩展者需要实现的方法通过执行必要的转换和强制来保证参数的类型正确。

例如,一个实现 _fit 方法并带有 X 参数且 X_inner_mtype 设置为 "pd.DataFrame" 的扩展器可以假设 X 参数遵循 pd.DataFrame mtype 规范 - 而用户可以将任何支持的 mtype 传递给公共 fit 方法。

名为 X_inner_mtypey_inner_mtype 等的标签,将此规范应用于方法签名中的相应参数。

使用“inner mtype”标签的四种主要模式如下:

  • 指定一个单一的字符串。在这种情况下,内部方法将提供指定机器类型的输入给扩展器。

  • 指定一个字符串列表,这些字符串属于相同的 :mtype:`scitype`。在这种情况下,样板层将首先尝试在列表中找到第一个 mtype

  • 指定一个字符串列表,所有字符串的 :mtype:`scitype` 都不同。这将把输入转换为相同 scitype 的 mtype。如果实现者希望在内部处理 scitype 广播,这尤其有用,在这种情况下,建议指定类似的 mtypes,例如 "pd.DataFrame""pd-multiindex""pd_multiindex_hier",这些 mtypes 允许同时处理不同类型。

  • 通过将默认值设置为 datatypes 模块中的 ALL_TIME_SERIES_MTYPES 等列表,指定所有可能的 mtypes。由于所有 mtypes 都受支持,输入将直接传递给 _fit 等,而无需任何转换和强制。这对于复合组件非常有用,扩展者希望确保组件应执行必要的转换和强制。

更一般地,对于任意类型的列表,样板逻辑将:

  • 首先检查输入的 mtype 是否在列表中。如果是,输入将原样传递。

  • 如果输入的 mtype 不在列表中,boilerplate 将尝试识别与输入相同 scitype 的第一个 mtype,并强制转换为该类型。

  • 如果没有找到相同 scitype 的 mtype,它将尝试强制转换为“最简单”的相邻 scitype,例如,从 "pd.DataFrame" 转换为 "pd-multiindex"

在所有情况下,顺序都很重要,因为列表中的第一个mtype将用作转换的目标类型。