Mastering Recommender Systems