入门数据挖掘-心电图信号预测datawhale组队学习笔记-task3

入门数据挖掘-心电图信号预测-Task3 特征工程

    • 1. 数据预处理
    • 2. 使用tsfresh进行时间序列特征处理
      • 2.1 Tsfresh
      • 2.2 去除NaN值
      • 2.3 计算特征与响应变量的相关性并选择特征

[1] 本文参考datawhale组队学习
Task3 特征工程

1. 数据预处理

  • 对心电特征进行行转列处理,同时为每个心电信号加入时间步特征time
train_heartbeat_df = data_train["heartbeat_signals"].str.split(",", expand=True).stack()
train_heartbeat_df = train_heartbeat_df.reset_index()
train_heartbeat_df = train_heartbeat_df.set_index("level_0")
train_heartbeat_df.index.name = None
train_heartbeat_df.rename(columns={"level_1":"time", 0:"heartbeat_signals"}, inplace=True)
train_heartbeat_df["heartbeat_signals"] = train_heartbeat_df["heartbeat_signals"].astype(float)train_heartbeat_df
  • 将处理后的心电特征加入到训练数据中,同时将训练数据label列单独存储
  • 使每个样本的心电特征都由205个时间步的心电信号组成。

2. 使用tsfresh进行时间序列特征处理

2.1 Tsfresh

特征抽取 **Tsfresh(TimeSeries Fresh)**可以自动计算大量的时间序列数据的特征。此外,该包还包含了特征重要性评估、特征选择的方法,因此,可应用于:基于时序数据的分类问题和回归问题的特征提取。

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

2.2 去除NaN值

from tsfresh.utilities.dataframe_functions import impute# 去除抽取特征中的NaN值
impute(train_features)

2.3 计算特征与响应变量的相关性并选择特征

from tsfresh import select_features# 按照特征和数据label之间的相关性进行特征选择
train_features_filtered = select_features(train_features, data_train_label)train_features_filtered


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部