各位朋友大家好,今天给大家带来利用数据科学对生物医学信号的挖掘。人体是我们朝夕相处的自身系统,他/她每天都在产生着各种各样的生物电信号,这些信号包括心电图,脑电图,肌电图等等,当然也包括其它一些有节律的数据信息比如:呼吸节律,声音频率,体温变化等等。今天我们以生物医学电信号中的心电图为例,把python全代码分享给大家,希望大家能好好利用,多多研究。
心电信号是一种一维的生物电信号,数据科学或者说数学中的维度,和物理学上的维度不是一个概念,数据科学中谈到的维度指的是一种度量(距离、大小或任何区域或空间的度量)。0维就是一点,没有办法进行度量。一维就是在点的基础上画出的一条线,线的长度我们是可以度量的。依次类推,就是二维在x和y轴两个方向进行度量。三维就是在二维的基础上形成长宽高三个方向的度量。
关于什么是心电图,这里就不再多说了,学医的都知道,分为6个波和3个段,P 波、Tp(或Ta)、P-R 间期、QRS、J 点、ST 段、T波、Q-T间期和U 波分别表示心电图中的波和波群。我们今天的数据就是心电图的数据,下载链接在全代码中分享给大家。这次我们采用了lazypredict库,一键跑出27个不同的机器学习模型,之后通过深度学习构建神经网络对异常心电图进行预测。
#首先我们载入相关的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
os.chdir(r"E:\pythoncode2021\xindiantu")
#导入数据,数据的链接给大家:https://www.kaggle.com/shayanfazeli/heartbeat
normal = pd.read_csv('ptbdb_normal.csv')
abnormal = pd.read_csv('ptbdb_abnormal.csv')