This project proposes the development of a predictive model that analyzes the relationship between music preferences and mental health outcomes. By utilizing a diverse dataset, this model aims to identify patterns and correlations between individuals' music choices and psychological parameters like 'Conscientiousness', 'Neuroticism', Extraversion, K-10 scores and other personality traits. Users will be able to input their personal data regarding music preferences, lifestyle, and mental health status, and receive tailored predictions related to their mental health indicators.
- 🎶 Music Theory Analysis: Analyze musical relationship between music preferences and mental health outcomes.
- 📈 Predictive Models: Implemented machine learning models to identify what works best with the dataset.
- 📊 Data Prediction: Utilize XGBoost to predict how different musical preferences influence mental health metrics.
- 🧠 Mental Health Analytics: Use psychological datasets to assess the emotional and cognitive impact of musical patterns.
- Music Dataset: Contains features such as Openness, Conscientiousness, Agreeableness, etc.
- Mental Health Dataset: Includes user-reported emotional responses and mental health metrics.
Note: For ethical reasons, anonymized and publicly available datasets are used.
- Data Collection: Gather and preprocess musical features and mental health-related data.
- Feature Extraction: Extract key features like 'Unhealthy', 'Healthy', 'K-10' (mental health scale), and personality traits (Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism).
- Modeling: Build predictive models (e.g., linear regression, randomForest, XGBoost) to study the correlation between music and mental health.
- Evaluation: Validate models using metrics such as R2 Score.
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/PranitThomas/Predictive-Analysis-on-the-Influence-of-Music-on-Mental-Health cd Predictive-Analysis-on-the-Influence-of-Music-on-Mental-Health
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required dataset:
pip install -r User_scores_nonPII2.0.csv
- Python, Jupyter
- Pandas, NumPy (Data processing)
- Scikit-learn, XGBoost (Machine learning)
- Joblib (To save encoders, scalers and trained models)
Contributions are welcome! If you'd like to collaborate, please fork the repository and submit a pull request.
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature-branch
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature-branch
. - Open a pull request.