【数据可视化案例】探索影响不同国家预期寿命的主要因素

embedded/2024/12/24 7:48:57/

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化案列】平均预期寿命预测可视化:探索影响不同国家预期寿命的主要因素

  • 一、引言
  • 二、数据预处理与加载
  • 三、数据清洗与转换
  • 四、可视化分析
  • 五、结论与展望

一、引言

  在当今全球健康研究领域,平均预期寿命是衡量一个国家或地区居民健康水平和生活质量的重要指标。本文旨在利用Life-Expectancy-Data-Averaged.csv数据集,通过可视化分析技术,揭示影响不同国家预期寿命的主要因素,并探讨预期寿命如何因地区或经济发展而变化,以及我们是否可以使用其他健康和经济指标来预测预期寿命。

  本文我们重点从以下三个问题点来进行数据分析

  • 影响不同国家预期寿命的主要因素是什么?
  • 预期寿命如何因地区或经济发展而异?
  • 我们可以使用其他健康和经济指标来预测预期寿命吗?

  读者可以从各个方向出发,通过数据可视化来得到想要分析的问题,如人群的平均体重指数和平均预期寿命的关系?平均受教育年限和平均预期寿命的关系等;

二、数据预处理与加载

  首先,我们需要导入必要的Python库,并加载数据集。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns# 加载数据集
data = pd.read_csv('Life-Expectancy-Data-Averaged.csv')# 初步数据探索
print(data.head())
print(data.info())

  具体的数据集的基本情况参考【机器学习案列】平均预期寿命预测一文,这里不在介绍;

三、数据清洗与转换

  由于数据集中包含一些类别型变量(如Country、Region、Economy_status),我们需要对这些变量进行转换,以便进行可视化分析。这里我们可以使用独热编码(One-Hot Encoding)或标签编码(Label Encoding),但考虑到可视化时可能希望保持区域的连续性(如按地理位置排序),我们可以选择保留原始字符串形式,并在可视化时通过颜色或形状进行区分。不过,对于经济状态(Economy_status),我们可以将其转换为更易于理解的标签,如“发展中国家”和“发达国家”。

# 将Economy_status转换为更易于理解的标签
data['Economy_status'] = data['Economy_status'].apply(lambda x: '发展中国家' if x >= 1 else '发达国家')  # 假设1为阈值,具体需根据数据确定(其实这里本来的就是0/1;不用这么麻烦,可以直接替换来实现

  处理绘图时的中文乱码问题:

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

四、可视化分析

  1. 影响不同国家预期寿命的主要因素

  我们可以使用散点图或箱线图来展示不同健康和经济指标与预期寿命之间的关系。

# 示例:使用散点图展示GDP_per_capita与Life_expectancy的关系
plt.figure(figsize=(10, 6))
sns.scatterplot(x='GDP_per_capita', y='Life_expectancy', data=data, hue='Economy_status', palette='viridis')
plt.title('GDP per Capita vs Life Expectancy')
plt.xlabel('GDP per Capita (USD)')
plt.ylabel('Life Expectancy (Years)')
plt.legend(title='Economy Status')
plt.show()

在这里插入图片描述
  通过绘制的图发现,发达国家的平均预期寿命比发展中国家的一般都要高一些,这个规律也是符合客观事实的,生活水平高、食品安全等方面因素造成的;

  类似地,我们可以为其他指标(如Infant_deaths、Adult_mortality、Alcohol_consumption等)创建散点图或箱线图。

  1. 预期寿命如何因地区或经济发展而变化

  我们可以使用分组条形图或地图来展示不同地区或经济状态下的预期寿命差异。

# 示例:使用分组条形图展示不同经济状态下的预期寿命差异
plt.figure(figsize=(10, 6))
sns.barplot(x='Economy_status', y='Life_expectancy', data=data, ci=None, palette='coolwarm')
plt.title('Life Expectancy by Economy Status')
plt.xlabel('Economy Status')
plt.ylabel('Life Expectancy (Years)')
plt.show()

在这里插入图片描述
  通过上图我们可以发现,发达国家的平均寿命要高于发达国家10月以上;
  对于地区差异,如果数据集包含详细的地理信息(如经纬度或更细粒度的地区分类),我们可以使用地图可视化工具(如GeoPandas、Plotly Express等)来展示预期寿命的地区分布。

  1. 使用其他健康和经济指标来预测预期寿命

  为了回答这个问题,我们可以使用机器学习模型(如线性回归、随机森林等)来构建预测模型,并通过特征重要性评估来揭示哪些指标对预测结果有显著影响。然而,在本文中,我们将通过可视化手段来初步探索这些指标与预期寿命之间的相关性。

# 计算相关性矩阵
correlation_matrix = data.corr()# 使用热力图展示相关性矩阵
plt.figure(figsize=(14, 10))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('Correlation Matrix of Life Expectancy and Other Indicators')
plt.show()

在这里插入图片描述
  发现Thinness_five_nine_years也就是5-9 岁儿童的瘦患病率 (BMI < 18.5)特征和平均预期寿命是最相关的,相关程度达到0.9;
  通过观察热力图中的相关性系数,我们可以初步判断哪些指标与预期寿命有显著的相关性。然后,我们可以选择这些相关性较高的指标作为预测模型的输入特征。

五、结论与展望

  通过本文的可视化分析,我们揭示了影响不同国家预期寿命的主要因素,并探讨了预期寿命如何因地区或经济发展而变化。我们还初步探索了使用其他健康和经济指标来预测预期寿命的可能性。未来,我们可以进一步构建机器学习模型来验证这些指标的预测能力,并尝试结合更多的数据源和更复杂的可视化技术来深化我们的理解。

  请注意,以上代码和可视化分析仅作为示例,实际应用中可能需要根据具体数据和业务需求进行调整和优化。


http://www.ppmy.cn/embedded/148278.html

相关文章

【操作系统】基于信号量与PV操作解决东西向汽车过独木桥问题

【操作系统】基于信号量与PV操作解决东西向汽车过独木桥问题 问题 东西向汽车过独木桥&#xff0c;为了保证安全&#xff0c;只要桥上无车&#xff0c;则允许一方的汽车过桥&#xff0c;待一方的汽车全部过完后&#xff0c;另一方的汽车才允许过桥。某一时刻&#xff0c;桥上…

Android Bootable Recovery 中的 `bspatch.cpp` 文件详解

Android Bootable Recovery 中的 bspatch.cpp 文件详解 引言 在 Android 系统中,Recovery 模式是一个非常重要的组件,它允许用户在设备启动时执行一系列的维护操作,例如系统更新、数据擦除、备份和恢复等。Android Bootable Recovery 的核心功能之一是处理增量更新(Delta…

开源软件兼容性可信量化分析

开源软件兼容性可信量化分析 课程&#xff1a;软件质量分析 作业 开源软件兼容性问题严重程度分成哪4级&#xff1f;分别表示什么风险&#xff1f;版本间兼容性可信度量公式什么&#xff1f;等级划分表是什么&#xff1f;阐述软件间兼容性测试框架以及面向Java和C的工具平台框…

Redis梳理

1、Redis是什么&#xff1f; Redis是开源的&#xff08;BSD许可开源&#xff09;&#xff0c;内存数据结构存储&#xff0c;被用作数据库&#xff0c;缓存&#xff0c;消息队列。 它支持的数据结构像Strings,hashes,lists,sets,sorted set等范围查询数据结构&#xff0c;以及bi…

利用Java爬虫获取苏宁易购商品详情

在数字化时代&#xff0c;电商平台的商品信息对于市场分析、价格监控和消费者决策至关重要。苏宁易购作为中国领先的电商平台之一&#xff0c;提供了丰富的商品信息。本文将介绍如何使用Java语言开发爬虫&#xff0c;获取苏宁易购商品的详细信息。 Java爬虫技术简介 Java作为一…

Scala——身份证号码查询籍贯

object Test_身份证查询籍贯 { def main(args: Array[String]): Unit { val code "42005200210030051".substring(0,2) println(code) //判断42是哪个省的 //湖北 // if(code "42"){ // println("42对应省份为&#xff1a;湖北") // }else…

探索 AnythingLLM:借助开源 AI 打造私有化智能知识库

探索如何使用开源项目 AnythingLLM 构建私有化智能知识库。通过 RAG 技术&#xff0c;将文档转化为可检索向量&#xff0c;结合大语言模型实现高效问答&#xff0c;适用于企业与个人开发者。 阅读原文请转到&#xff1a;https://jimmysong.io/blog/building-private-ai-knowled…

VBA之正则表达式(48)-- 快速拆分中文语句

实例需求&#xff1a;对于任意一段文字&#xff0c;按照中文标点符号拆分为数组&#xff0c;并在立即窗口输出。 例如对于如下内容&#xff1a; 本文为博主原创文章&#xff0c;未经博主允许不得转载。访问本人博客123&#xff0c;测试完成VBE【立即窗口】中输出为&#xff1…