# Changing behaviour of an ML model

I am trying to create a ranking system for recommending books to an user. Let's suppose we have some subjects of books like 'A', 'B', 'C', 'D' and from the past behaviour, it is observed that the user is more inclined towards subjects 'A' and 'B'. My dataset has a format of binary classification dataset i.e. it contains specifications of books and a labels specifying whether the user read it or not (1/0). Based on this, I assign probabilities of the user liking a book, using a model like RandomForestClassifier. The problem is, based on the past behaviour, the books with subject 'A' and 'B' always tend to get higher probability scores. Is there any way to add some 'discoverability' to the model so that it assigns high scores to even books of other subjects?

• one would need to change the criteria for decision, eg instead of only subject, maybe author, title similarity, page number, related subjects to "liked" subjects and so on.. – Nikos M. Apr 1 at 18:49