Final project for the McGill AI Society's Accelerated Introduction to Machine Learning Bootcamp (Fall 2023). Original dataset of songs retrieved from Kaggle.
Vibe is a content-based music recommendation system with a dataset of over fifty thousand unique artists and a million songs released between 2000 and 2023. The system can handle both artists and specific songs as input; recommendations are generated using SciPy's cdist method by selecting the songs in the dataset with the smallest Euclidean distance from the given input.
Vibe is hosted and available online on Streamlit and Hugging Face.
To run the app locally, install the packages in requirements.txt and and run
streamlit run app/streamlit_app_local.py
- app/
- files for the Streamlit application
- data/
- process_data.ipynb: file used to process the data.csv obtained from Kaggle and save it as a Parquet file
- data_encoded.parquet: processed data used by the Streamlit application to generate recommendations
- MAIS 202/
- deliverables submitted to the MAIS 202 bootcamp