Exploring Recommender Systems using various Machine Learning Models like scikit-learn, Surprise, NLP and collaborative filtering using KNN and Tensorflow.