数据挖掘天池竞赛——心电图心跳信号多分类预测Task3特征工程

该博客介绍了如何利用TSFRESH库对心电数据进行特征工程处理,包括行转列、添加时间步特征、特征抽取、缺失值处理和特征选择。通过MinimalFCParameters加速特征提取,并依据特征与标签的相关性筛选特征,为后续的模型训练做好准备。
摘要由CSDN通过智能技术生成

特征过程


详细部分,后续再补
记录代码部分

#导包
import pandas as pd
import numpy as np
import tsfresh as tsf
from tsfresh import extract_features, select_features
from tsfresh.utilities.dataframe_functions import impute

数据之前已经导入过

# 对心电特征进行行转列处理,同时为每个心电信号加入时间步特征time
train_heartbeat_df = 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列单独存储
data_train_label = train["label"]
data_train = train.drop("label", axis=1)
data_train = train.drop("heartbeat_signals", axis=1)
data_train = data_train.join(train_heartbeat_df)

data_train

特征抽取
由于电脑配置不够,所以在baseline给出的代码中加入了MinimalFCParameters(),运行速度大大加快

from tsfresh.feature_extraction import extract_features, MinimalFCParameters
train_features = extract_features(data_train,default_fc_parameters=MinimalFCParameters(), column_id='id', column_sort='time')
train_features

去除nan值

from tsfresh.utilities.dataframe_functions import impute
impute(train_features)

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

train_features_filtered

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值