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

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

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

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

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. 数据预览与统计

python 复制代码
# 查看数据维度
print(f"数据维度:{data.shape}")

# 查看数据信息
print(data.info())

# 查看缺失值
print(data.isna().sum())

# 查看重复值
print(f"重复值数量:{data.duplicated().sum()}")

# 基本统计量
print(data.describe())

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

3. 分类变量的唯一值

python 复制代码
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 特征字段可视化

python 复制代码
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 家族遗传与脱发关系
python 复制代码
# 是否有秃头家族史与脱发的关系
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) * 100

plt.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 荷尔蒙变化与脱发关系
python 复制代码
# 是否经历了荷尔蒙变化与脱发的关系
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) * 100

plt.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 压力水平与脱发关系
python 复制代码
# 压力水平与脱发的关系
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) * 100

plt.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 不良护发习惯与脱发关系
python 复制代码
# 不良的护发习惯与脱发的关系
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) * 100

plt.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 营养不足与脱发关系
python 复制代码
# 营养不足情况与脱发的关系
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) * 100

plt.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 年龄与脱发关系
python 复制代码
plt.figure(figsize=(15, 8))
# 年龄与脱发的关系
sns.boxplot(x=data['Hair Loss'],y=data['Age'])
plt.title('年龄与脱发的关系')
plt.xlabel('是否脱发')
plt.ylabel('年龄')

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

四、总结

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

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

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


相关推荐
千里念行客2403 分钟前
业绩与创新双兑现!科伦博泰的Biopharma进阶之路
大数据·人工智能
深蓝海域知识库1 小时前
评学问练考:大模型AI智能学院——重塑学习培训
人工智能
漂流瓶jz1 小时前
【AI】一文读懂大模型生态:分类/参数/结构/训练/GPU/评测/排行/社区
人工智能·llm·openai
一点一木1 小时前
Hermes Desktop 重磅更新,Bot Mode 正式上线——把你的 AI 变成一支可协作的专属团队
人工智能·agent
leoZ2311 小时前
Vue3 还原一个企业级后台-08-API注册管理
目标检测·机器学习·分类·状态模式·迁移学习·集成学习·figma
xushichang123_1 小时前
客服中心想要依托 AI 升级客户服务体验,可选择哪些云联络中心架构方案?:优先评估 Amazon Connect+客服 AI Agent
人工智能
jikemaoshiyanshi2 小时前
企业如何借助一体化 AI 工作台赋能办公提效?Amazon Quick 可适配哪些企业业务场景?—— 从智能问答、数据解析到流程自动化的全域 AI 能力平台
人工智能
IT_陈寒2 小时前
Redis的DEL命令竟然没删掉数据?我踩的这个坑你得知道
前端·人工智能·后端
AI导出鸭PC端2 小时前
Gemini流程图怎么导出?AI导出鸭一键解决格式兼容难题
人工智能·ai·word·流程图·豆包·ai导出鸭
阿里云大数据AI技术3 小时前
Daft 多模态视频抽帧性能优化实践:从抽帧到大模型打标,一条视频理解流水线是怎么跑起来的
大数据·人工智能·spark