使用 tsfresh 仅选择一定数量的顶级功能

Selecting only a certain number of top features using tsfresh

如何使用 tsfresh select 时间序列的前 n 个特征?我可以决定要提取的顶级特征的数量吗?

根据@Chaitra和this answer的上述评论,我给出了答案。

您可以使用文档 here 中描述的 tsfresh 相关性 table 来决定热门功能的数量。然后,您可以按 p 值和顶部 n 特征对 table 进行排序。

示例代码打印前 11 个特征:

from tsfresh import extract_features
from tsfresh.feature_selection.relevance import calculate_relevance_table

extracted_features = extract_features(
    X,
    column_id="id",
    column_kind="kind",
    column_value="value",
)
relevance_table = calculate_relevance_table(extracted_features, y)
relevance_table = relevance_table[relevance_table.relevant]
relevance_table.sort_values("p_value", inplace=True)
print(relevance_table.loc["feature"][:11])