This is a web-based application that predicts the likelihood of depression among students based on their inputs. It uses a trained Neural Network model and provides SHAP-based visual explanations for transparency.
- Predicts depression level using a trained ML model
- SHAP visualizations to explain prediction outcomes
- Simple and interactive web interface using Flask
- Backend: Python (Flask, NumPy, Pandas, TensorFlow, SHAP)
- Frontend: HTML/CSS (Jinja templating)
- Visualization: Matplotlib, Seaborn
- Clone the Repository
git clone https://github.com/Periyzat/Student-Depression-Prediction-Web-App.git
cd Student-Depression-Prediction-Web-App- Create & Activate a Virtual Environment
python -m venv venv
source venv/bin/activate # for Linux/macOS
venv\Scripts\activate # for Windows- Install Dependencies
pip install -r requirements.txt- Run the Application
python app.py- Open your browser and navigate to: http://127.0.0.1:5000/
- Fill in the form with relevant personal details.
- Submit the form to receive a prediction along with a SHAP explanation chart.
- Model: Deep Neural Network (my_model.keras)
- Training Dataset: Depression Student Dataset on Kaggle
- Explainability: SHAP values are used to interpret model decisions.
Student-Depression-Prediction-Web-App/
├── app.py # Flask app
├── model/
│ ├── model.py # Model loading and prediction functions
│ └── my_model.keras # Trained deep learning model
├── dataset/
│ └── Depression Student Dataset.csv
├── templates/
│ ├── index.html # Home page form
│ └── result.html # Prediction + SHAP result
├── static/
│ └── depression_plot.png # Visualization asset
├── requirements.txt # Project dependencies
└── README.md # Project overviewContributions are welcome! Please open issues or submit a pull request for improvements or bug fixes.
This project is licensed under the MIT License.