Applying Singular Value Decomposition (SVD) on the data:
R (m*n) = U (m*m) S (m*n) VT (n*n)
Applying Non-negative Matrix Factorization (NMF) on the data:
R (m*n) = W (m*k) H (k*n)
Full data is used for training to give more accurate predictions.
The training set is split into 5 folds. Root Mean Squared Error (RMSE) is used for analysis.
n_factors with the least RMSE are passed as parameters. The best n_factors is selected to avoid underfitting and overfitting.
User_id and n are passed to the model to get the top n movies.
This project explored movie ratings data to understand and implement recommendation systems. Utilizing the MovieLens 1M dataset, which contains extensive movie ratings from users, the objective was to develop a system capable of suggesting movies to users based on their preferences.
Two different techniques were employed: Singular Value Decomposition (SVD) and Non-negative Matrix Factorization (NMF). These techniques allowed for the breakdown of the dataset into smaller components, enabling the identification of patterns and similarities between movies and users.
Following the training of the models on the entire dataset, their performance was evaluated using Root Mean Squared Error (RMSE) as a metric to ensure the accuracy of recommendations.
In conclusion, this project successfully constructed recommendation systems capable of providing movie suggestions to users based on their past preferences. Such systems hold potential utility for platforms like Netflix or Amazon Prime, aiding users in discovering new content aligned with their tastes.
Overall, this project sheds light on the functionality and application of recommendation systems using real-world datasets. Future endeavors could involve exploring more advanced techniques and integrating additional features to enhance recommendation accuracy.