# SVM labeling more classes does not result in higher accuracy?

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?

• Why did you recode the data at all? Why not simply use some kind of regression? Binning the data is generally not a recommended approach. – Tim Jul 8 '16 at 11:30
• Try, at least, SVM and Random Forest regression. – Firebug Jul 8 '16 at 11:57

Usually, classification will become more difficult when increasing the amount of classes for the same samples and features - because this means there are more options for the target variable (= more possibilities for confusion). In your case: in the first scenario, there was no confusion possible within the 1 class, but in the second scenario, there is, because those belong to different classes now. Therefore, if you count confusion of 1 and 2 as error that you measure within the one, overall accuracy, you definitely made the problem harder - as you now have more possibilities to make errors using the same samples and features (simplest example: have 1 constant class label - no error possible at all).