https://github.com/akamohid/stress-level-predictor

πŸ“Š Predict student stress levels (Low/Medium/High) with ML for early intervention and support.πŸŽ“

https://github.com/akamohid/stress-level-predictor

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • β—‹
    CITATION.cff file
  • βœ“
    codemeta.json file
    Found codemeta.json file
  • βœ“
    .zenodo.json file
    Found .zenodo.json file
  • β—‹
    DOI references
  • β—‹
    Academic publication links
  • β—‹
    Academic email domains
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

πŸ“Š Predict student stress levels (Low/Medium/High) with ML for early intervention and support.πŸŽ“

Basic Info
  • Host: GitHub
  • Owner: akamohid
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 3.94 MB
Statistics
  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

# πŸŽ“ Stress Level Predictor

πŸ† Project Overview

Predict student stress levels (Low 🟒, Medium 🟑, High πŸ”΄) using psychological, academic, and lifestyle survey data via machine learning. Empower universities to intervene early and support student well-being.


πŸ”‘ Key Features

  • 🧹 Data Cleaning & Preprocessing
  • πŸ“Š Exploratory Data Analysis (EDA)
  • πŸ“‰ Dimensionality Reduction with PCA
  • πŸ€– Model Training:
    • Decision Tree 🌳
    • Random Forest 🌲
    • Support Vector Machine βš”οΈ
    • K-Nearest Neighbors πŸ“
    • Logistic Regression βž—
    • Gradient Boosting πŸš€
  • πŸ“ˆ Model Evaluation: Accuracy, Precision, Recall, F1-Score
  • πŸ’‘ Comparison Dashboard of all models

πŸ“‚ Repository Structure

STRESS-LEVEL-PREDICTOR/ β”œβ”€β”€ πŸ“ data/ # Raw & processed datasets β”‚ └── Dataset.csv # 1,100 records Γ— 21 features β”œβ”€β”€ πŸ“ docs/ # Markdown docs β”‚ └── Project Report.docx # Final project document β”œβ”€β”€ πŸ“ notebooks/ # Exploratory Jupyter notebooks β”‚ └── Code.ipynb # End-to-end pipeline β”œβ”€β”€ πŸ“ src/ # Python scripts β”‚ β”œβ”€β”€ data_preprocessing.py # Load β†’ Clean β†’ Scale β†’ Split β”‚ β”œβ”€β”€ eda.py # Plots & insights β”‚ β”œβ”€β”€ modeling.py # Train Decision Tree + metrics β”‚ └── evaluation.py # Train & compare all models β”œβ”€β”€ πŸ“„ .gitignore # Sensitive files to ignore β”œβ”€β”€ πŸ“„ LICENSE # MIT License β”œβ”€β”€ πŸ“„ README.md # This file └── πŸ“„ requirements.txt # Python dependencies


πŸ’Ύ Installation

  1. Clone
    bash git clone https://github.com/akamohid/STRESS-LEVEL-PREDICTOR.git cd STRESS-LEVEL-PREDICTOR

  2. Setup environment
    bash python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows pip install -r requirements.txt


πŸš€ Quick Start

  1. Preprocess Data
    bash python src/data_preprocessing.py
  2. Run EDA
    bash python src/eda.py
  3. Train & Evaluate Decision Tree
    bash python src/modeling.py
  4. Compare All Models
    bash python src/evaluation.py
  5. Or open the Jupyter Notebook for a unified, annotated workflow:
    bash jupyter lab notebooks/Code.ipynb

πŸ“Š Results Overview

| Model | Accuracy | Precision | Recall | F1 Score | |------------------------|:--------:|:---------:|:------:|:--------:| | Decision Tree 🌳 | 0.90 | 0.90 | 0.90 | 0.89 | | Random Forest 🌲 | 0.89 | 0.88 | 0.89 | 0.87 | | Gradient Boosting πŸš€ | 0.88 | 0.87 | 0.88 | 0.86 | | SVM βš”οΈ | 0.87 | 0.86 | 0.87 | 0.86 | | KNN πŸ“ | 0.85 | 0.85 | 0.85 | 0.84 | | Logistic Regression βž— | 0.86 | 0.86 | 0.86 | 0.86 |

πŸ“Œ Decision Tree delivered the best blend of performance and interpretability.


πŸ“š Literature Review

See docs/literature_review.md for details on: - Filippis & Al Foysal (2024)
- Arya et al. (2024)
- Singh et al. (2024)
- …and others.


πŸ“ˆ Git Workflow

bash git init git remote remove origin 2>$null git remote add origin https://github.com/akamohid/STRESS-LEVEL-PREDICTOR.git git add . git commit -m "Initial commit: Full Stress Level Predictor pipeline" git branch -M main git push -u origin main


πŸ‘₯ Team Members


πŸ“„ License

This project is released under the MIT License. See LICENSE for details.


πŸ“¬ Contact & Feedback

Made with ❀️ by Mohid Arshad.
βœ‰οΈ Email: akamohid@gmail.com
πŸ”— LinkedIn
Feel free to open issues, contribute, or drop a ⭐!

Owner

  • Login: akamohid
  • Kind: user

GitHub Events

Total
  • Watch event: 1
  • Push event: 4
  • Create event: 2
Last Year
  • Watch event: 1
  • Push event: 4
  • Create event: 2

Dependencies

requirements.txt pypi
  • matplotlib *
  • numpy *
  • pandas *
  • python-docx *
  • scikit-learn *
  • seaborn *