在python中使用tsfresh检索特定功能

在python中使用tsfresh检索特定功能,python,Python,我是一个使用英语的初学者。我用它从时间序列中提取特征。使用下面的代码(tsfresh网站的示例代码)可以为一个名为F_x的特性提供97个新特性(F_x_uuAbs_u能量、F_x_u范围、F_u计数、F_u最大值、F_u最小值、F_x方差、F_x_u标准偏差等)。但我不需要所有的。假设我只想计算F_x_u方差和F_x_u标准差。我应该在下面的代码中更改什么 from tsfresh import extract_relevant_features from tsfresh.feature_ext

我是一个使用英语的初学者。我用它从时间序列中提取特征。使用下面的代码(tsfresh网站的示例代码)可以为一个名为F_x的特性提供97个新特性(F_x_uuAbs_u能量、F_x_u范围、F_u计数、F_u最大值、F_u最小值、F_x方差、F_x_u标准偏差等)。但我不需要所有的。假设我只想计算F_x_u方差和F_x_u标准差。我应该在下面的代码中更改什么

from tsfresh import extract_relevant_features
from tsfresh.feature_extraction import ComprehensiveFCParameters
settings = ComprehensiveFCParameters()

features_filtered_direct = extract_relevant_features(df, y, column_id='id', column_sort='time')

我也阅读了文档,但我没有找到具体的方法来做这件事,或者可能是作为初学者我不理解。如果我的网站有错,请纠正我。

因此,您可以做两件事:

  • 设置特征提取程序的参数。这可以通过在提取特征功能中设置参数“default\u fc\u parameters”来完成。您可以使用预定义的设置。您还可以制作自己的版本并将其传递给函数。预定义的参数是“综合EFC参数”、“最小FCParameters”和“高效CPA参数”。下面是一个如何实现这一点的示例:

    from tsfresh.feature_extraction import ComprehensiveFCParameters 
    from tsfresh.feature_extraction import extract_feature 
    settings = ComprehensiveFCParameters() 
    extract_features(df, default_fc_parameters=settings)
    
    类似地,您可以将感兴趣的功能定义为字典,并将其作为“种类到功能参数”传递给提取功能。请看下面的示例:

    kind_to_fc_parameters = {
    "F_x": {"mean": None, "std": None, "Variance": None} , "F_y" ={"min": None , "max": None }}
    extract_features(df, kind_to_fc_parameters =kind_to_fc_parameters)
    
  • 获取所有功能,然后过滤掉您感兴趣的功能。提取功能的输出是一个数据框,因此您可以只过滤掉您感兴趣的特定列。以下是一个例子:

      import pandas as pd
      from tsfresh.examples.robot_execution_failures import download_robot_execution_failures, load_robot_execution_failures
      from tsfresh import extract_features download_robot_execution_failures()
      timeseries, y = load_robot_execution_failures()
      extracted_features = extract_features(timeseries, column_id="id", column_sort="time")
      print(extracted_features["F_x__abs_energy"])
    
  • 有关更多信息,请查看