I'm trying to classify e-mails using Mallet. If the classifier is too unsure about a new e-mail I would like a user to do the classification instead.

I figured I could use the Mallet Labeling output for this:

Labeling labeling = classifier.classify(instance).getLabeling();


My problem is that when I use an SVM my labels are all of certainty 1 or 0.

CLASS1: 1,0         CLASS2: 0,0         CLASS3: 0,0         CLASS4: 0,0         CLASS5: 0,0 


I would like the output to be more like this:

CLASS1: 0,9945          CLASS2: 0,0047          CLASS3: 0,0005          CLASS4: 0,0001          CLASS5: 0,0001  


The second output was generated using the Maximum Entropy classifier.

My question is:

Can an SVM give me estimates between 1 and 0? Is this behavior typical of an SVM or is it just the implementation I'm using.

Follow up question: Is the Maximum Entropy classifier generally just as good as an SVM when it comes to text?


Question: Should I be using 'sudo' in scripts that I write?
Answer: There is no problem using multiple 'sudo' calls in scripts.

I find it better than running the whole scripts as root as the risks are limited by restricting the privilege elevation to the commands that really need them.