You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sktime中ShapeletTransform调用set_config开启并行计算遇参数错误

问题

想要对ShapeletTransform执行并行计算,根据文档说明,需要将backend:parallel标志设置为'loky'以激活该类的并行方法。但set_config方法接受**config_dict作为参数,尝试代码如下:

y_transformed = y
    
y_transformed = pd.DataFrame(y.apply(lambda row: pd.Series(row), axis=1))
    
transformer = ShapeletTransform(verbose=1)
dict_config = {
    "backend:parallel": "default=loky"
}
transformer.set_config(dict_config)
    
transformer.get_config()
    
transformer.fit(X_3d, y_transformed)

出现错误:

TypeError                                 Traceback (most recent call last)
\<ipython-input-96-2327096163\> in \<cell line: 0\>()
12     "backend:parallel": "default=loky"
13 }
\---\> 14 transformer.set_config(dict_config)
15 # Get the current configuration
16 transformer.get_config()


TypeError: BaseObject.set_config() takes 1 positional argument but 2 were given

请问该如何正确调用set_config方法以开启并行计算?

解决方案

报错原因是set_config方法接受的是关键字参数,不是直接传入字典对象。你有两种正确的调用方式:

方式一:字典解包传递参数

把字典用**解包后传入set_config,匹配方法对**config_dict参数的要求:

y_transformed = y
y_transformed = pd.DataFrame(y.apply(lambda row: pd.Series(row), axis=1))

transformer = ShapeletTransform(verbose=1)
dict_config = {
    "backend:parallel": "default=loky"
}
# 解包字典作为关键字参数传入
transformer.set_config(**dict_config)

transformer.get_config()
transformer.fit(X_3d, y_transformed)

方式二:初始化时直接指定参数

更简洁的方式是在创建ShapeletTransform实例时,直接把配置项作为关键字参数传入,无需后续调用set_config:

y_transformed = y
y_transformed = pd.DataFrame(y.apply(lambda row: pd.Series(row), axis=1))

# 初始化时直接设置并行后端
transformer = ShapeletTransform(verbose=1, **{"backend:parallel": "default=loky"})
transformer.get_config()
transformer.fit(X_3d, y_transformed)

内容的提问来源于stack exchange,提问作者Echanted Kingdom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:12:32