炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease

一、数据集

 

在阅读心血管疾病相关的论文中,发现以下论文中所使用的公开数据集,因此选用此数据集来进行复现,以及在复现的基础上实现突破

参考论文:心血管疾病预测模型的研究_朱宵彤心血管疾病预测模型的研究 - 中国知网

数据集来源:

本论文中用到的数据集取自UCI机器学习数据库https://archive.ics.uci.edu/ml/datasets.php)中的用于心血管疾病预测的Heart Disease数据集UCI Machine Learning Repository

  • 据集的详细介绍见: http://t.csdn.cn/doUMJ

  • 数据集属性说明: http://t.csdn.cn/zScIP

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第1张图片

Heart disease数据集下载地址:UCI Machine Learning Repository

数据集的预处理

以该数据集为例进行实验:processed.cleveland.csv

参考:http://t.csdn.cn/doUMJ

  1. 查看原始数据的维度【数据的维度是(302,14)】


# 查看原始数据的维度,原始数据集是.data文件
import pandas as pd
data=pd.read_csv('data/processed.cleveland.data')
print(data.shape)
print(data.head())
  1. 把data文件转为 csv文件并加上表头


import pandas as pd
#读取data文件,指定属性
data=pd.read_table('data/processed.cleveland.data',names=['age','sex','cp','trestbps','chol','fbs','restecg','thalach','exang','oldpeak','slope','ca','thal','target'],sep=',')
#生成csv文件
data.to_csv('data/processed.cleveland.csv',index=False)
炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第2张图片
  1. 对csv文件进行分析

对某列数据进行处理参考内容:http://t.csdn.cn/jF9g5

缺失值的处理:对存在的'?'进行处理(还需进一步的学习,而不是删除后再处理

缺失值的处理有多种方式,这里采取的是删除缺失值所在的行论文中对缺失值的处理为:

缺失值填充 对于缺失的特征属性有4种解决方案:使用缺失值所在数据之外的同一属性平均值来进行填充;使用其他数据库相似样本的平均值填充;使用算法来生成数据;舍弃带有缺失属性的样本。考虑到原始数据样本数量有限,故选择第一种方案,使用其他数据的同一属性均值填充。而对于缺失标签属性的数据,由于标签代表着最终的结果,与其他属性不同,所以无法对其进行填充,本文中对于这类数据选择直接舍弃。

将thal指标用0,1, 2替换,target指标用0 ,1(1 2 3 4)替换,方便做二分类

数据预处理过程代码实现


# 数据分析
import pandas as pd
import ydata_profiling
df=pd.read_csv('processed.cleveland.csv')
print(df.head())
#(303,14)增加了一行表头
print(df.shape)
# 查看数据集的基本信息
# print(df.info())

# 查看缺失值,然后显示都没有缺失值,但是问号要处理掉,所以手动打开了文件把?删除,再查看缺失值就存在了
# 处理后的文件保存为data/processed.cleveland.csv
# print(df.isnull())
print(df.isnull().any())

# 删除缺失值所在的行
# df.dropna(axis=0)

#指标的替换
df=df.replace({"thal":{3.0:0,6.0:1,7.0:2}})
df=df.replace({"target":{2:1,3:1,4:1}})
#查看
print(df.head())
df.isnull().any()
df=df.dropna()
# 数据预览分析
ydata_profiling.ProfileReport(df)

数据预览分析详细说明

  • age-年龄

后续可以筛选>=50的age,进行老年人慢性病的预测

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第3张图片
  • sex-性别 (1 =男性; 0 =女性)

男:女=206:97

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第4张图片
  • cp-胸痛类型(4个值,值1:典型的心绞痛,值2:非典型心绞痛,值3:非心绞痛,值4:无症状)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第5张图片
  • trestbps-患者入院时的静息血压(单位:mm Hg)(单位:mm Hg)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第6张图片
  • chol-血清胆固醇水平(单位:mg / dl)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第7张图片
  • fbs-空腹血糖(> 120 mg / dl ,1=真;0=假)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第8张图片
  • restecg-静息心电图结果(值0:正常,值1:有ST-T波异常(T波倒置和/或ST升高或降低> 0.05 mV),值2:根据Estes的标准显示可能或确定的左心室肥大)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第9张图片
  • thalach-达到的最大心率

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第10张图片
  • exang-运动引起的心绞痛(1 =是; 0 =否)

炮炮寻找数据集的坎坷之路2——UCI数据集Heart Disease_第11张图片
  • oldpeak-运动相对于休息引起的ST压低

你可能感兴趣的:(大炮的深度学习,深度学习,人工智能,神经网络)