Creating Movie Recommendations With Machine Learning
MoviRec is the capstone project for Chase Kregor's B.S. in Information Science at the University of Colorado Boulder.
A great way to display technical capabilities is to show skills in Machine Learning. The ability to project people’s future preferences is extremely valuable. Considering everyone and the layman loves movies, why not build a great movie recommender?
Table of Contents
I am using the MovieLens 20M Dataset, it is considered on of the most robust movie rating datasets of all time and is maintained by GroupLens, which is a research lab in the Department of Computer Science and Engineering at the University of Minnesota, Twin Cities.
- Loading the Data
- Building the ML Models
- Building the Flask Website
- Hosting Flask Website
Project has very hard but very rewarding.
I presented my capstone at the annual INFO showcase. The link to the video can be found here.
Next Steps & Future Work
References & Thanks
- Create a scikit-learn based prediction webapp using Flask and Heroku
- The Flask Mega-Tutorial Part II: Templates
- My fellow INFO Buff, Kyle Frye helped out on this project. I can't thank him enough for his support.
- Dr. Micheal Paul with help on the ML models.
- Dr. Brian Keegan with overall guidance.
- Dr. Lecia Barker for teaching the class and helping me refine the project.
Downloading the MovieLens dataset and loading it onto a single computer can be very difficult. On top of this Github has a file upload limit which stops me from being able to upload the dataset that I used. If you want to download the CSV I used go to the link in the data folder.
- Git clone https://github.com/chasekregor/INFOCapstone.git
- Download the dataset at by clicking here and drag the "ml-20m" folder with all the CSVs into the repository you just downloaded.
- Run create_db_and_model.ipynb
- Navigate to flask-app folder and run app.py. The website should be served at http://127.0.0.1:5000/.