https://github.com/noahtigner/discoverdaily
A Spotify Recommender System. Trains a Classifier on your musical tastes and recommends songs daily. Uses the Spotify API and scikit-learn for machine learning.
https://github.com/noahtigner/discoverdaily
machine-learning recommender-system scikit-learn spotify spotify-api
Last synced: about 2 months ago
JSON representation
A Spotify Recommender System. Trains a Classifier on your musical tastes and recommends songs daily. Uses the Spotify API and scikit-learn for machine learning.
- Host: GitHub
- URL: https://github.com/noahtigner/discoverdaily
- Owner: noahtigner
- Created: 2019-12-22T20:41:58.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-06-22T02:19:37.000Z (about 3 years ago)
- Last Synced: 2025-04-08T14:42:46.657Z (about 1 year ago)
- Topics: machine-learning, recommender-system, scikit-learn, spotify, spotify-api
- Language: Python
- Homepage:
- Size: 1.45 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DiscoverDaily
A Recommender System that uses scikit-learn and the Spotify API.
Analyzes your Spotify library - including likes and dislikes - to produce music recommendations for you every day.
### Exploratory Data Analysis of my musical taste

### The Decision Tree Classifier

### Use
You will need a Spotify Client ID and Client SECRET. See: [Spotify Authorization](https://developer.spotify.com/dashboard/applications)
The application will analyze your library, as well as over 2000 songs that I have arbitrarily deemed 'bad'.
* export your SPOTIPY_USERNAME, SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, and SPOTIPY_REDIRECT_URI
* See [spotipy env](https://spotipy.readthedocs.io/en/latest/#authorization-code-flow)
* To run on a daily basis:
* run run.sh
* For a single use:
* run discoverdaily.py
* args:
* playlist_length: number of track recommendations to generate
### Development
Written in Python.
Dependencies:
* sklearn for machine learning
* pandas for data management
* Spotipy, a wrapper around the Spotify API
* sqlite3 for DBM
## Author
Noah Tigner
noahzanetigner@gmail.com