计算机毕设项目七:机器学习模型对肺癌患者疾病预测分析实战完整代码数据
先看结果:使用python3.2 ananconda

该系统不仅具有有效性而且具有可靠性,在帮助人们以低成本评估个人的癌症风险水平的同时,还能促使他们在面对不同的癌症风险状况时做出适当的选择。数据则源自于在线肺癌预测网站。
数据概述
字段总量:16项
案例数量:284例
字段详情如下:
1.性别标识:男/女
2.年龄维度:病患的年龄信息
3.吸烟状况:有Smoking(2例Yes, 1例No)
4.黄手指症状:该症状出现与否(2例Yes, 1例No)
5.焦虑程度:轻度焦虑(2例Yes, 1例No)
6.同伴压力情况:日常压力影响(2例Yes, 1例No)
7.慢性疾病记录:是否存在慢性疾病(2例Yes, 1例No)
8.疲劳程度:轻度疲劳情况(2例Yes, 1例No)
9.过敏反应类型:有过敏史与否(2例Yes, 1例No)
10.呼吸困难情况:出现呼吸困难次数(2例Yes, 1例No)
11.饮酒频率及影响: 饮酒与健康问题关联(2例Yes, 1例No)
12.咳嗽频率: 咳嗽发生次数统计(2例Yes, 1例No)
13.呼吸急促指标: 呼吸急促发生与否统计(2例Yes, 1例No)
14.吞咽困难记录: 存在吞咽困难情况(2例Yes, 1例子外报告无此类情况)
注意此处可能存在笔误或表述不清晰的情况,请确认原始数据记录是否存在问题
数据集:[(包含三条信息) 肺癌病患数据集肺癌病患数据库-文库](https://download.cdn.pythonyanyan.com/pythonyanyan/88018381"包含三条信息 肺癌病患数据库-文库")
数据清洗及概览
In [1]:
In [2]:
Out[2]:
| GENDER | AGE | SMOKING | YELLOW_FINGERS | ANXIETY | PEER_PRESSURE | CHRONIC DISEASE | FATIGUE | ALLERGY | WHEEZING | ALCOHOL CONSUMING | COUGHING | SHORTNESS OF BREATH | SWALLOWING DIFFICULTY | CHEST PAIN | LUNG_CANCER | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | M | 69 | 1 | 2 | 2 | 1 | 1 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | YES |
| 1 | M | 74 | 2 | 1 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 2 | YES |
| 2 | F | 59 | 1 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | NO |
| 3 | M | 63 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 2 | 2 | NO |
| 4 | F | 63 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 2 | 1 | 1 | NO |
In [3]:
In [4]:
Out[4]:
| GENDER | AGE | SMOKING | YELLOW_FINGERS | ANXIETY | PEER_PRESSURE | CHRONIC DISEASE | FATIGUE | ALLERGY | WHEEZING | ALCOHOL CONSUMING | COUGHING | SHORTNESS OF BREATH | SWALLOWING DIFFICULTY | CHEST PAIN | LUNG_CANCER | num | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| count | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 | 309.000000 |
| mean | 0.524272 | 62.673139 | 0.563107 | 0.569579 | 0.498382 | 0.501618 | 0.504854 | 0.673139 | 0.556634 | 0.556634 | 0.556634 | 0.579288 | 0.640777 | 0.469256 | 0.556634 | 0.873786 | 7.226537 |
| std | 0.500221 | 8.210301 | 0.496806 | 0.495938 | 0.500808 | 0.500808 | 0.500787 | 0.469827 | 0.497588 | 0.497588 | 0.497588 | 0.494474 | 0.480551 | 0.499863 | 0.497588 | 0.332629 | 2.037109 |
| min | 0.000000 | 21.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 2.000000 |
| 25% | 0.000000 | 57.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 | 6.000000 |
| 50% | 1.000000 | 62.000000 | 1.000000 | 1.000000 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 | 1.000000 | 1.000000 | 8.000000 |
| 75% | 1.000000 | 69.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 9.000000 |
| max | 1.000000 | 87.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 12.000000 |
数据分析
In [5]:
In [7]:
Out[7]:
Sex_age_binSMOKings_Yellow_Fingers_SANXITY_TYPICAL_PRESSURE_CHRONIC_DISEASE_FATIGUE_ALLERGYSWEEZY_ALCOHOL_CONSUMPTION_COUGH_Shortness_of_breathSWALLOWDifficulty
根据上图 可以分为以下几类:
- 该研究分析了其他维度包括性别 吸烟情况 呼吸急促等;
- 在某些特定维度中 存在显著差异性 包括:
- 患病者数量及肺癌发生率 显著高于未患病者 的维度 包括黄色手指 疲劳 过敏 咳嗽 肺炎 胸部疼痛等表现;
- 在某些情况下 两者数量相等 但存在显著差异性 包括焦虑 同龄人压力 慢性疾病等表现;
- 患病者人群普遍表现出更高的肺癌发病率 包括:
- 呼吸困难 痛咳 疲劳等症状的个体群其肺癌发病率显著高于未患此类病症的群体;
- 年龄因素对肺癌发生的影响呈现出明显的阶段特征 即随着年龄增长到一定阶段后 发病率开始下降 但在47-81岁年龄段 冠状病人的肺癌发病率均超过80%;
- 在某些特定条件下 随着相关指标的数量增多 患病者的肺癌发病率显著提高 包括拥有七个及以上相关指标的患者群体其肺癌发病率为100%
In [8]:
数据预测
决策树
In [9]:
In [10]:

In [11]:

随机森林
网格搜索时间过长,先把该部分代码注释掉
In [12]:
In [13]:
In [14]:

In [15]:
In [16]:
Out[16]:
| feature_importances | name | |
|---|---|---|
| 14 | 0.226637 | num |
| 1 | 0.196901 | AGE |
| 13 | 0.091971 | SWALLOWING DIFFICULTY |
| 8 | 0.069204 | ALLERGY |
| 7 | 0.064261 | FATIGUE |
| 3 | 0.058452 | YELLOW_FINGERS |
| 6 | 0.048569 | CHRONIC DISEASE |
| 10 | 0.045784 | ALCOHOL CONSUMING |
| 11 | 0.039756 | COUGHING |
| 2 | 0.037934 | SMOKING |
| 9 | 0.035899 | WHEEZING |
| 5 | 0.035682 | PEER_PRESSURE |
| 4 | 0.022598 | ANXIETY |
| 12 | 0.020662 | SHORTNESS OF BREATH |
| 0 | 0.005690 | GENDER |
逻辑回归
In [17]:
In [18]:
lightgbm
In [19]:
In [20]:
SVM
In [21]:
In [22]:
KNN
In [23]:
In [24]:
模型对比
Out[27]:

结论
综合考虑后发现决策树模型在准确性方面表现更为突出,在测试集上的准确率达到94%。通过对可视化结果的分析可知,在肺癌病例中症状或征象数量越多,则诊断难度越大。结合随机森林的特征重要性分析结果表明, 年龄因素是重要的影响因素之一
