Decision tree on big categorical dataset
You can see this dataset as a regression problem and not a classification one. The label is ordered, so predicting 2.8 is not a mistake, it is just that it is close to 3 (satisfactory but not there).

I can suggest to start with a regression tree and then round the results to have integers.

Also you can consider this a multiclassification task, but as a starter I would go with regression.