This repository contains the code and notebooks for a playlist recommendation algorithm developed using song data obtained from the Spotify API. The recommendation system utilizes a combination of machine learning techniques, including random forest algorithms and cosine similarity to personalize playlist suggestions based on user input.
- data: Contains datasets used in the project, including "ms_testing" for model evaluation and "extracted to spotify" for extracted song data from the Spotify API.
- eda: Includes the exploratory data analysis notebook.
- feature selection: Consists of the feature selection notebook.
- pipeline: Contains a README file providing an overview of the project.
- data_preprocessing.ipynb: Notebook showcasing the data preprocessing steps.
- exploratory_data_analysis.ipynb: Offers insights from exploratory data analysis.
- feature_selection.ipynb: Details the feature selection process.
- model_selection.ipynb: Describes the model selection and recommendation system implementation.
The project focuses on developing a recommendation algorithm for Spotify playlists. It starts with data extraction from the Spotify API, followed by extensive data preprocessing and exploratory analysis. The chosen features are selected using a specific process detailed in the provided notebooks.
The heart of the project lies in the "model_selection.ipynb" notebook, which demonstrates the utilization of random forest algorithms and cosine similarity to create a robust playlist recommendation system. The "pipeline" directory includes a README file offering an overview of the project structure.
Feel free to explore the notebooks and directories for a comprehensive understanding of the project's process and implementation.
To use the code and notebooks:
- Clone this repository.
- Utilize Jupyter Notebook or JupyterLab to open and interact with the provided notebooks.
- Follow the sequential order of notebooks for a step-by-step understanding of the project.
- EthanFalcao - Owner and main contributor
We welcome feedback, contributions, and suggestions to enhance and improve this recommendation algorithm.