本文主要是介绍基于数据挖掘与机器学习揭秘脱发主因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
🌟欢迎来到 我的博客 —— 探索技术的无限可能!
🌟博客的简介(文章目录)
目录
- 一、绪论
- 背景描述
- 数据说明
- 内容大概
- 二、导入包以及数据读取
- 三、数据预览
- 四、探究导致脱发的因素
- 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 | 高 |
内容大概
数据分析:
- 平均年龄是多少?
- 年龄的分布情况如何?
- 哪些医疗条件是最常见的?
- 它们的发生频率是多少?
- 营养缺乏的种类及其出现频率如何?
数据可视化:
- 不同年龄段中患者脱发的比例是多少?(柱状图或饼图)
- 哪些因素与脱发之间存在关联?(热力图或相关性图来呈现各因素之间的相关性)
- 不同压力水平下脱发的情况如何?(箱线图或分布图)
机器学习:
- 建立一个分类模型来预测个体是否会患上脱发,以基于给定的因素进行预测。
- 利用聚类分析,探索数据集中是否存在不同类型的脱发群体。
- 使用决策树或随机森林等算法,识别出最能预测脱发的关键因素是什么。
二、导入包以及数据读取
导入一些常用的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结果
在对数据进行深入分析和处理的过程中,我们注意到了一个有趣的现象。当我们对数据进行删除操作后,我们发现大部分特征的方差膨胀因子(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曲线
逻辑回归模型评分如下:
- 精确度: 对于类别0,精确度为0.58,对于类别1,精确度为0.47。
- 召回率: 对于类别0,召回率为0.52,对于类别1,召回率为0.53。
- F1得分: 对于类别0,F1得分为0.55,对于类别1,F1得分为0.5。
- 准确率: 0.53
- ROC: 0.51
模型的预测能力并不是特别好,这里我后面也采取了优化参数,但是效果不明显,感兴趣的读者可以去自己试着去优化参数。
5.6影响因素分析
在对模型的系数进行深入分析后,我们得到了一些关于脱发与相关疾病、营养状况之间关系的重要发现。这些发现为我们提供了关于哪些因素可能导致人们更容易脱发的宝贵信息。
首先,我们发现患有某些特定皮肤疾病的人更容易出现脱发问题。具体来说,那些患有皮脂溢出性皮炎、斑秃或雄激素型秃发的人,他们的脱发风险相对较高。这些疾病可能直接影响头皮的健康和毛囊的功能,从而增加了脱发的风险。
其次,我们还发现了一个与营养状况有关的有趣现象。那就是维生素A的摄入与脱发之间存在明显的关联。在我们的研究中,缺乏维生素A的人更容易出现脱发问题。这一点通过模型中的负数系数得到了体现。这里的“负数”意味着“Nutritional Deficiencies_Vitamin A Deficiency”的值越接近0,就表示该人不存在维生素A的缺乏,因此他们不容易脱发。反之,如果这个值较大,就表明该人缺乏维生素A,从而更容易出现脱发问题。
维生素A在人体中扮演着多种重要角色,包括支持免疫系统、维持视力和促进细胞生长。它在维持头皮健康和毛发生长方面也起着关键作用。因此,维生素A的缺乏可能会影响头皮的健康,导致毛囊受损,进而增加脱发的风险。
综上所述,我们的研究揭示了一些关键的脱发风险因素,包括某些皮肤疾病和维生素A的缺乏。这些发现为预防和治疗脱发提供了新的方向,强调了保持健康的皮肤和良好的营养状况在防止脱发方面的重要性。对于那些容易脱发的人来说,改善饮食,确保摄入足够的维生素A,以及及时就医治疗相关皮肤疾病,可能是减少脱发风险的有效方法。
六、随机森林模型
6.1建立模型
6.2模型评估
混淆矩阵
ROC曲线
随机森林模型评分如下:
- 精确度: 对于类别0,精确度为0.53,对于类别1,精确度为0.40。
- 召回率: 对于类别0,召回率为0.55,对于类别1,召回率为0.38。
- F1得分: 对于类别0,F1得分为0.54,对于类别1,F1得分为0.39。
- 准确率: 0.48。
- ROC: 0.49。
6.3影响因素分析
通过对模型的影响度分析和统计检验的双重确认,我们确定年龄是影响模型预测的关键因素,这一发现将有助于我们在未来的工作中更好地理解和应用模型。
七、总结
在本次研究中,我们采用了数据可视化和统计分析的方法,对影响脱发的各种因素进行了详尽的探索性分析。为了更准确地理解这些因素与脱发之间的关联,我们还构建了逻辑回归模型和随机森林模型。我们可以知道,脱发的主要影响因素包括年龄、患有皮脂溢出性皮炎、斑秃、雄激素型秃发等病症,以及缺乏维生素A。这些发现为我们理解和预防脱发提供了有价值的信息。
🔍 温馨提示
如果对本文有任何疑问,欢迎点击下方名片
,了解更多详细信息!
这篇关于基于数据挖掘与机器学习揭秘脱发主因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!