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

【数据可视化-22】脱发因素探索的可视化分析

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

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

在这里插入图片描述

【数据可视化-22】脱发因素探索的可视化分析

    • 一、项目背景
    • 二、数据说明
    • 三、代码实现与分析
      • 1. 导入Python库并读取数据
      • 2. 数据预览与统计
      • 3. 分类变量的唯一值
      • 4. 可视化分析
      • 4.1 特征字段可视化
      • 4.2 脱发因素的探究
        • 4.2.1 家族遗传与脱发关系
        • 4.2.2 荷尔蒙变化与脱发关系
        • 4.2.3 压力水平与脱发关系
        • 4.2.4 不良护发习惯与脱发关系
        • 4.2.5 营养不足与脱发关系
        • 4.2.6 年龄与脱发关系
    • 四、总结

一、项目背景

  脱发是许多人关心的问题,它不仅影响外貌,还可能反映健康状况。本文将通过可视化分析,探索多种因素与脱发之间的关系,帮助大家更好地了解脱发的原因。本项目旨在通过数据探索分析,挖掘遗传、荷尔蒙变化、医疗状况等因素与脱发之间的潜在关联,为个体健康管理提供参考。

二、数据说明

  数据集包含以下字段:

  • Id:标识符
  • Genetics:是否有秃头家族史
  • Hormonal Changes:是否经历了荷尔蒙变化
  • Medical Conditions:可能导致秃头的病史
  • Medications & Treatments:可能导致脱发的药物治疗史
  • Nutritional Deficiencies:营养不足情况
  • Stress:压力水平
  • Age:年龄
  • Poor Hair Care Habits:是否存在不良的护发习惯
  • Environmental Factors:是否暴露于可能导致脱发的环境
  • Smoking:是否吸烟
  • Weight Loss:是否经历了显著的体重减轻
  • Hair Loss:是否脱发

三、代码实现与分析

1. 导入Python库并读取数据

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt# 数据路径
data_path = "/home/mw/input/hair2961/Predict Hair Fall.csv"# 读取数据
data = pd.read_csv(data_path)

2. 数据预览与统计

# 查看数据维度
print(f"数据维度:{data.shape}")# 查看数据信息
print(data.info())# 查看缺失值
print(data.isna().sum())# 查看重复值
print(f"重复值数量:{data.duplicated().sum()}")# 基本统计量
print(data.describe())

  从数据信息可以看出,数据集包含999条记录和13个字段,没有缺失值和重复值,数据质量较好

3. 分类变量的唯一值

categorical_columns = data.select_dtypes(include=['object']).columns.tolist()
for col in categorical_columns:print(f"{col}:")print(data[col].unique())print('-'*50)

4. 可视化分析

4.1 特征字段可视化

plt.figure(figsize=(40,20))
plt.subplot(3,4,1)
sns.countplot(x=data['Genetics'])
plt.title('秃头家族史分布')
plt.xlabel('是否有秃头家族史')
plt.ylabel('频数')......plt.subplot(3,4,(11,12))
sns.countplot(x=data['Nutritional Deficiencies '])
plt.title('是营养不足情况分布')
plt.xlabel('营养不足情况')
plt.ylabel('频数')
plt.tight_layout()
plt.show()

  在此数据集中,我们可以发现有秃头家族史的人数大于没有秃头家族史的人数,经历了荷尔蒙变化的人数大于未经历荷尔蒙变化的人数,在压力水平中,显示了压力水平为“Low”、“Moderate”和“High”的比例,其中每一部分都占了相近的比例,显示受访者在压力水平上的分布较为均匀,秃头病史中,无数据和斑秃的人比较多,湿疹和癣的人比较少等等;

4.2 脱发因素的探究

4.2.1 家族遗传与脱发关系
# 是否有秃头家族史与脱发的关系
genetics_and_hair_loss = pd.crosstab(data['Genetics'], data['Hair Loss'])
genetics_and_hair_loss_percent = genetics_and_hair_loss.div(genetics_and_hair_loss.sum(axis=1), axis=0) * 100plt.figure(figsize=(10, 6))
genetics_and_hair_loss_percent[1].plot(kind='bar')
plt.title('是否有秃头家族史与脱发的关系')
plt.xlabel('是否有秃头家族史')
plt.ylabel('脱发占比')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

  从图中可以看出,有秃头家族史的人群中,脱发占比略高于没有家族史的人群。

4.2.2 荷尔蒙变化与脱发关系
# 是否经历了荷尔蒙变化与脱发的关系
hormonal_changes_and_hair_loss = pd.crosstab(data['Hormonal Changes'], data['Hair Loss'])
hormonal_changes_and_hair_loss_percent = hormonal_changes_and_hair_loss.div(hormonal_changes_and_hair_loss.sum(axis=1), axis=0) * 100plt.figure(figsize=(10, 6))
hormonal_changes_and_hair_loss_percent[1].plot(kind='bar')
plt.title('是否经历了荷尔蒙变化与脱发的关系')
plt.xlabel('是否经历了荷尔蒙变化')
plt.ylabel('脱发占比')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

  从图中可以看出,经历荷尔蒙变化的人群与未经历的人群在脱发占比上差异不大。

4.2.3 压力水平与脱发关系
# 压力水平与脱发的关系
stress_and_hair_loss = pd.crosstab(data['Stress'], data['Hair Loss'])
stress_and_hair_loss_percent = stress_and_hair_loss.div(stress_and_hair_loss.sum(axis=1), axis=0) * 100plt.figure(figsize=(10, 6))
stress_and_hair_loss_percent[1].plot(kind='bar')
plt.title('压力水平与脱发的关系')
plt.xlabel('压力水平')
plt.ylabel('脱发占比')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

  从图中可以看出,中等压力水平的人群脱发占比略高于其他压力水平。

4.2.4 不良护发习惯与脱发关系
# 不良的护发习惯与脱发的关系
poor_hair_care_and_hair_loss = pd.crosstab(data['Poor Hair Care Habits '], data['Hair Loss'])
poor_hair_care_and_hair_loss_percent = poor_hair_care_and_hair_loss.div(poor_hair_care_and_hair_loss.sum(axis=1), axis=0) * 100plt.figure(figsize=(10, 6))
poor_hair_care_and_hair_loss_percent[1].plot(kind='bar')
plt.title('不良的护发习惯与脱发的关系')
plt.xlabel('是否存在不良的护发习惯')
plt.ylabel('脱发占比')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

  从图中可以看出,存在不良护发习惯的人群中,脱发占比略低于无不良习惯的人群。

4.2.5 营养不足与脱发关系
# 营养不足情况与脱发的关系
nutrition_and_hair_loss = pd.crosstab(data['Nutritional Deficiencies '], data['Hair Loss'])
nutrition_and_hair_loss_percent = nutrition_and_hair_loss.div(nutrition_and_hair_loss.sum(axis=1), axis=0) * 100plt.figure(figsize=(15, 8))
nutrition_and_hair_loss_percent[1].plot(kind='bar')
plt.title('营养不足情况与脱发的关系')
plt.xlabel('营养不足情况')
plt.ylabel('脱发占比')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

  从图中可以看出,缺乏锌、维生素D、生物素等营养素的人群中,脱发占比相对较高。

4.2.6 年龄与脱发关系
plt.figure(figsize=(15, 8))
# 年龄与脱发的关系
sns.boxplot(x=data['Hair Loss'],y=data['Age'])
plt.title('年龄与脱发的关系')
plt.xlabel('是否脱发')
plt.ylabel('年龄')

  从图中可以看出,不脱发的人比脱发的人年龄要大(中位数更高一点),后续还可以探索其它因素对于脱发的影响,

四、总结

通过本次可视化分析,我们发现以下因素与脱发有较强关联:

  1. 家族遗传:有秃头家族史的人群脱发风险较高。
  2. 营养状况:缺乏锌、维生素D等营养素的人群更容易脱发。
  3. 年龄和压力:年龄增长和中等压力水平可能增加脱发风险。

  需要注意的是,部分因素如不良护发习惯与脱发的关系并不显著,这可能需要进一步的分析和研究来验证。希望本篇博客能为读者提供有价值的参考!


相关文章:

  • 基于 WebRTC + Pion + HeyGem.ai 实现可互动的数字人系统
  • 复刻低成本机械臂 SO-ARM100 3D 打印篇
  • LeetCode 1292 元素和小于等于阈值的正方形的最大边长
  • H5付费进群源码 带分销【源码+教程】虚拟货物系统
  • 作为一个创业团队,Neo4j、Nebula Graph、HugeGraph‌、AllegroGraph‌等几款图数据库哪款更合适?
  • 爆改 toxml 组件 支持数据双向绑定 解决数据刷新问题
  • mybatis mapper.xml中使用枚举
  • AVX2与onnx量化加速
  • 【MCP Node.js SDK 全栈进阶指南】中级篇(4):MCP错误处理与日志系统
  • Python SQL 工具包:SQLAlchemy介绍
  • UML 状态图:以共享汽车系统状态图为例
  • osxcross 搭建 macOS 交叉编译环境
  • 【数据结构】励志大厂版·初级(二刷复习)双链表
  • Mongodb分布式文件存储数据库
  • NineData 与飞书深度集成,企业级数据管理审批流程全面自动化
  • IDEA热加载
  • 逐位逼近法计算对数的小数部分
  • SpringClound 微服务分布式Nacos学习笔记
  • Docker--Docker网络原理
  • day35图像处理OpenCV
  • “中华优秀科普图书榜”2024年度榜单揭晓
  • 载人登月总体进展顺利
  • 直播中抢镜“甲亢哥”的翁东华卸任!此前任文和友小龙虾公司董事
  • 中国政府援缅第八批紧急人道主义地震救灾物资抵达缅甸
  • 纪念沈渭滨︱“要把近代史搞得会通”——读《士与大变动时代》随札
  • 用8年还原曹操墓鉴定过程,探寻曹操墓新书创作分享会举行