Machine Learning based Recommender System

Technologies used:

  • Java
  • SQL
  • Web Scraping
  • AWS
  • JAX-RS with Jersey
  • Tomcat services
  • Machine Learning

RESTserver

Description

International project in collaboration with two students from Texas A&M University. I was responsible for the Machine Learning part, database, and backend system (RESTful Service). The US team developed a web-based GUI using Java-Script.

The figure above shows the system’s architecture. For our project, we used data from Amazon. The data was first saved as CSV files and later converted to a database.

The recommendation system uses two kinds of recommendation. User-based and Content-based filtering. With a user-based approach, the system can calculate the similarity between pairs of users by using the cosine similarity formula. To calculate the similarity between two users we used common items that were rated by both users and calculate the difference between their ratings.

The user-based system can also use other machine-learning algorithms to group all users who have shown that have the same tastes. The system builds clusters of users who have similar profiles, purchase patterns, or rating patterns. If a person in a neighborhood buys and likes an item, the recommender system can recommend that item to everyone else in his neighborhood.

As with item-based collaborative filtering, the user-based approach requires sufficient data on each user to be effective. Before the system can make recommendations, it requires some user profiles, so the users must create an account. Users are identified by session information (cookies).

More details available on request.