I am trying to train a classifier for a multi class classification task. However, the dataset is very imbalanced. About half of the around 160 unique labels are such that there are only 10 or less samples corresponding to each of these rare labels. There are about 20 labels that occur exactly once. So the dataset contains a few classes that are well represented and very long and skinny tail of rare labels.
There are around 50 features (both numerical and categorical) and around 20 000 samples in the dataset.
I have looked briefly into this python library: https://imbalanced-learn.org/stable/index.html but I haven't yet gotten good results. Might be that I am not using it correctly.
What kind of boost from SMOTE or other methods for handling imbalanced dataset can I realistically expect? I know this is context dependent but trying to get some rough ideas.