In this project you will build and explain a small music recommender system.
Your goal is to:
- Represent songs and a user "taste profile" as data
- Design a scoring rule that turns that data into recommendations
- Evaluate what your system gets right and wrong
- Reflect on how this mirrors real world AI recommenders
Replace this paragraph with your own summary of what your version does.
Explain your design in plain language.
Some prompts to answer:
- What features does each
Songuse in your system- For example: genre, mood, energy, tempo
- What information does your
UserProfilestore - How does your
Recommendercompute a score for each song - How do you choose which songs to recommend
You can include a simple diagram or bullet list if helpful.
-
Create a virtual environment (optional but recommended):
python -m venv .venv source .venv/bin/activate # Mac or Linux .venv\Scripts\activate # Windows
-
Install dependencies
pip install -r requirements.txt- Run the app:
python -m src.mainRun the starter tests with:
pytestYou can add more tests in tests/test_recommender.py.
Paste a sample of your recommender's output here as a text block so a reader can see what it produces:
# e.g.:
# User profile: genre=indie, mood=chill, energy=low
# Recommendations:
# 1. ...
# 2. ...
# 3. ...
Screenshot or video (optional):
Use this section to document the experiments you ran. For example:
- What happened when you changed the weight on genre from 2.0 to 0.5
- What happened when you added tempo or valence to the score
- How did your system behave for different types of users
Summarize some limitations of your recommender.
Examples:
- It only works on a tiny catalog
- It does not understand lyrics or language
- It might over favor one genre or mood
You will go deeper on this in your model card.
Read and complete model_card.md:
Write 1 to 2 paragraphs here about what you learned:
- about how recommenders turn data into predictions
- about where bias or unfairness could show up in systems like this