## 一、数据说明
该心脏病数据集是通过组合 5 个已经独立可用但以前未合并的流行心脏病数据集来策划的。在这个数据集中,5 个心脏数据集结合了 11 个共同特征,使其成为迄今为止可用于研究目的的最大心脏病数据集。
该数据集由 1190 个实例和 11 个特征组成。这些数据集被收集并组合在一个地方,以帮助推进与CAD相关的机器学习和数据挖掘算法的研究,并希望最终推进临床诊断和早期治疗。
## 二、导入包
```python
import numpy as np # 线性代数
import pandas as pd # 数据处理, CSV file I/O (e.g. pd.read_csv)
import warnings
warnings.filterwarnings("ignore")
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
from IPython.core.display import display, HTML
```
## 三、数据集基本信息
### 1、导入数据
```python
df = pd.read_csv("./data/heart_statlog_cleveland_hungary_final.csv")
df.shape
```
![image.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713952117769-4cd352e9-5dae-4055-9204-06d3bb495f62.png#averageHue=%23faf8f6&clientId=u154557ac-bb03-4&from=paste&height=30&id=u2f6f1673&originHeight=37&originWidth=135&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=1707&status=done&style=none&taskId=ud364ad51-dffe-4d63-80b7-071def2617e&title=&width=108)
### 2、数据处理
```python
df.head()
```
![image.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713952291365-830477a1-e39a-451d-abe5-6b4cacbbf3e4.png#averageHue=%23fdfcfb&clientId=u154557ac-bb03-4&from=paste&height=180&id=uba8d114f&originHeight=225&originWidth=632&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=15886&status=done&style=none&taskId=u2e3478b9-d3d9-416f-8e5f-46ecd99599b&title=&width=505.6)
```python
df.describe()
```
![image.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713952395235-8fab7dec-3891-4465-82a4-24c98d50dfd4.png#averageHue=%23fbf9f6&clientId=u154557ac-bb03-4&from=paste&height=253&id=u5589d05b&originHeight=316&originWidth=650&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=25808&status=done&style=none&taskId=u2d310229-f672-45f7-abff-594d7e1ddfd&title=&width=520)
```python
df.isna().sum()
```
![image.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1713952439686-7a7fe428-b45b-4eb9-a195-e2a157b97d04.png#averageHue=%23fcfaf9&clientId=u154557ac-bb03-4&from=paste&height=290&id=ucf3bd596&originHeight=362&originWidth=299&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=20541&status=done&style=none&taskId=u84190d9c-75c7-42d5-b22f-a88c8299b16&title=&width=239.2)
## 四 、类别统计
```python
categoricals = ["sex", "chest pain type", "fasting blood sugar", "resting ecg", "exercise angina", "ST slope", "target"]
fig, axes = plt.subplots(nrows=1, ncols=7, figsize=(12, 5))
```
![Figure_1.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714031137441-345ac0d6-1a64-4c4b-bf2e-8e31bf630546.png#averageHue=%23f6f6f6&clientId=u2d7a0f15-5faf-4&from=paste&height=400&id=u85b7538d&originHeight=500&originWidth=1200&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=44545&status=done&style=none&taskId=ub5ea6646-74f2-486e-9a31-8bea6b3202d&title=&width=960)
## 五、分类参数对心脏病诊断的影响
```python
fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(12, 7))
index = 0
```
![Figure_2.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714031143675-f8c55406-a368-4954-9e09-8505bece5ac3.png#averageHue=%23b699a3&clientId=u2d7a0f15-5faf-4&from=paste&height=560&id=ufda1298d&originHeight=700&originWidth=1200&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=83257&status=done&style=none&taskId=u5f4e3c77-a683-4adf-91d3-192cb6d7920&title=&width=960)
## 六、配对图显示诊断标记的患者之间的数值数据分布
```
sns.pairplot(df, vars=numericals, hue=df.columns[-1])
```
![Figure_3.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714031150815-fa14aae6-7a77-4f6d-bf20-bec44acfa36d.png#averageHue=%23f8ece2&clientId=u2d7a0f15-5faf-4&from=paste&height=464&id=u07cf744d&originHeight=580&originWidth=1060&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=330638&status=done&style=none&taskId=u98acfb48-fdde-48d7-aefb-3be6fdc3415&title=&width=848)
## 七、显示心脏病患者和非心脏病患者数值均值的条形图
```
fig, axes = plt.subplots(nrows=1, ncols=5, figsize=(10, 7))
for i, j in enumerate(numericals):
plots(df, df.columns[-1], j, axes[i])
```
![Figure_4.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714031165483-02c5d0c3-3d53-4f62-9249-bf1ac4ad2eb7.png#averageHue=%23a6c1d3&clientId=u2d7a0f15-5faf-4&from=paste&height=560&id=u2b798101&originHeight=700&originWidth=1000&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=39263&status=done&style=none&taskId=uabd7c810-f8bc-4d35-b3f9-f3aea6d8711&title=&width=800)
## 八、显示心脏病患者和非心脏病患者的数值分布和异常值的箱线图
```
fig, axes = plt.subplots(nrows=1, ncols=5, figsize=(10, 7))
for i, j in enumerate(numericals):
```
![Figure_5.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714031172809-32bc85b2-c3fa-41e0-8712-b1e7a4bb4664.png#averageHue=%23f6f6f6&clientId=u2d7a0f15-5faf-4&from=paste&height=560&id=u36d78b98&originHeight=700&originWidth=1000&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=43754&status=done&style=none&taskId=ub7552fb4-3734-499d-94b3-af367d69009&title=&width=800)
## 九、Kdeplots、条形图、箱线图显示无心脏病患者的数值分布
```python
for i in df[df.columns[-1]].unique():
if i == 0:
display(HTML(
"<h1>柱状图,条形图,箱形图显示了无心脏病患者的数值分布</h1>"))
else:
display(HTML(
"<h1>柱状图,柱状图,箱形图显示了心脏病患者的数值分布</h1>"))
temp_df = df[df[df.columns[-1]] == i]
```
### 1、Kdeplot显示性别、胸痛类型、空腹血糖、静息心电图、运动性心绞痛、峰值运动ST段的斜率组患者的数值密度
![Figure_6.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714032411188-46bcd746-ddb1-4f72-9abb-e1ec1f740cea.png#averageHue=%23f9f7f6&clientId=u2d7a0f15-5faf-4&from=ui&id=u73c351a2&originHeight=500&originWidth=1300&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=93025&status=done&style=none&taskId=uf9ecb6f0-2c1b-401a-82ed-6d2d7973b2a&title=)
![Figure_7.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714032411226-9dd240c3-a41d-4645-a45a-b89a3a94596d.png#averageHue=%23f8f8f8&clientId=u2d7a0f15-5faf-4&from=ui&id=ufea1165a&originHeight=500&originWidth=1300&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=122005&status=done&style=none&taskId=u2f6cf237-ce9b-4496-8517-a97f394ba89&title=)![Figure_8.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714032411300-b59403dc-7b7a-4029-8fbe-3ff93d5dba10.png#averageHue=%23f9f8f8&clientId=u2d7a0f15-5faf-4&from=ui&id=uca8b3f08&originHeight=500&originWidth=1300&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=85718&status=done&style=none&taskId=uaf035ef5-bf66-4dc2-a51d-2483c39cd01&title=)![Figure_9.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714032411374-e7a95d34-7d6f-41f3-9d30-2640a693c849.png#averageHue=%23f9f8f8&clientId=u2d7a0f15-5faf-4&from=ui&id=u73feddd9&originHeight=500&originWidth=1300&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=99611&status=done&style=none&taskId=u1ca38f72-07b1
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该数据集由 1190 个实例和 11 个特征组成。 实现功能: 1、类别统计 2、分类参数对心脏病诊断的影响 3、配对图显示诊断标记的患者之间的数值数据分布 4、显示心脏病患者和非心脏病患者数值均值的条形图 5、显示心脏病患者和非心脏病患者的数值分布和异常值的箱线图 6、Kdeplots、条形图、箱线图显示无心脏病患者的数值分布 7、缩放值并拆分为训练和测试批次 8、模型 9、评估预测
资源推荐
资源详情
资源评论
收起资源包目录
500010103.1-基于Python实现心脏病数据可视化DEA+预测.zip (53个子文件)
500010103.1-基于Python实现心脏病数据可视化DEA+预测
image
Figure_38.png 38KB
Figure_35.png 48KB
Figure_37.png 41KB
Figure_41.png 44KB
Figure_21.png 41KB
Figure_28.png 99KB
Figure_29.png 111KB
Figure_4.png 38KB
Figure_19.png 43KB
Figure_13.png 45KB
Figure_16.png 40KB
Figure_23.png 43KB
Figure_2.png 81KB
Figure_40.png 40KB
Figure_5.png 43KB
Figure_11.png 91KB
Figure_25.png 103KB
Figure_9.png 97KB
Figure_27.png 117KB
Figure_43.png 79KB
Figure_20.png 37KB
Figure_18.png 37KB
Figure_31.png 44KB
Figure_36.png 36KB
Figure_8.png 84KB
Figure_7.png 119KB
Figure_33.png 42KB
Figure_12.png 36KB
Figure_30.png 37KB
Figure_15.png 41KB
Figure_42.png 47KB
Figure_34.png 39KB
Figure_39.png 40KB
Figure_6.png 91KB
Figure_10.png 90KB
Figure_3.png 323KB
Figure_22.png 39KB
Figure_32.png 37KB
Figure_17.png 47KB
Figure_24.png 81KB
Figure_26.png 97KB
Figure_1.png 44KB
Figure_14.png 38KB
main.py 7KB
data
heart_statlog_cleveland_hungary_final.csv 39KB
.idea
500010103.1-基于Python实现心脏病数据可视化DEA+预测.iml 362B
other.xml 323B
workspace.xml 3KB
misc.xml 416B
inspectionProfiles
profiles_settings.xml 174B
modules.xml 387B
.gitignore 190B
README.md 25KB
共 53 条
- 1
资源评论
神仙别闹
- 粉丝: 4137
- 资源: 7483
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功