This repository contains my data science minor project on analyzing mental health, stress, anxiety, and depression among Indian youth using machine learning.
- Dataset: 600 survey responses from Indian students and young professionals
- Goal:
- Understand stress and mental health patterns
- Predict stress levels and mental health risk
- Identify high-stress students who may need support
collecteddata.csvβ Original survey datasetmental_health_analysis.ipynbβ Main Jupyter Notebook with:- Data loading and exploration
- Data cleaning and preprocessing
- Outlier detection and removal
- Feature engineering
- Machine learning modeling (5 insights)
- Result summaries and visualizations
report/Mental_Health_Analysis_Report.pdfβ Full project report (30+ pages)
-
Predicting Student Stress Levels
- Regression models to predict stress (1β5) from lifestyle and demographic features
- Best model: Linear Regression (MAE β 0.79)
-
Identifying Mental Health Risk (Anxiety/Depression)
- Binary classification (has mental issue vs no issue)
- Best model: Logistic Regression (Accuracy β 66%, good recall for screening)
-
Classifying Emotional States
- Multi-class classification (Happy, Neutral, Stressed, Anxious, Depressed)
- Best model: Random Forest (slightly better than random, emotional state is complex)
-
Impact of Sleep on Stress
- Regression models using sleep hours, screen time, exercise, age group
- Confirms that lifestyle alone cannot fully explain stress, but sleep still matters
-
Detecting High-Stress Students (Levels 4β5)
- Binary classification (high stress vs low/medium stress)
- Best model: SVM (Accuracy β 66%, good recall for high-stress cases)
- Python, Jupyter Notebook
- pandas, NumPy
- matplotlib, seaborn
- scikit-learn (Linear Regression, Logistic Regression, Decision Trees, Random Forest, SVM, Naive Bayes, KNN)
- Clone the repository:
git clone https://github.com/mayank2295/mental-health-analysis-india.git cd mental-health-analysis-india