tsfresh中利用select_features函数提取并过滤时间序列特征,所有特征被过滤掉的解决办法

首先利用tsfresh中的 extract_features 函数提取时间特征,

#特征提取
import tsfresh
from tsfresh import extract_features
extracted_features=extract_features(cdata_1,column_id='id',column_sort='time')

在这里插入图片描述
过滤特征之前要先去除非数(NaN)
利用impute函数

#特征过滤
from tsfresh import select_features
from tsfresh.utilities.dataframe_functions import impute
impute(extracted_features)

在这里插入图片描述
然后利用select_features函数过滤特征

可以看到所有特征都被过滤掉了,一个有用的特征都没能留下来

features_filtered=select_features(extracted_features,y)

在这里插入图片描述

解决办法:
select_features函数中加入fdr_level参数

  features_filtered=select_features(extracted_features,y,fdr_level=0.5)

原因:fdr_level参数默认值为fdr_level=defaults.FDR_LEVEL
即0.05
这里的0.05相当于统计学中的p值,表示用于特征过滤的一个标准(阈值),值越小,特征过滤越严格,保留下来的特征越少,所以调高fdr_level即可保留下来更多特征.(这里调整为0.5,也可以调的更高)

效果如图所示:
在这里插入图片描述
参考资料:tsfresh_manual

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值