This web application employs the use of Principal Component Analysis (PCA) for recommending movies based on user submitted movie ratings.
- Movie Ratings Form: This form consists of dynamically generated rows for movie ratings and autocomplete fields. Users can fill in several movies they like or dislike and their corresponding ratings for each movie.
- Movie Recommendation List: A list of movie recommendations will be generated based on the submitted form. This list is the result of executing PCA to predict user-ratings of other movies in the database. Users may click on each movie to be redirected the respected detail page. Note: any movie that an user has rated will not be in this list of recommendation.
- User Authentication: This web app keeps track of movie ratings submitted by authenticated users and continually updates recommendations.
- source code
- movie data (data/) released by MovieLens
- populate_movie_app.py: a script to extract .csv movie data and populate database
- 3rd party python packages: numpy, scipy
- Python 3 (tested with 3.7.3 on Windows)
- Django (tested with 2.2.3 on Windows)
python manage.py runserver
Live on AWS Elastic Beanstalk
Note: please refer to deploy branch for source!