Simple Movie Recommender Using SVD
svdrecommender-systemsmovielenscosine-similaritypython
Abstraction: SVD-based movie recommender using cosine similarity on principal components
Key points:
- Uses MovieLens 1M dataset; SVD decomposes normalized ratings matrix A = U S V^T
- Top k columns of V^T (principal components) represent the k most informative rating directions; k=50 used in example
- Cosine similarity over the reduced V^T space finds movies with similar rating patterns across users
- Toy Story recommendations include Toy Story 2, Babe, Bug's Life — genre overlap without explicit genre features
- SVD and PCA via covariance eigenvectors yield identical results: V^T columns equal eigenvectors of A^T A
- SVD preferred over manual PCA: singular values are pre-sorted; Facebook's fast randomized SVD is faster still
Connections: Movielens · Singular Value Decomposition · Collaborative Filtering · Recommender Systems · Dimensionality Reduction
Source: https://alyssaq.github.io/2015/20150426-simple-movie-recommender-using-svd/