当前位置: 首页 > news >正文

【python】基于 生活方式与健康数据预测数据集(Lifestyle and Health Risk Prediction)的可视化练习,附数据集源文件。

一、数据集概述​

在这里插入图片描述

  • 1、基本定位:模拟真实世界个人生活方式与健康数据的合成数据集,旨在帮助数据科学家、机器学习- -工程师及学生安全构建和测试健康风险预测模型,无需使用敏感医疗数据。​
  • 2、核心规模:​
    行数:5000 行(可调整,支持扩展生成更多数据)​
    列数:12 列(含 11 个特征列 + 1 个目标变量列)​
  • 3、数据属性:​
    数据类型:混合类型,包含数值型(如年龄、体重)和分类型(如运动频率、吸烟习惯)​
    生成工具:通过 Python 库(NumPy、Faker)完全合成​
  • 4、授权与作者信息:​
    许可证:CC0 公共领域许可证,可自由用于研究、学习或商业项目​
    源地址:https://www.kaggle.com/datasets/miadul/lifestyle-and-health-risk-prediction
    作者:Arif Miah(身份:机器学习工程师、Kaggle 专家、数据科学家,
    邮箱:arifmiahcse@gmail.com)

文件下载:链接:https://pan.quark.cn/s/9b0b1e71337e
通过网盘分享的文件:生活方式与健康
链接: https://pan.baidu.com/s/1V3iIU2y8s_MqOwV8fsK9Dg?pwd=17yp 提取码: 17yp

# 一、数据概况
# 数值型特征的描述性统计(保留两位小数)
print('数值型特征的描述性统计:')
print(df[['age', 'weight', 'height','sleep', 'bmi']].describe().round(2))# 分类型特征的描述性统计
for col in ['exercise','sugar_intake','smoking', 'alcohol','married', 'profession', 'health_risk']:print(f'\n{col}的类别分布:')print(df[col].value_counts())
1. 数值型特征
特征计数均值标准差最小值25%分位数50%分位数75%分位数最大值
age5000.0048.8117.9118.0034.0049.0064.0079.00
weight5000.0077.3618.7145.0061.0077.0094.00109.00
height5000.00171.9315.82145.00158.00171.50186.00199.00
sleep5000.007.001.433.006.007.008.0010.00
bmi5000.0026.848.2511.4020.3026.0032.4051.40

从数值型特征的描述性统计来看:

  • 年龄(age)分布在 18 到 79 岁之间,平均年龄接近 49 岁,标准差 17.91 说明年龄分布有一定的离散程度。
  • 体重(weight)范围从 45 公斤到 109 公斤,均值为 77.36 公斤。
  • 身高(height)在 145 厘米到 199 厘米之间,平均身高约为 171.93 厘米。
  • 睡眠时间(sleep)平均为 7 小时,标准差 1.43 表明大部分人的睡眠时间相对集中在均值附近。
  • 身体质量指数(bmi)的均值为 26.84,不同个体之间的 BMI 差异较大,标准差为 8.25。
2. 分类型特征
  • 运动频率(exercise:‘medium’(中等)频率的人数最多,有 1985 人,其次是 ‘low’(低)、‘high’(高)和 ‘none’(无)。
  • 糖摄入水平(sugar_intake:‘medium’(中等)摄入水平的人数最多,为 2511 人,‘low’(低)和 ‘high’(高)依次减少。
  • 吸烟习惯(smoking:不吸烟(‘no’)的人数占比较大,有 4023 人,吸烟(‘yes’)的有 977 人。
  • 饮酒习惯(alcohol:不饮酒(‘no’)的人数为 3741 人,饮酒(‘yes’)的有 1259 人。
  • 婚姻状况(married:已婚(‘yes’)的人数为 3018 人,未婚(‘no’)的有 1982 人。
  • 职业(profession:各个职业的人数分布相对较为均匀,学生(‘student’)、农民(‘farmer’)、司机(‘driver’)等职业人数都在 600 - 644 人之间。
  • 健康风险(health_risk:高风险(‘high’)的人数较多,有 3490 人,低风险(‘low’)的有 1510 人。

二、特征相关性分析

1. 与健康风险高相关性较高的前 10 个特征
# 二、特征相关性分析
import matplotlib.pyplot as plt
import seaborn as sns
# 将分类型变量进行编码
df_encoded = pd.get_dummies(df, columns=['exercise','sugar_intake','smoking', 'alcohol','married', 'profession', 'health_risk'])
# 计算相关系数矩阵(保留两位小数)
correlation_matrix = df_encoded.corr().round(2)
# 查看与health_risk_high相关性较高的前10个特征
top_10_features = correlation_matrix['health_risk_high'].sort_values(ascending=False)[1:11]
print(top_10_features)
# 设置图片清晰度
plt.rcParams['figure.dpi'] = 300
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei']
# 显示负号
plt.rcParams['axes.unicode_minus'] = False
# 绘制热力图
plt.figure(figsize=(12, 8))
sns.heatmap(correlation_matrix, annot=False, cmap='coolwarm')
plt.title('特征相关性热力图')
plt.show()
特征与 health_risk_high 的相关性系数
age0.38
bmi0.36
weight0.33
smoking_yes0.25
alcohol_yes0.18
exercise_low0.18
sugar_intake_high0.16
exercise_none0.12
married_no0.02
profession_driver0.02

年龄(age)、身体质量指数(bmi)和体重(weight)与高健康风险的相关性较强。这可能意味着随着年龄的增长、身体质量指数和体重的增加,健康风险升高的可能性更大。

吸烟(smoking_yes)和饮酒(alcohol_yes)的习惯也与高健康风险有一定的相关性,说明不良的生活习惯会增加健康风险。

运动频率低(exercise_low)和不运动(exercise_none)同样与高健康风险相关,强调了运动对健康的重要性。

而婚姻状况为未婚(married_no)和职业为司机(profession_driver)与高健康风险的相关性较弱。

2. 特征相关性热力图

在这里插入图片描述

热力图可以直观地展示所有特征之间的相关性。颜色越接近暖色(如红色)表示正相关性越强,越接近冷色(如蓝色)表示负相关性越强。

三、不同类别特征下健康风险分布

# 三、不同类别特征下健康风险分布
# 定义分类特征列表
categorical_features = ['exercise','sugar_intake','smoking', 'alcohol','married', 'profession']# 绘制不同类别特征下健康风险分布条形图
for feature in categorical_features:cross_tab = pd.crosstab(df[feature], df['health_risk'])cross_tab.plot(kind='bar')plt.title(f'{feature} 与健康风险分布')plt.xlabel(feature)plt.xticks(rotation=45)plt.ylabel('数量')plt.show()
1. 运动频率(exercise)与健康风险分布

从图中可以推测,运动频率为 ‘none’(无)和 ‘low’(低)的人群中,健康风险为 ‘high’(高)的比例相对较高,而运动频率为 ‘high’(高)的人群中健康风险为 ‘low’(低)的比例相对较高。这表明增加运动频率可能有助于降低健康风险。
在这里插入图片描述

2. 糖摄入水平(sugar_intake)与健康风险分布

当糖摄入水平为 ‘high’(高)时,健康风险为 ‘high’(高)的人数较多,而糖摄入水平为 ‘low’(低)时,健康风险为 ‘low’(低)的人数相对较多。这暗示了控制糖的摄入量可能对健康有益。
在这里插入图片描述

3. 吸烟习惯(smoking)与健康风险分布

吸烟(‘yes’)的人群中健康风险为 ‘high’(高)的比例明显高于不吸烟(‘no’)的人群,推测吸烟对健康可能有不良影响。
在这里插入图片描述

4. 饮酒习惯(alcohol)与健康风险分布

饮酒(‘yes’)的人群健康风险为 ‘high’(高)的比例相对不饮酒(‘no’)的人群要高,说明饮酒可能增加健康风险。
在这里插入图片描述

5. 婚姻状况(married)与健康风险分布

已婚(‘yes’)和未婚(‘no’)人群的健康风险分布有一定差异,已婚人群中健康风险为 ‘low’(低)的比例相对较高,推测婚姻生活可能对健康有积极影响。
在这里插入图片描述

6. 职业(profession)与健康风险分布

不同职业的健康风险分布有所不同,例如某些职业(如 ‘driver’ 司机)健康风险为 ‘high’(高)的比例相对较高,这可能与职业的工作环境、工作压力等因素有关。
在这里插入图片描述

免责声明

  1. 数据性质说明:本数据集为通过Python(NumPy、Faker)完全合成的模拟数据,仅包含年龄、体重、运动频率等生活方式相关特征及基于启发式规则生成的“健康风险”标签,不涉及任何真实个人的医疗记录、隐私信息或临床诊断数据,无法替代专业医疗数据的准确性与完整性

  2. 用途限制:数据集仅用于数据科学学习、机器学习模型训练、数据预处理实践等非医疗场景,不得用于实际医疗诊断、健康风险评估、疾病预测等涉及人身健康决策的用途,亦不得作为医疗建议、健康干预方案制定的依据。

  3. 结果局限性:基于本数据集训练的模型或得出的分析结论(如特征与健康风险的关联),仅反映模拟数据中的统计规律,不代表真实世界中生活方式与健康状况的必然因果关系,其预测结果或分析结论不具备医学参考价值。

  4. 专业建议指引:若有健康评估、疾病诊断、医疗咨询等需求,应及时咨询具备合法资质的医疗机构或专业医护人员,以获取科学、准确的医疗服务,切勿依赖本数据集及相关分析结果做出健康决策。

http://www.dtcms.com/a/511098.html

相关文章:

  • C#WPF如何实现登录页面跳转
  • 健康与生活方式数据库编程手册(Python方向教学2025年4月)
  • HarmonyOS测试与上架:单元测试、UI测试与App Gallery Connect发布实战
  • 以太网学习理解
  • 微算法科技(NASDAQ MLGO)标准化API驱动多联邦学习系统模型迁移技术
  • 【Redis】三种缓存问题(穿透、击穿、双删)的 Golang 实践
  • 第1部分-并发编程基础与线程模型
  • 【含文档+PPT+源码】基于SSM的智能驾校预约管理系统
  • python股票交易数据管理系统 金融数据 分析可视化 Django框架 爬虫技术 大数据技术 Hadoop spark(源码)✅
  • 有哪些网站可以自己做加视频做一个购物网站
  • 佛山建站公司模板开发一个物流app需要多少钱
  • Java——使用Aspose实现docx模板填充与导出word和pdf
  • Cef笔记:VS2019编译cef_109.0.5414
  • 云上极速转码:阿里云ECS+T4 GPU打造高性能FFmpeg视频处理引擎(部署指南)
  • Mysql 数据库迁移
  • 自建webrtc低延时分布式街机游戏直播方案
  • PHP四川文旅服务网站-计算机毕业设计源码76050
  • 从“开源开放”走向“高效智能”:阿里云 EMR 年度重磅发布
  • AI服务器工作之ubuntu系统下的驱动安装
  • 将跨平台框架或游戏引擎开发的 Windows 应用上架 Microsoft Store
  • 网站建立需要什么永久网站建设教程
  • 安装nginx
  • Leetcode+Java+图论+最小生成树拓扑排序
  • Unity画线功能LineRenderer详解附有案例
  • 从零部署自维护版 Uptime Kuma:Node.js + PM2 + Nginx 全链路实战指南
  • 哪个网站可以做纸箱沈阳市住房和城乡建设部网站
  • 腾讯送命题:手写多头注意力机制。。。
  • 信息传递视角下开源AI智能名片链动2+1模式S2B2C商城小程序对零售企业的赋能研究
  • AWS IoT Core 自动化巡检工具开发与实战报告
  • 【开题答辩过程】以《重庆市社区养老服务小程序设计与实现》为例,不会开题答辩的可以进来看看