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, 医疗健康, 无后门, 机器学习, 疾病预测, 逆向工具, 随机森林