使用tsfresh提取特征时提示feature_calculators无absolute_maximum属性如何解决
问题原因
这个报错是tsfresh版本与你使用的特征名不匹配导致的,tsfresh在版本迭代中调整了部分特征计算器的函数命名,你使用的absolute_maximum、count_above是0.19.0之后版本的新命名,你本地安装的是更低版本的tsfresh,旧版本的特征计算模块中不存在这两个命名的函数。
解决方法
方案1:适配当前版本的特征名
执行pip show tsfresh确认本地版本后,运行以下代码查看当前版本支持的所有合法特征名:from tsfresh.feature_extraction import ComprehensiveFCParameters print(ComprehensiveFCParameters().keys())在输出中搜索你需要的特征对应的旧命名:
- 绝对最大值特征在旧版本中命名为
abs_max,可直接替换配置中的absolute_maximum - 自定义阈值的超阈值计数特征在旧版本中命名为
greater_than,参数格式和count_above一致,替换后即可正常使用
- 绝对最大值特征在旧版本中命名为
方案2:升级tsfresh到最新版本
执行命令升级到最新正式版,即可直接使用你当前写的特征名:pip install --upgrade tsfresh
额外注意事项
你的代码中存在变量名覆盖问题:你用导入的特征提取函数名extract_features作为接收结果的变量名,会覆盖原函数对象,后续如果需要再次调用提取函数会报错,建议把返回值变量名改为extracted_features之类的其他名称。
内容的提问来源于stack exchange,提问作者user306204
相关产品推荐
相关产品推荐

