Mostafa-Mahmoud-H/Heart-Disease-Detection-Project
GitHub: Mostafa-Mahmoud-H/Heart-Disease-Detection-Project
一个融合基于规则的专家系统与机器学习的心脏病风险评估智能诊断工具。
Stars: 0 | Forks: 0
# 🏥 心病检测系统(混合人工智能方法)
一个用于心脏病风险评估的综合智能系统,集成了**基于规则的专家系统**(推理引擎)和**机器学习**方法。
## 🚀 概述
本项目展示了两种不同的人工智能范式,用于解决临床诊断问题:
1. **基于规则的方法**:使用预定义的医学启发式规则提供可解释的风险评估。
2. **机器学习方法**:使用统计模式根据历史数据预测心脏病的概率。
## 🛠️ 实施阶段
### 1. 数据处理与 EDA
- **清洗**:处理缺失值、删除重复项并处理异常值。
- **归一化**:对数值特征(年龄、血压、胆固醇)应用 `RobustScaler`。
- **编码**:对分类变量(胸痛类型、心电图结果)使用 `OneHotEncoder`。
- **可视化**:生成相关热图和特征重要性图以理解数据趋势。
### 2. 基于规则的专家系统(Experta)
- 使用 `experta` 库实现推理引擎。
- **规则**:定义了 13 条以上医学规则(例如年龄/胆固醇交互作用、血压阈值)。
- **推理**:使用前向链机制将患者分类为 `低`、`中等` 或 `高风险` 级别。
### 3. 机器学习模型(决策树)
- **算法**:Scikit-Learn 的 `DecisionTreeClassifier`。
- **管道**:将预处理和模型训练集成到单个 `joblib` 管道中以保持一致性。
- **指标**:使用准确率、精确率、召回率和 F1 分数进行评估。
### 4. 集成与 UI(Streamlit)
- 开发了一个交互式网络仪表板,用户可以输入患者临床数据并接收双重诊断结果(机器学习与专家系统)。
## 📂 项目结构
```
Heart_Disease_Detection/
│── data/ # Raw and preprocessed CSV datasets
│── notebooks/ # Data analysis and model training notebooks
│── rule_based_system/ # Expert system engine (expert_system.py) and rules (rules.py)
│── ml_model/ # Training scripts, prediction logic, and saved .pkl models
│── reports/ # Accuracy comparison and evaluation scripts
│── ui/ # Streamlit web application (app.py)
│── utils/ # Helper scripts for data cleaning
│── requirements.txt # Project dependencies
└── README.md # Project documentation
```
## 🏁 运行方法
安装依赖项:
Bash
pip install -r requirements.txt
启动仪表板:
Bash
streamlit run ui/app.py
## 👥 开发团队
- * Nour Saudi
- * Omar Mohamed Mostafa
- * Mostafa Mahmoud
标签:Apex, EDA, Experta, F1分数, Kubernetes, OneHotEncoder, RobustScaler, Scikit-Learn, Streamlit, Web仪表板, 临床诊断, 交互式诊断, 健康风险评估, 决策树, 决策树分类, 准确率, 医学规则, 医疗数据, 召回率, 可解释AI, 心脏病诊断, 心血管疾病检测, 推理引擎, 数据清洗, 数据预处理, 智能诊断, 机器学习, 模型评估, 混合AI, 特征工程, 精确率, 规则专家系统, 访问控制, 逆向工具