基于数据挖掘与机器学习揭秘脱发主因

2024-05-13 08:04

本文主要是介绍基于数据挖掘与机器学习揭秘脱发主因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🌟欢迎来到 我的博客 —— 探索技术的无限可能!


🌟博客的简介(文章目录)

基于数据挖掘与机器学习揭秘脱发主因

目录

  • 一、绪论
    • 背景描述
    • 数据说明
    • 内容大概
  • 二、导入包以及数据读取
  • 三、数据预览
  • 四、探究导致脱发的因素
    • 4.1可视化分析
    • 4.2统计检验
  • 五、逻辑回归模型
    • 5.1数据预处理
    • 5.2多重共线性检验
    • 5.3划分数据
    • 5.4建立模型
    • 5.5模型评估
    • 5.6影响因素分析
  • 六、随机森林模型
    • 6.1建立模型
    • 6.2模型评估
    • 6.3影响因素分析
  • 七、总结

一、绪论

背景描述

        随着年龄增长,脱发成为许多人关注的健康问题之一。头发的丰盈与否不仅影响着外貌,更与个体的健康状态息息相关。本数据集汇集了各种可能导致脱发的因素,包括遗传因素、荷尔蒙变化、医疗状况、药物治疗、营养缺乏、心理压力等。通过数据探索分析,深入挖掘这些因素与脱发之间的潜在关联,从而为个体健康管理、医疗干预以及相关产业的发展提供有益参考。
在这里插入图片描述

数据说明

字段说明
Id标识符
Genetics是否有秃头家族史(1:是 / 0:否)
Hormonal Changes是否经历了荷尔蒙变化
Medical Conditions可能导致秃头的病史;斑秃、甲状腺问题、头皮感染、银屑病、皮炎等
Medications & Treatments可能导致脱发的药物治疗史;化疗、心脏药物、抗抑郁药、类固醇等
Nutritional Deficiencies营养不足情况 ;铁缺乏、维生素D缺乏、生物素缺乏、Ω-3脂肪酸缺乏等
Stress压力水平
Age年龄
Poor Hair Care Habits是否存在不良的护发习惯
Environmental Factors是否暴露于可能导致脱发的环境
Smoking是否吸烟
Weight Loss是否经历了显著的体重减轻
Hair Loss是否脱发

病史

英文中文
Alopecia Areata斑秃
Androgenetic Alopecia雄激素型秃发
Dermatitis皮炎
Dermatosis皮肤病
Eczema湿疹
Psoriasis银屑病
Ringworm
Scalp Infection头皮感染
Seborrheic Dermatitis皮脂溢出性皮炎
Thyroid Problems甲状腺问题

药物治疗史

英文中文
Accutane治疗痤疮的药物
Antibiotics抗生素
Antidepressants抗抑郁药
Antifungal Cream杀菌霜
Blood Pressure Medication降血压药
Chemotherapy化疗
Heart Medication心脏药物
Immunomodulators免疫调节剂
Rogaine生发素
Steroids类固醇

营养不足

英文中文
Biotin Deficiency生物素缺乏
Iron deficiency铁缺乏
Magnesium deficiency镁缺乏
Omega-3 fatty acidsΩ-3脂肪酸
Protein deficiency蛋白质缺乏
Selenium deficiency硒缺乏
Vitamin A Deficiency维生素A缺乏
Vitamin D Deficiency维生素D缺乏
Vitamin E deficiency维生素E缺乏
Zinc Deficiency锌缺乏

压力水平

英文中文
Low
Moderate
High

内容大概

数据分析:

  1. 平均年龄是多少?
  2. 年龄的分布情况如何?
  3. 哪些医疗条件是最常见的?
  4. 它们的发生频率是多少?
  5. 营养缺乏的种类及其出现频率如何?

数据可视化:

  1. 不同年龄段中患者脱发的比例是多少?(柱状图或饼图)
  2. 哪些因素与脱发之间存在关联?(热力图或相关性图来呈现各因素之间的相关性)
  3. 不同压力水平下脱发的情况如何?(箱线图或分布图)

机器学习:

  1. 建立一个分类模型来预测个体是否会患上脱发,以基于给定的因素进行预测。
  2. 利用聚类分析,探索数据集中是否存在不同类型的脱发群体。
  3. 使用决策树或随机森林等算法,识别出最能预测脱发的关键因素是什么。

二、导入包以及数据读取

        导入一些常用的Python库,包括pandas、numpy、seaborn、matplotlib、scipy和statsmodels等用于数据处理、统计分析、可视化和机器学习。创建StandardScaler对象,用于数据标准化。最后数据集。

三、数据预览

查看数据维度

在这里插入图片描述

查看数据信息

在这里插入图片描述

查看各列缺失值

在这里插入图片描述

查看重复值

在这里插入图片描述

        数据集包含999条记录和13个字段,根据数据信息,所有列都没有缺失值,也没有发现重复的记录,这意味着数据集已经是干净且准备好进行进一步分析的状态。

基本统计量(连续变量)

在这里插入图片描述

        年龄的平均值为34.19岁,标准差为9.38,最小值为18岁,最大值为50岁。脱发情况:平均值为0.498,标准差为0.50,样本比较平衡,后续建立分类模型的时候,不用平衡样本了。

分类变量唯一值情况

在这里插入图片描述

可视化
在这里插入图片描述

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

在这里插入图片描述

        可以看到数据集年龄是在18-50岁之间,其中20岁前后,38岁前后,50岁前这三个段的人数比较多,存在不良护发习惯的人略少于不存在不良护发习惯的人,认为自己暴露于可能导致脱发环境的人也略高于认为自己未暴露于可能脱发环境的人,其中使用过生发素、抗抑郁药、类固醇、心脏药物的人数比较多,无数据的人数最少。

在这里插入图片描述

        可以看到数据集吸烟的人数比不吸烟的人数多一些,没有经过过显著的体重减轻的人数更多一些,脱发与未脱发的人数分布比较均匀,后续建模的时候,不需要平衡样本了,缺乏锌、维生素D、生物素、维生素A的人数比较多。

四、探究导致脱发的因素

4.1可视化分析

  • 分析是否有秃头家族史与脱发的关系
  • 分析是否经历了荷尔蒙变化与脱发的关系
  • 分析可能导致秃头的病史与脱发的关系
  • 分析是否有秃头家族史与脱发的关系
  • 分析是否经历了荷尔蒙变化与脱发的关系
  • 分析可能导致秃头的病史与脱发的关系
    在这里插入图片描述

        从图中可以得知:本数据集中有秃头家族史的人比没有秃头家族史的人脱发占比更大,经历了荷尔蒙变化似乎不是导致脱发的一个原因,因为两类人群在脱发情况比较接近,患有斑秃、雄激素型秃发、皮脂溢出性皮炎的人比其他患者脱发的概率更大。

  • 分析压力水平与脱发的关系
  • 分析分析可能导致脱发的药物治疗史与脱发的关系
  • 分析年龄与脱发的关系
  • 分析分析压力水平与脱发的关系
  • 分析分析可能导致脱发的药物治疗史与脱发的关系

在这里插入图片描述

        从图中可以得知:不脱发的人比脱发的人年龄要大(中位数更高一点),中等压力的人比其他两类人占比更大,服用过类固醇、抗生素的人群脱发更高。

  • 分析不良的护发习惯与脱发的关系
  • 分析暴露于可能导致脱发的环境与脱发的关系
  • 分析吸烟与脱发的关系
  • 分析显著的体重减轻与脱发的关系
  • 分析营养不足情况与脱发的关系
  • 分析不良的护发习惯与脱发的关系
  • 分析暴露于可能导致脱发的环境与脱发的关系
  • 分析吸烟与脱发的关系
  • 分析显著的体重减轻与脱发的关系
  • 分析营养不足情况与脱发的关系

在这里插入图片描述

        从上图可知:存在不良护发习惯的人脱发占比,反而比不存在不良护发习惯的人低,暴露于可能脱发环境的人脱发占比也比未暴露于可能脱发环境的人低,吸烟的人更不容易脱发,经历过体重减轻的人更容易脱发,这些都挺出乎意料的,镁缺乏、蛋白质缺乏的人群更容易脱发。

        总言而之,通过可视化分析,可以认为:秃头家族史、患有不同的病、年龄、服用不同的药物、经历过体重减轻、缺乏某些微量元素等因素会影响脱发,其他的因素要么影响差异不大,要么违背我们的常识(如:存在不良护发习惯的人脱发占比,反而比不存在不良护发习惯的人低),这些需要我们通过其他的方法进一步探究。

4.2统计检验

  • 对脱发组进行KS检验
  • 对非脱发组进行KS检验

在这里插入图片描述

        因为两组数据(未脱发组和脱发组)的KS检验的p值<0.05,所以表明数据不能进行传统的独立样本t检验,可以使用曼-惠特尼U检验。

  • 曼-惠特尼U检验

在这里插入图片描述

        经过曼-惠特尼U检验,得到p值<0.05,表明脱发组和非脱发组在年龄变量上存在显著差异。

  • 分类变量进行卡方检验

        通过卡方检验,可以发现这些特征,没有一个与脱发存在统计学上的显著关联,这可能意味着脱发的原因更为复杂,或者可能需要考虑其他未包括在这个分析中的因素,因此,我们还需要建立统计模型来分析。

        通过进行卡方检验,我们可以对这些特征进行深入的分析和研究。然而,结果显示这些特征中没有一个与脱发存在统计学上的显著关联。这个发现引发了我们对脱发原因的进一步思考,暗示着脱发的原因可能比我们最初预期的更为复杂和多元。

        这种结果可能意味着,我们在分析中考虑的因素并不足以解释脱发的发生。这可能是因为还有一些其他重要的因素没有被包括在这个分析中,这些因素可能在脱发的发生中起着关键的作用。这些未被考虑的因素可能是一些我们尚未识别或理解的环境、遗传或生活方式因素。

        因此,我们需要建立一个更为全面和细致的统计模型来进行分析。这个模型应该包括更多的可能影响脱发的因素,以便我们能够更准确地理解脱发的原因。这个模型可能会包括更多的生物学、环境、生活方式和遗传因素,以便我们能够从多个角度来理解和解释脱发的发生。

五、逻辑回归模型

5.1数据预处理

  • 删除ID列
  • 将Yes替换成0,No替换成1
  • 替换压力(‘Low’: 1,‘Moderate’:2,‘High’:3)
  • 将名义变量(无序变量)进行杜热编码
  • Age 进行标准化
  • 对年龄进行标准化

在这里插入图片描述

5.2多重共线性检验

VIF结果
在这里插入图片描述

        因为对Medical Conditions,Medications & Treatments,Nutritional Deficiencies进行杜热编码后,导致新产生的特征列有无限大的方差膨胀因子,因此采取删除这三个特征生产的列,以Medical Conditions为例,这里选择删除Medical Conditions_No Data,这样不会影响数据结构,因为当其他的Medical Conditions列为0的时候,也就表示为No Data,同理,其他两个特征也是一样,独热编码后删除一列,我选择的都是数量最多的列。

VIF结果
可以发现,删除后,除了常数项的方差膨胀因子(VIF)>10,其他特征均在1-2之间,可以认为这个数据特征不存在多重共线性,因此可以使用逻辑回归模型。

        在对数据进行深入分析和处理的过程中,我们注意到了一个有趣的现象。当我们对数据进行删除操作后,我们发现大部分特征的方差膨胀因子(Variance Inflation Factor,简称VIF)都保持在1到2之间。这个范围通常被认为是可以接受的,因为它表明这些特征之间的多重共线性并不严重。

        然而,我们也注意到,有一个特殊的存在,那就是常数项的方差膨胀因子(VIF)。它的值大于10,这通常被认为是一个警示信号,表明可能存在多重共线性问题。但是,我们也需要明白,这个常数项的存在,是逻辑回归模型的一个基本组成部分,它代表了所有其他特征都为零时的概率。因此,即使其VIF值大于10,我们也不能简单地将其删除,因为这可能会影响模型的整体性能。

        总的来说,尽管常数项的VIF值大于10,但是考虑到其他特征的VIF值都在1-2之间,我们可以初步判断,这个数据集的特征并不存在严重的多重共线性问题。因此,我们可以安心地使用逻辑回归模型来进行后续的数据分析和建模工作。

5.3划分数据

x = new_data.drop('Hair Loss',axis=1)
y = new_data['Hair Loss']
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=15) 

5.4建立模型

在这里插入图片描述

5.5模型评估

在这里插入图片描述

混淆矩阵

混淆矩阵是一种用于评估分类模型性能的工具,它显示了模型在各个类别上的预测结果与实际结果之间的对应关系。

在这里插入图片描述

ROC曲线
在这里插入图片描述

逻辑回归模型评分如下:

  1. 精确度: 对于类别0,精确度为0.58,对于类别1,精确度为0.47。
  2. 召回率: 对于类别0,召回率为0.52,对于类别1,召回率为0.53。
  3. F1得分: 对于类别0,F1得分为0.55,对于类别1,F1得分为0.5。
  4. 准确率: 0.53
  5. ROC: 0.51

        模型的预测能力并不是特别好,这里我后面也采取了优化参数,但是效果不明显,感兴趣的读者可以去自己试着去优化参数。

5.6影响因素分析

通过对模型的系数进行分析,发现:患有皮脂溢出性皮炎、斑秃、雄激素型秃发这些病症的人,容易脱发,缺乏维生素A的人容易脱发(这里是负数,表明Nutritional Deficiencies _Vitamin A Deficiency越接近0,就表明不存在缺乏维生素A,越不容易脱发,反之,也就是缺乏维生素A越容易脱发)。

        在对模型的系数进行深入分析后,我们得到了一些关于脱发与相关疾病、营养状况之间关系的重要发现。这些发现为我们提供了关于哪些因素可能导致人们更容易脱发的宝贵信息。

        首先,我们发现患有某些特定皮肤疾病的人更容易出现脱发问题。具体来说,那些患有皮脂溢出性皮炎、斑秃或雄激素型秃发的人,他们的脱发风险相对较高。这些疾病可能直接影响头皮的健康和毛囊的功能,从而增加了脱发的风险。

        其次,我们还发现了一个与营养状况有关的有趣现象。那就是维生素A的摄入与脱发之间存在明显的关联。在我们的研究中,缺乏维生素A的人更容易出现脱发问题。这一点通过模型中的负数系数得到了体现。这里的“负数”意味着“Nutritional Deficiencies_Vitamin A Deficiency”的值越接近0,就表示该人不存在维生素A的缺乏,因此他们不容易脱发。反之,如果这个值较大,就表明该人缺乏维生素A,从而更容易出现脱发问题。

        维生素A在人体中扮演着多种重要角色,包括支持免疫系统、维持视力和促进细胞生长。它在维持头皮健康和毛发生长方面也起着关键作用。因此,维生素A的缺乏可能会影响头皮的健康,导致毛囊受损,进而增加脱发的风险。

        综上所述,我们的研究揭示了一些关键的脱发风险因素,包括某些皮肤疾病和维生素A的缺乏。这些发现为预防和治疗脱发提供了新的方向,强调了保持健康的皮肤和良好的营养状况在防止脱发方面的重要性。对于那些容易脱发的人来说,改善饮食,确保摄入足够的维生素A,以及及时就医治疗相关皮肤疾病,可能是减少脱发风险的有效方法。

六、随机森林模型

6.1建立模型

在这里插入图片描述

6.2模型评估

在这里插入图片描述

混淆矩阵
在这里插入图片描述

ROC曲线
在这里插入图片描述

随机森林模型评分如下:

  1. 精确度: 对于类别0,精确度为0.53,对于类别1,精确度为0.40。
  2. 召回率: 对于类别0,召回率为0.55,对于类别1,召回率为0.38。
  3. F1得分: 对于类别0,F1得分为0.54,对于类别1,F1得分为0.39。
  4. 准确率: 0.48。
  5. ROC: 0.49。

6.3影响因素分析

在这里插入图片描述

        通过对模型的影响度分析和统计检验的双重确认,我们确定年龄是影响模型预测的关键因素,这一发现将有助于我们在未来的工作中更好地理解和应用模型。

七、总结

        在本次研究中,我们采用了数据可视化和统计分析的方法,对影响脱发的各种因素进行了详尽的探索性分析。为了更准确地理解这些因素与脱发之间的关联,我们还构建了逻辑回归模型和随机森林模型。我们可以知道,脱发的主要影响因素包括年龄、患有皮脂溢出性皮炎、斑秃、雄激素型秃发等病症,以及缺乏维生素A。这些发现为我们理解和预防脱发提供了有价值的信息。


🔍 温馨提示
        如果对本文有任何疑问,欢迎点击下方名片,了解更多详细信息!


这篇关于基于数据挖掘与机器学习揭秘脱发主因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985134

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学