直观感受一下各类心电图的特征。首先,我通过两个函数,分别用于筛选各类别样本,和画图。
def data_query(datain, category):
data = train.query(‘label==@category’).drop([‘id’,‘label’], axis=1).reset_index(drop=True)
print(f’Shape of category {category} is {data.shape}’)
return data
def plot_test01(data, isample=4, icategory=0):
data.loc[isample].plot(), data.mean().plot()
plt.legend(labels=[str(isample), ‘average’])
plt.title(f’Category {icategory}’)
上图中,蓝色为单个类别样本,黄色为该类别样本的平均。可以发现:类别0包含明显的上升和下降阶段,这类别样本最多,也跟平时所认知的正常心电图相似。而其他三类则与类别0存在明显差别,例如:类别2的脉动明显较弱(可能是心衰),类别3的舒张和收缩时间较短(可能是房颤),类别3的单样本和总体平均都明显给出双峰分布(可能是早搏或者房扑)。此外,还可以看出,很多样本在s_150之后都被填充为0,尤其是类别3,说明医生通过前期心电图已经确诊了疾病种类,即患病特征已经明显记录,因此中断了检测。
正常心电图,来源:https://zhidao.baidu.com/question/2073687571868438228.html