I have a dataset of book reviews:
| user_id | ISBN | vote | votes_for_user | average_user_vote | ISBN_categ |
213 3242X 4.5 12 3.4 1
563 1245X 3.2 74 2.3 2
where
vote = rating given by user to a certain book
votes_for_user = number of votes the user has in the dataset (nr of rows)
average_user_vote = average of a user's votes
ISBN_categ = integer categorical of the ISBN (since that is a string).
I want to apply a clustering algorithm such as DBSCAN to see how many clusters I can form with this dataset.
My question is: Should I apply the clustering on the dataframe as it is (minus the ISBN column) or should I construct more features for every user and construct a dataframe where every user appears only once, together with their features, and cluster that?
Remember, the intent here is to cluster users (by user_id), not data points (votes).