Hi, my name is Christian, and this project is for a personal music recommendation system. It works by using machine learning (ML) to figure out what to recommend to the user based on their current interests in music. The reason for this project was that I felt like the current music recommendations that apps like Spotify use often give inaccurate results for me, so I wanted to make a personalized system to have more music to enjoy. There were many different choices for what recommendation system I would make, but I chose music because I listen to it all the time while working, cleaning and doing many other tasks. Also, I wanted to strengthen my understanding in Python and AI principles since I'll be taking an intro to AI course in the future.
- Programming Languages: Python (3.9+)
- Libraries: NumPy, pandas and scikit-learn
- ML Technique: Content-based filtering with cosine similarity
- Data Prep: StandardScaler feature scaling (boolean to int for explicit)
- Interface: Command Line
- Use 'python Recommender.py' to run
- Optional: You may use the script as a library using 'from Recommender import find_song, recommend,' for instance.
- "song not found" → Check spelling/diacritics; try without artist/album; lower threshold.
- "liked songs not found" → Your input tracks weren’t in songs.csv.
- "recommendations not found" → Increase k, set same_genre=False, or raise popularity_weight a bit.
- Email: Christian.S.Vargas4@gmail.com
- GitHub: github.com/christiansvargas/recommendation-system
- LinkedIn: linkedin.com/in/christian-s-vargas
- Initial Spark: "Evaluation Metrics for Recommendation Systems – An Overview"
- Training Data: "Spotify Tracks Dataset"
- Add diversity/novelty constraints (avoid over-recommending the same artist/genre)
- Web app UI
- Offline evaluation (Precision@K, MAP, Coverage)
- Spotify API integration to fetch live audio features
- The recommender gives popularity only a small nudge (15% by default), so it can still surface lesser-known tracks when they match your taste.