首页 > 解决方案 > 如何使 tsfresh.extract_features 工作?

问题描述

tsfresh是一个用于时间序列分析的库。我正在尝试完成他们文档中的快速入门指南,但提供的代码似乎不起作用。

import matplotlib.pyplot as plt
from tsfresh import extract_features, select_features
from tsfresh.utilities.dataframe_functions import impute
from tsfresh.examples.robot_execution_failures import download_robot_execution_failures, \
    load_robot_execution_failures

download_robot_execution_failures()
timeseries, y = load_robot_execution_failures()

extracted_features = extract_features(timeseries,
                                      column_id="id",
                                      column_sort="time")

输出:

Feature Extraction:   0%|          | 0/20 [00:00<?, ?it/s]

这就是tsfresh卡住的地方。它似乎在后台做某事,但没有通过 0%。我究竟做错了什么?

标签: python-3.x

解决方案


有几个问题提到了这个问题(参见#400#402#456#490)。对我来说,示例笔记本的行为各extract_feature不相同,其中一些给我的错误与您提到的相同。在#490之后,关闭多处理并n_jobs=0修复了我的大部分问题,例如:

extracted_features = extract_features(timeseries,
                                      column_id="id",
                                      column_sort="time",
                                      n_jobs=0)

注意:

  • 尽管 issue #490 提到了 Windows,但我在 MacOS 10.15 上就是这种情况
  • 尽管正在进行处理,但进度条有时仍停留在 0%

推荐阅读