2021-03-22

本次学习的是特征工程,且主打的是时间序列相关的特征。主要学习了tsfresh包中的extract_features,select_features,impute 三个函数的使用。

其中,extract_features的功能是对一个已经整理成样本id,时间,数值形式的df进行特征提取,提取出时间序列相关的特征。使用方式是extract_features(df,column_id = 样本id,column_sort = 'time')

impute的功能是剔除生成特征中的Nan值,因为extract_features会生成固定的一组特征,其中有些特征对于输入数据的数据类型不适用,会产生Nan值。使用方法是impute(特征df)

select_features的功能是从大量特征中寻找有用特征,使用方法是select_features(特征df,y值df)

 

另外,为了把df处理成extract_features函数可用的形式,需要数据预处理,流程如下:

1.把df中的样本拍平,做成样本id,数值形式的series
train_heartbeat_df = data_train["heartbeat_signals"].str.split(",", expand=True).stack()
2.把series增加上index,变回df
train_heartbeat_df = train_heartbeat_df.reset_index()
3.把level_0列变成index。level_0列实际上是样本id
train_heartbeat_df = train_heartbeat_df.set_index("level_0")
4.把上一步得到的index的名称去掉
train_heartbeat_df.index.name = None
5.把剩余两列列名进行修改
train_heartbeat_df.rename(columns={"level_1":"time", 0:"heartbeat_signals"}, inplace=True)
6.把数值列从string改成float格式
train_heartbeat_df["heartbeat_signals"] = train_heartbeat_df["heartbeat_signals"].astype(float)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值