moDgass/Alzheimer-s-Detection
GitHub: moDgass/Alzheimer-s-Detection
基于随机森林分类器的机器学习项目,利用临床认知评分和生物标志物数据对阿尔茨海默病进行三分类(认知正常/轻度认知障碍/阿尔茨海默病)预测。
Stars: 0 | Forks: 0
# 使用机器学习进行阿尔茨海默病检测
## 项目概述
本项目实现了一个机器学习模型,利用临床数据来检测和分类阿尔茨海默病的阶段。该模型利用诊断信息、认知评分和生物标志物数据来提供准确的疾病分类。
## 目标
本项目的目标是:
- 构建一个用于阿尔茨海默病分类的预测模型
- 处理并合并多源临床数据集
- 为机器学习标准化和编码特征
- 训练随机森林分类器 (Random Forest Classifier) 以进行准确的诊断预测
## 数据集
本项目使用的临床数据包含:
- **诊断目标 (Diagnosis Target)**:患者的实际诊断结果
- **认知评分 (Cognitive Scores)**:认知评估结果
- **生物标志物与数据 (Biomarkers & Data)**:临床测量和影像数据(FDG-PET 等)
数据基于患者标识符 (RID) 进行合并,以创建全面的特征集。
## 疾病分类
该模型预测三个类别:
- **CN**:认知正常 (Cognitively Normal)
- **LMCI**:晚期轻度认知障碍 (Late Mild Cognitive Impairment)
- **AD**:阿尔茨海默病 (Alzheimer's Disease)
## 技术与库
- **Python 3.x**
- **pandas**:数据处理与合并
- **numpy**:数值计算
- **scikit-learn**:机器学习算法
- StandardScaler:特征缩放
- train_test_split:数据拆分
- RandomForestClassifier:分类模型
- LabelEncoder:类别编码
- **matplotlib**:数据可视化
- **openpyxl**:Excel 文件处理
## 项目工作流
1. **数据加载**:从 Excel 文件中加载多个工作表
2. **数据清洗**:移除缺失值
3. **数据整合**:基于患者 ID 合并数据集
4. **特征缩放**:标准化数值特征
5. **特征工程**:对类别变量进行编码
6. **模型训练**:训练随机森林分类器
7. **评估**:评估模型性能
## 主要特性
- 多工作表 Excel 数据整合
- 自动处理缺失值
- 标准化的特征缩放
- 类别变量编码
- 训练集与测试集拆分 (80-20)
- 随机森林集成学习
## 用法
```
# 加载 notebook 并按顺序运行 cells
# 确保数据文件 "CSI_7_MAL_2324_CW_resit_data.xlsx" 位于同一目录下
# notebook 将会:
# 1. 加载并合并 clinical 数据集
# 2. 预处理数据
# 3. 训练 model
# 4. 生成预测
```
## 文件
- `Alzheimer's Detection.ipynb` - 包含完整 pipeline 的主 Jupyter notebook
- `CSI_7_MAL_2324_CW_resit_data.xlsx` - 临床数据集(必需)
## 模型详情
- **算法**:Random Forest Classifier
- **训练集与测试集拆分**:80-20
- **特征缩放**:StandardScaler
- **编码**:对目标变量使用 LabelEncoder
## 模型性能指标
模型的性能可以通过以下指标进行评估:
- 准确率 (Accuracy)
- 精确率 (Precision) 与 召回率 (Recall)
- 混淆矩阵 (Confusion Matrix)
- 分类报告 (Classification Report)
## 学习成果
本项目展示了:
- 数据预处理与整合
- 特征工程技术
- 模型训练与验证
- 医疗数据分析
- 机器学习最佳实践
## 未来改进
- 特征重要性分析
- 超参数调优
- 交叉验证实现
- 其他分类算法比较
- 使用 SHAP 值提升模型可解释性
- 用于预测的 Web 界面
## 许可证
本项目是我的机器学习项目合集的一部分。
## 作者
## Mohamed Diaby Gassama
**注意**:本项目需要临床数据集才能运行。在执行之前,请确保已安装所有依赖项。
标签:Apex, NoSQL, Python, 医疗健康, 无后门, 机器学习, 疾病预测, 逆向工具, 随机森林