Demo for DataMoshpit - Psycho-social Metal š¤ Analysis
Trait data: There is no scientific dataset that has measured Big Five or psychosocial values for each band individually. What we can do is approximate band profiles from their subgenre tags, because the psychological research gives us associations at the genre family level (e.g., āextreme metalā ā higher nonconformity/uniqueness, āprogressiveā ā higher openness, etc.).
ToDO:
- Loads the full band roster (e.g. from Kaggleās Metal Archives dataset URL: https://www.kaggle.com/datasets/guimacrlh/every-metal-archives-band-october-2024/data or via API : https://www.metal-api.dev/index.html )
- Normalizes the genre text.
- Uses a subgenre ā trait mapping dictionary (like the one weāve started, but expanded).
- Outputs a CSV: Band, Country, Genre, Openness, Nonconformity, Authority_skepticism, Extraversion, Emotion_regulation, Sensation_seeking
| Band | Genre | Openness | Nonconformity | Authority skepticism | Extraversion | Emotion regulation | Sensation-seeking |
|---|---|---|---|---|---|---|---|
| Slayer | Thrash Metal | 0.68 | 0.60 | 0.60 | 0.42 | 0.60 | 0.70 |
| Opeth | Progressive Metal | 0.85 | 0.60 | 0.50 | 0.40 | 0.60 | 0.60 |
| Nightwish | Symphonic Metal | 0.70 | 0.50 | 0.30 | 0.60 | 0.55 | 0.50 |
| Behemoth | Blackened Death | 0.70 | 0.75 | 0.70 | 0.30 | 0.65 | 0.75 |
| Sabaton | Power Metal | 0.65 | 0.45 | 0.30 | 0.70 | 0.50 | 0.55 |
- Questionnaire on app run metal_recommender_app.py and make sure to have installed streamlit:
pip install streamlit
pip install pandas
pip install numpy
streamlit run metal_recommender_app.py
- go to folder and run:
streamlit run metal_recommender_app.py
open URL: http://localhost:8501/
- Have Resource group created and Web App created
- Run Github Actions and change YAML file
- Have permissions on on resource group added
- Add role assignment (role = Contributor) for your Web app