RanaShriii/Lung-Cancer-Detection-Pipeline
GitHub: RanaShriii/Lung-Cancer-Detection-Pipeline
一个端到端的机器学习框架,用于基于临床问卷数据的早期肺癌风险预测和模型比较分析。
Stars: 0 | Forks: 0
# 使用机器学习进行肺癌风险预测
## 概述
本项目提出一个**端到端的机器学习框架**,用于基于结构化临床问卷数据的**早期肺癌风险预测**。工作流程包括数据预处理、探索性分析、特征选择、多种机器学习模型的对比评估,以及用于二分类任务的神经网络实验。
该实现作为以下研究论文的主要实验流程开发:
**基于患者报告临床数据的早期肺癌风险预测机器学习框架**
**会议:** MPCON 2026
**状态:** 已接受 • 已发表 • 印刷中
本研究的目标是构建一个可复现、可解释且高效的机器学习流水线,用于基于非侵入性患者报告数据的健康导向风险预测。
# 问题陈述
肺癌的早期诊断通常依赖昂贵或侵入性的诊断方法。本项目探讨是否可以通过机器学习模型,利用**基于问卷的人口统计、生活方式和症状信息**来预测肺癌风险。
目标是开发一个可解释的预测框架,以支持低成本的初步风险评估。
# 数据集描述
数据集包含基于问卷的结构化临床信息,包括:
### 人口统计特征
- 年龄
- 性别
### 生活方式因素
- 吸烟
- 饮酒
- 同伴压力
### 症状指标
- 咳嗽
- 喘息
- 胸痛
- 疲劳
- 吞咽困难
- 呼吸短促
- 过敏
- 焦虑
- 黄色手指
- 慢性病
### 目标变量
```
1 → Lung Cancer Present
0 → Lung Cancer Absent
```
该问题被视为一个**二分类任务**。
# 项目工作流程
## 1. 数据预处理
实现的预处理流水线包括:
- 删除重复项
- 缺失值插补(中位数/众数)
- 基于IQR的异常值检测
- 标签编码
- Min-Max归一化
- 分层训练测试集划分(80:20)
目的:
- 减少噪声
- 提高模型稳定性
- 处理偏态分布
- 提高泛化能力
## 2. 探索性数据分析
执行了以下操作:
- 特征分布分析
- 相关性分析
- 热图可视化
- 类别平衡检查
- 临床变量间关系分析
EDA在模型训练前帮助识别了有意义的模式。
## 3. 特征选择
特征选择通过以下方法进行:
- 皮尔逊相关系数
- 相关性阈值过滤
- 基于热图的多重共线性检查
所选变量同时保留了:
- 统计相关性
- 临床可解释性
## 4. 机器学习模型
实现并比较了多种经典机器学习算法:
### 经典模型
- 逻辑回归
- K近邻
- 决策树
- 随机森林
- 高斯朴素贝叶斯
- AdaBoost
- 支持向量机(RBF核)
## 5. 深度学习模型
使用**TensorFlow/Keras**实现了一个前馈神经网络
架构包括:
输入层 → 隐藏层(ReLU) → Sigmoid输出层
实验了:
- 不同学习率
- 不同隐藏层
- 不同训练轮数
- 超参数调优
# 模型评估
模型评估使用了:
- 准确率
- 精确率
- 召回率
- F1分数
- ROC-AUC
- 分层交叉验证
交叉验证用于提高鲁棒性并减少过拟合。
# 性能总结
| 模型 | 准确率 | AUC |
|------|------|------|
| 决策树 | ~76% | ~0.80 |
| KNN | ~77% | ~0.81 |
| 随机森林 | ~81% | ~0.85 |
| 高斯朴素贝叶斯 | ~75% | ~0.79 |
| AdaBoost | ~80% | ~0.84 |
| 逻辑回归 | ~77% | ~0.82 |
| SVM (RBF) | ~80% | ~0.86 |
| 神经网络 | ~82% | ~0.86 |
### 观察结果
- **随机森林**具有很强的整体稳定性和可解释性。
- **SVM**产生了具有竞争力的ROC-AUC性能。
- **神经网络**达到了相当的准确率,但需要额外调优。
- 集成方法在有限的结构化临床数据上表现良好。
# 使用的技术
## 编程语言
- Python
## 库与框架
- NumPy
- pandas
- Matplotlib
- scikit-learn
- TensorFlow / Keras
## 机器学习概念
- 二分类
- 特征工程
- 统计分析
- 交叉验证
- 超参数调优
- 神经网络
- 模型评估
# 可复现性
为确保实验可复现,工作流程包括:
- 固定的随机种子
- 标准化的预处理
- 一致的训练测试集划分
- 交叉验证
- 确定性的评估流水线
这提高了透明度和基准测试的可靠性。
# 仓库结构
```
├── 1stProposal.ipynb # Complete implementation notebook
├── survey_lung_cancer.csv # Dataset
├── README.md
```
# 主要成果
✔ 开发了端到端的健康医疗机器学习流水线
✔ 比较了经典机器学习和深度学习方法
✔ 达到了~80–82%的预测准确率
✔ 展示了可复现的工作流设计
✔ 贡献于一篇已接受的研究论文
# 未来改进
潜在的扩展包括:
- 可解释人工智能
- 超参数优化
- 更大的临床数据集
- 多模态健康预测
- 与医学影像数据的集成
- 使用Flask或FastAPI进行部署
# 研究贡献
本仓库贡献于:
**基于患者报告临床数据的早期肺癌风险预测机器学习框架**
**会议:** MPCON 2026
**出版状态:** 已接受 • 已发表 • 印刷中
# 免责声明
本项目**仅供研究和教育目的**,不应作为独立的临床诊断系统使用。
标签:Apex, 临床决策支持, 临床数据, 临床调查, 二元分类, 低成本诊断, 分类模型, 医疗健康, 可解释性, 数据管道, 数据预处理, 机器学习, 模型评估, 比较分析, 特征工程, 神经网络, 端到端框架, 肺癌预测, 肿瘤学, 软件工程, 逆向工具, 风险预测