这里有一份心脏病数据heart.csv请尝试数据探索性分析
时间: 2024-03-24 15:40:12 浏览: 58
UCI 心脏病数据集的探索性数据分析
好的,我可以帮你进行数据探索性分析。首先,我需要先导入数据集并查看数据的基本信息。以下是Python代码示例:
```python
import pandas as pd
# 导入数据集
df = pd.read_csv('heart.csv')
# 查看数据前五行
print(df.head())
# 查看数据基本信息
print(df.info())
# 查看数值型数据的统计信息
print(df.describe())
```
根据数据集的基本信息,我们可以得到如下结论:
1. 数据集共有 303 行,14 列;
2. 数据类型有整数和浮点数两种,没有缺失值;
3. 除了目标变量 `target` 是二分类变量之外,其余变量均为数值型变量。
接下来,我们可以通过数据可视化工具进一步探索数据。以下是Python代码示例:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 查看目标变量分布
sns.countplot(x='target', data=df)
plt.show()
# 查看数值型变量之间的相关性
sns.heatmap(df.corr(), cmap='coolwarm', annot=True)
plt.show()
# 查看数值型变量的分布情况
sns.pairplot(df, vars=['age', 'trestbps', 'chol', 'thalach', 'oldpeak'], hue='target')
plt.show()
```
通过可视化工具,我们可以得到如下结论:
1. 目标变量 `target` 中,类别 0 占 45.5%,类别 1 占 54.5%,类别分布相对均衡;
2. `age` 和 `thalach` 呈现出明显的负相关性,即年龄越大,心率越慢;
3. `age` 和 `trestbps` 之间存在一定的正相关性,即年龄越大,血压越高;
4. `thalach` 和 `oldpeak` 呈现出明显的负相关性,即心率越快,心肌缺血程度越轻;
5. `chol` 和 `oldpeak` 之间存在一定的正相关性,即胆固醇水平越高,心肌缺血程度越严重;
6. 其余数值型变量之间的相关性不是很强,需要进一步探索。
通过上述数据探索性分析,我们可以初步了解数据集的情况,并对后续的机器学习建模提供重要参考。
阅读全文