I used SVM to predict the ranking score of muffin recipes. X is a numpy array of ingredient amounts of a certain recipe and y is the label according to the online ranking score. First I labelled my data in two classes like this:
ranking < 3.5 - label = 0 ranking > 3.5 - label = 1
Then I labelled my data like this:
ranking < 3.5 - label = 0 ranking between 3.5 & 4.25 - label = 1 ranking > 4.25 - label = 2
By doing this the accuarcy decreased by 20%! How is this possible? Dividing my data in more classes should have led to a higher accuracy score right? How can we explain this?