San Wang bio photo

San Wang

Direction is more important than speed

Email LinkedIn Github

Overview

A recommendation system using content-based & collaborative filtering methods.
Here is a workflow overview about the demo:
workflow

What it can do:

  • recommend movies based on movie’s plot or cast(director & main actors and actresses)
  • recommend movies based on personal taste

methods:

  • content-based: NLTK, scikit-learn, TFIDF
  • collaborative filtering: surprise, pyspark(final demo)

demo: flask(finished), mySQL(finished), Spark(final demo)

Current demo:

Data Source

Explore the dataset using Tableau:

For better user experience, you can go to the original dashboard in Tableau public

Snapshot for flask demo pages:

Home page:
home page
About page:
about
Recommendation example:
Request Page:
Request Page
Recommendation Result Page:
RecommendResult1
RecommendResult2
Best movie genres:
ExploreRequest
ExploreResult

TODO list:

  • Build local host demo website(flask)
  • Connect mySQL with flask
  • Save similarity matrix in mySQL database
  • Using pyspark library to do collaborative filtering instead of surprise.SVD