https://github.com/benjikazzooe/diabetes_vorhersage
Machine Learning Model zur Diabetes-Klassifikation mit SHAP-Analyse
https://github.com/benjikazzooe/diabetes_vorhersage
data-science explainable-ai machine-learning shap xgboost
Last synced: 6 months ago
JSON representation
Machine Learning Model zur Diabetes-Klassifikation mit SHAP-Analyse
- Host: GitHub
- URL: https://github.com/benjikazzooe/diabetes_vorhersage
- Owner: BenjiKazzooe
- Created: 2025-01-29T12:44:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-29T13:56:42.000Z (over 1 year ago)
- Last Synced: 2025-04-06T21:16:55.033Z (over 1 year ago)
- Topics: data-science, explainable-ai, machine-learning, shap, xgboost
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
README.md:
# 🏥 Diabetes-Klassifikation mit SHAP-Analyse
📊 **Maschinelles Lernen zur Vorhersage von Diabetes mit XGBoost & Explainable AI (SHAP)**
---
## 🔹 **Projektbeschreibung**
Dieses Projekt nutzt **Machine Learning (XGBoost)**, um vorherzusagen, ob eine Person an Diabetes erkrankt ist.
Mit **SHAP (SHapley Additive Explanations)** analysieren wir die Bedeutung einzelner Features und verstehen, wie unser Modell Entscheidungen trifft.
---
## 🔹 **Daten**
📂 **Datensatz:** [Pima Indians Diabetes Dataset](https://www.kaggle.com/datasets/nancyalaswad90/review)
**Spalten im Datensatz:**
- `Glucose`: Blutzucker-Wert
- `BMI`: Body Mass Index
- `Age`: Alter der Person
- `Pregnancies`, `BloodPressure`, `SkinThickness` u.a.
---
## 🔹 **Verwendete Technologien**
🐍 **Python** (pandas, numpy, matplotlib)
🤖 **Machine Learning**: XGBoost
🎯 **Explainable AI**: SHAP
📈 **Datenvisualisierung**: Matplotlib, Seaborn
---
## 🏆 Modellvergleich: XGBoost vs. Random Forest vs. Logistische Regression
| Modell | Accuracy| Precision | Recall | F1-Score|
|----------------------------|---------|-----------|------------|---------|
| **XGBoost** | 0.6039 | 0.4706 | **0.8727** | 0.6115 |
| **Random Forest** | 0.7208 | 0.6071 | 0.6182 | 0.6126 |
| **Logi. Regression** |**0.7532**|**0.6491**| 0.6727 |**0.6607**|
### Fazit
- **XGBoost hat den höchsten Recall** (87,3%) → Bestes (und dann auch gewähltes) Modell, wenn möglichst viele Diabetes-Fälle erkannt werden sollen.
- **Logistische Regression hat die höchste Accuracy (75,3%)** → Bestes Modell, wenn Balance aus Precision & Recall gewünscht ist.
- **Random Forest liegt in der Mitte** → Kann evtl. mit Feature Engineering verbessert werden.
---
## ⏳ ARIMA-Zeitreihenanalyse für Glucose-Level
Das ARIMA(5,1,0)-Modell wurde trainiert, um den Glucose-Level über die Zeit zu modellieren.
**Modellstatistiken:**
- **AIC = 7614, BIC = 7642** → Niedrigere Werte sind besser.
- **Alle AR-Koeffizienten sind signifikant** (p-Wert < 0.05).
- **Kurtosis = 3.38, Skew = 0.20** → Fast normalverteilte Residuen.
- **Ljung-Box-Test (`Prob(Q) = 0.58`)** → Kein Hinweis auf starke Autokorrelation.
### 📌 Interpretation:
- **Das Modell kann für Glucose-Vorhersagen genutzt werden.**
- **Es zeigt eine autoregressive Struktur (Glucose-Level hängt von vorherigen Werten ab).**
---
## 🔹 **Feature Importance Analyse mit SHAP**
### 📊 **Wichtigste Features laut SHAP**
Hier eine SHAP Summary-Analyse, die zeigt, welche Features den größten Einfluss auf die Diabetes-Vorhersage haben:
- **Glucose ist der wichtigste Faktor für eine Diabetes-Diagnose**
- **BMI & Alter haben ebenfalls einen starken Einfluss**
- **Andere Faktoren (SkinThickness, BloodPressure) haben geringere Auswirkungen**

---
## **SHAP-Abhängigkeitsanalysen**
### 🔹 **Glucose vs. Diabetes-Risiko**
- Je höher der **Glucose-Wert**, desto größer die Wahrscheinlichkeit einer Diabetes-Erkrankung
- Der Effekt ist **linear** (höhere Werte = höheres Risiko)

### 🔹 **BMI vs. Diabetes-Risiko**
- Ein **BMI über 30** erhöht das Diabetes-Risiko sprunghaft
- Ältere Personen (rote Punkte) sind stärker betroffen

---