In FastText, I have unbalanced labels. What is the best way to handle it?
-
1This blog machinelearningmastery.com/… gives some general answers can you add some details as to the domain specifics?Veltzer Doron– Veltzer Doron2018-06-26 15:55:49 +00:00Commented Jun 26, 2018 at 15:55
-
I dont see any satisfactory answer. is there a better resolution?Anuj Gupta– Anuj Gupta2018-09-21 04:46:36 +00:00Commented Sep 21, 2018 at 4:46
2 Answers
Fasttext seems to handle unbalanced data pretty well. According to the FAQ
Note also that this loss is thought for classes that are unbalanced, that is some classes are more frequent than others.
Comments
In our case here we have a very skewed dataset with 200+ classes and 20% of the classes containing 80% of all data.
In our data, even with this highly skewed data, we have a clear definition of the texts inside our categories.
Example: Text of the Majority Class: "Hey, I need a computer and a mouse to open the internet and post a programming answer in Stack Overflow"
Text of the Minority Class: "Hey, could please give me the following items: Eggs, lettuce, onions, tomatoes, milk and wheat?"
As FastText deals with WordNGrams and hierarchical split if you have a very well defined category as my case above, the imbalance it's not a problem because of the nature of the algorithm.
Reference: Bag of Tricks for Efficient Text Classification - Armand Joulin, Edouard Grave, Piotr Bojanowski, Tomas Mikolov