The Depression Risk Analysis Platform is an advanced AI-powered web application that leverages machine learning algorithms to assess depression risk based on various lifestyle, academic, and health factors. The platform provides personalized risk assessments with explainable AI using SHAP (SHapley Additive exPlanations) methodology.
- Early Detection: Identify potential depression risk factors early
- Personalized Assessment: Provide individualized risk analysis
- Explainable AI: Transparent decision-making process
- User-Friendly Interface: Modern, responsive web design
- Professional Recommendations: Actionable health advice
- Multi-Model Support: Choose from 4 different ML algorithms
- Logistic Regression
- Random Forest
- XGBoost
- Support Vector Machine (SVM)
- Real-time Analysis: Instant risk assessment
- SHAP Explanations: Understand prediction factors
- Risk Level Classification: High/Medium/Low risk categorization
- Modern Design: Glassmorphism and gradient effects
- Responsive Layout: Works on all devices
- Interactive Elements: Smooth animations and transitions
- Professional Styling: Clean, medical-grade appearance
- Model Performance Metrics: Accuracy, confidence scores
- Feature Importance: SHAP waterfall charts
- Personalized Recommendations: Health improvement suggestions
- Statistical Overview: Comprehensive risk analysis
# Core Framework
Streamlit == 1.28+ # Web application framework
Python == 3.8+ # Programming language
# Machine Learning
scikit-learn == 1.3+ # ML algorithms and preprocessing
XGBoost == 1.7+ # Gradient boosting
SHAP == 0.43+ # Explainable AI
joblib == 1.3+ # Model serialization
# Data Processing
pandas == 2.0+ # Data manipulation
numpy == 1.24+ # Numerical computing
# Visualization
matplotlib == 3.7+ # Plotting library
plotly == 5.15+ # Interactive charts
- CSS3: Modern styling with gradients and animations
- HTML5: Semantic markup
- JavaScript: Interactive elements (via Streamlit)
- Responsive Design: Mobile-first approach
- Python 3.8 or higher
- pip package manager
- Git
- Clone the Repository
git clone https://github.com/Efe-Eroglu/xai-depression-predictor.git
cd depression-risk-analysis
- Create Virtual Environment
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
- Install Dependencies
pip install -r requirements.txt
- Verify Installation
python -c "import streamlit, pandas, sklearn, xgboost, shap; print('All packages installed successfully!')"
# Run the application
streamlit run app.py
# Access the web interface
# Open http://localhost:8501 in your browser
-
Model Selection
- Choose your preferred ML algorithm from the sidebar
- Each model has different accuracy characteristics
-
Data Input
- Fill in personal information in organized categories:
- 👤 Demographic Information
- 🎓 Academic Status
- 💼 Work/School Life
- 🏥 Health Status
- Fill in personal information in organized categories:
-
Analysis Process
- Click "Start Analysis" to process your data
- View real-time risk assessment results
-
Results Interpretation
- Review risk percentage and classification
- Examine SHAP analysis for factor importance
- Read personalized recommendations
# Compare different models
models = {
"Logistic Regression": "models/logistic_regression.pkl",
"Random Forest": "models/random_forest.pkl",
"XGBoost": "models/xgboost.pkl",
"SVM": "models/svm.pkl"
}
# Example input format
input_data = {
"Gender": 1, # 1 for Male, 0 for Female
"Age": 25,
"Academic Pressure": 5,
"Work Pressure": 3,
"CGPA": 7.5,
"Study Satisfaction": 6,
"Job Satisfaction": 7,
"Sleep Duration": 2, # 0-3 scale
"Dietary Habits": 2, # 0-3 scale
"Work/Study Hours": 8,
"Financial Stress": 4,
"Family History of Mental Illness": 0,
"Suicidal Thoughts": 0
}
- XGBoost: Best overall performance, handles non-linear relationships
- Random Forest: Good interpretability, robust to outliers
- Logistic Regression: Fast inference, good baseline
- SVM: Effective for high-dimensional data
depression-risk-analysis/
├── app.py # Main application file
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── models/ # Trained ML models
│ ├── logistic_regression.pkl
│ ├── random_forest.pkl
│ ├── xgboost.pkl
│ └── svm.pkl
├── utils/ # Utility functions
│ ├── __init__.py
│ ├── preprocessing.py # Data preprocessing
│ └── shap_helper.py # SHAP analysis utilities
├── assets/ # Static assets
└── depression-risk-xai.ipynb # Jupyter notebook for model training
- Fork the Repository
git clone https://github.com/Efe-Eroglu/xai-depression-predictor.git
- Create Feature Branch
git checkout -b feature/amazing-feature
-
Make Changes
- Follow PEP 8 style guidelines
- Add tests for new features
- Update documentation
-
Commit Changes
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
- Create Pull Request
- Describe your changes
- Link related issues
- Request code review
- Code Style: Follow PEP 8 conventions
- Documentation: Update README for new features
- Testing: Add unit tests for new functionality
- Performance: Optimize for speed and accuracy
This project is licensed under the MIT License - see the LICENSE file for details.
Depresyon Risk Analizi Platformu, çeşitli yaşam tarzı, akademik ve sağlık faktörlerine dayalı olarak depresyon riskini değerlendirmek için makine öğrenmesi algoritmalarını kullanan gelişmiş bir yapay zeka destekli web uygulamasıdır. Platform, SHAP (SHapley Additive exPlanations) metodolojisi kullanarak açıklanabilir yapay zeka ile kişiselleştirilmiş risk değerlendirmeleri sunar.
- Erken Tespit: Potansiyel depresyon risk faktörlerini erken belirleme
- Kişiselleştirilmiş Değerlendirme: Bireyselleştirilmiş risk analizi
- Açıklanabilir Yapay Zeka: Şeffaf karar verme süreci
- Kullanıcı Dostu Arayüz: Modern, responsive web tasarımı
- Profesyonel Öneriler: Uygulanabilir sağlık tavsiyeleri
- Çoklu Model Desteği: 4 farklı ML algoritmasından seçim
- Lojistik Regresyon
- Rastgele Orman
- XGBoost
- Destek Vektör Makinesi (SVM)
- Gerçek Zamanlı Analiz: Anında risk değerlendirmesi
- SHAP Açıklamaları: Tahmin faktörlerini anlama
- Risk Seviyesi Sınıflandırması: Yüksek/Orta/Düşük risk kategorilendirmesi
- Modern Tasarım: Glassmorphism ve gradient efektleri
- Responsive Düzen: Tüm cihazlarda çalışır
- İnteraktif Öğeler: Yumuşak animasyonlar ve geçişler
- Profesyonel Stil: Temiz, tıbbi kalite görünüm
- Model Performans Metrikleri: Doğruluk, güven skorları
- Özellik Önemliliği: SHAP waterfall grafikleri
- Kişiselleştirilmiş Öneriler: Sağlık iyileştirme önerileri
- İstatistiksel Genel Bakış: Kapsamlı risk analizi
# Temel Framework
Streamlit == 1.28+ # Web uygulama framework'ü
Python == 3.8+ # Programlama dili
# Makine Öğrenmesi
scikit-learn == 1.3+ # ML algoritmaları ve ön işleme
XGBoost == 1.7+ # Gradient boosting
SHAP == 0.43+ # Açıklanabilir AI
joblib == 1.3+ # Model serileştirme
# Veri İşleme
pandas == 2.0+ # Veri manipülasyonu
numpy == 1.24+ # Sayısal hesaplama
# Görselleştirme
matplotlib == 3.7+ # Grafik kütüphanesi
plotly == 5.15+ # İnteraktif grafikler
- CSS3: Gradient ve animasyonlarla modern stil
- HTML5: Semantik işaretleme
- JavaScript: İnteraktif öğeler (Streamlit üzerinden)
- Responsive Tasarım: Mobile-first yaklaşım
- Python 3.8 veya üzeri
- pip paket yöneticisi
- Git
- Repository'yi Klonlayın
git clone https://github.com/Efe-Eroglu/xai-depression-predictor.git
cd depression-risk-analysis
- Sanal Ortam Oluşturun
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
- Bağımlılıkları Yükleyin
pip install -r requirements.txt
- Kurulumu Doğrulayın
python -c "import streamlit, pandas, sklearn, xgboost, shap; print('Tüm paketler başarıyla yüklendi!')"
# Uygulamayı çalıştırın
streamlit run app.py
# Web arayüzüne erişin
# Tarayıcınızda http://localhost:8501 adresini açın
-
Model Seçimi
- Kenar çubuğundan tercih ettiğiniz ML algoritmasını seçin
- Her modelin farklı doğruluk özellikleri vardır
-
Veri Girişi
- Kişisel bilgileri organize kategorilerde doldurun:
- 👤 Demografik Bilgiler
- 🎓 Akademik Durum
- 💼 İş/Okul Yaşamı
- 🏥 Sağlık Durumu
- Kişisel bilgileri organize kategorilerde doldurun:
-
Analiz Süreci
- Verilerinizi işlemek için "Analizi Başlat"a tıklayın
- Gerçek zamanlı risk değerlendirme sonuçlarını görüntüleyin
-
Sonuç Yorumlama
- Risk yüzdesini ve sınıflandırmayı inceleyin
- Faktör önemliliği için SHAP analizini inceleyin
- Kişiselleştirilmiş önerileri okuyun
# Farklı modelleri karşılaştırın
models = {
"Logistic Regression": "models/logistic_regression.pkl",
"Random Forest": "models/random_forest.pkl",
"XGBoost": "models/xgboost.pkl",
"SVM": "models/svm.pkl"
}
# Örnek giriş formatı
input_data = {
"Gender": 1, # Erkek için 1, Kadın için 0
"Age": 25,
"Academic Pressure": 5,
"Work Pressure": 3,
"CGPA": 7.5,
"Study Satisfaction": 6,
"Job Satisfaction": 7,
"Sleep Duration": 2, # 0-3 ölçeği
"Dietary Habits": 2, # 0-3 ölçeği
"Work/Study Hours": 8,
"Financial Stress": 4,
"Family History of Mental Illness": 0,
"Suicidal Thoughts": 0
}
- XGBoost: En iyi genel performans, doğrusal olmayan ilişkileri işler
- Random Forest: İyi yorumlanabilirlik, aykırı değerlere karşı dayanıklı
- Logistic Regression: Hızlı çıkarım, iyi temel
- SVM: Yüksek boyutlu veriler için etkili
depression-risk-analysis/
├── app.py # Ana uygulama dosyası
├── requirements.txt # Python bağımlılıkları
├── README.md # Proje dokümantasyonu
├── models/ # Eğitilmiş ML modelleri
│ ├── logistic_regression.pkl
│ ├── random_forest.pkl
│ ├── xgboost.pkl
│ └── svm.pkl
├── utils/ # Yardımcı fonksiyonlar
│ ├── __init__.py
│ ├── preprocessing.py # Veri ön işleme
│ └── shap_helper.py # SHAP analiz yardımcıları
├── assets/ # Statik dosyalar
└── depression-risk-xai.ipynb # Model eğitimi için Jupyter notebook
- Repository'yi Fork Edin
git clone https://github.com/Efe-Eroglu/xai-depression-predictor.git
- Özellik Dalı Oluşturun
git checkout -b feature/harika-ozellik
-
Değişiklikleri Yapın
- PEP 8 stil rehberlerini takip edin
- Yeni özellikler için test ekleyin
- Dokümantasyonu güncelleyin
-
Değişiklikleri Commit Edin
git commit -m "Harika özellik eklendi"
git push origin feature/harika-ozellik
- Pull Request Oluşturun
- Değişikliklerinizi açıklayın
- İlgili sorunları bağlayın
- Kod incelemesi isteyin
- Kod Stili: PEP 8 kurallarını takip edin
- Dokümantasyon: Yeni özellikler için README'yi güncelleyin
- Test: Yeni işlevsellik için birim testleri ekleyin
- Performans: Hız ve doğruluk için optimize edin
Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.
- Streamlit ekibine harika framework için
- SHAP geliştiricilerine açıklanabilir AI için
- Tüm katkıda bulunanlara
Made with ❤️ for mental health awareness