I'm using scikit-learn to classify some texts, I have 10 classes and I'm using svm.SVC(kernel='linear',probability=True,class_weight='balanced'), MultinomialNB() and tree.DecisionTreeClassifier() to classify.
The tree classifiers are doing it great, the accuracy of the three are in the 80-90 percent (that's enough for my application).
The problem is that there are some text that do not belong to any of the 10 classes, I mean there should be an "Others" or "Not Class found" class, but i cannot found a way to do it, I have tried to add that class and train the classifiers with random texts but the result wasn't that good (50-60% accuracy).
I'm trying to use the probabilities that naive bayes gives me with the clf.predict_proba function and define a threshold but thats kind of "overfitting" the classifier.
Does any one have solved a problem like this? Thanks in advance.
NOTES:
I used 1000 text to train the classifiers