spent basically the whole day on cinematch, my movie recommender built on the movielens data. got the data pipeline done first (cleaning, filtering out users/movies with under 5 ratings, per-user 80/20 split) then built 5 models to actually compare instead of just picking one - popularity baseline, user-based CF, item-based CF, SVD with the surprise library, and a hybrid mixing collaborative + content. most annoying part was my neighborhood models kept recommending random obscure movies that one person happened to rate 5 stars, precision was like 0.01. added some shrinkage so thinly-backed picks get pushed down and it jumped to ~0.13. also kind of learned the hard way that best RMSE doesnt mean best recommendations - SVD won on RMSE but the hybrid actually ranks better. threw in cold-start handling, a similar-movies feature and “because you liked x, y, z” explanations, then wrapped it all in a streamlit app. also fixed a dumb 248mb cache bug (dense matrices that shouldve been sparse, now ~34mb). 11 tests passing. pretty happy with it, gonna clean up the readme and try deploying tomorrow.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.