Optimising a Recommendation Model for Career Discovery
More Info
expand_more
Abstract
Recommendation systems are algorithms that aim to predict what items are preferred by a user, based on a recorded history of user activity. Magnet.me is a company which recommends companies and opportunities to students. Potential algorithms for recommendation systems are memory-based and model-based coll aborative filtering, graph- based approaches, support vector machines, rand om forest classifiers and w ide & deep learning. Based on a qualitative comparison of the algorithms, model-based collaborative filtering, which is what Magnet.me currently uses as well, was chosen to be the best fit. This is because it scored highly on the three most important factors for Magnet.me: potential performance, compatibility with the dataset and scalability. When comparing several well-known benchmarking metrics, the most suitable metric for testing the performance of the recomme nder was the F1 measure. To benchmark the model, the connection status of user-company relations should be used as the label, but must be excluded in the calculation of the implicit ratings. Logarithmically scaling the view counts before used as a factor in the implicit ratings has proven to be of negligible effect. Five other signals are found that could be used to improve the recommendations. Hyperparameter optimization with cross validation is implemented and has succesfully been deployed into the Magnet.me technology stack. The possibilities for a clustering algorithm are considered in order to solve the cold start problem, but we could not determine the numeric distances between features, which is required for training an accurate clustering algorithm. An unexpected challenge of this project was setting up the development infrastructure. It consisted on setting up an Elasticsearch cluster and a Spark cluster that can interact with each other on Google Cloud services. Another challenge was in benchmarking the recommender with proper metrics.