does rapidminer allow a 6 class (mutually exculsive) SVM classification
lavramu
New Altair Community Member
Hi,
I would like to train SVM to classify texts/sentences into 6 classes (multi class). I read somewhere that libSVM supports multiple classes. Basically I want to classify sentences only to one of the classes (not more than one). You see the difference. The sentence can belong to only one of the SIX classes. Will rapidminer allow this? which is the best SVM operator for this. I hope it is not restricted to a two class problem only. Please help.
I would like to train SVM to classify texts/sentences into 6 classes (multi class). I read somewhere that libSVM supports multiple classes. Basically I want to classify sentences only to one of the classes (not more than one). You see the difference. The sentence can belong to only one of the SIX classes. Will rapidminer allow this? which is the best SVM operator for this. I hope it is not restricted to a two class problem only. Please help.
Tagged:
0
Answers
-
I tried libSVM as the description mentions multiclass but it dint seem to do anythign with 5 of my classes :
PerformanceVector:
accuracy: 24.81% +/- 3.03% (mikro: 24.81%)
ConfusionMatrix:
True: low mediumhigh verylow mediumlow high veryhigh
low: 0 0 0 0 0 0
mediumhigh: 0 0 0 0 0 0
verylow: 0 0 0 0 0 0
mediumlow: 0 0 0 0 0 0
high: 27 26 9 20 32 15
veryhigh: 0 0 0 0 0 0
kappa: 0.000 +/- 0.000 (mikro: 0.000)
ConfusionMatrix:
True: low mediumhigh verylow mediumlow high veryhigh
low: 0 0 0 0 0 0
mediumhigh: 0 0 0 0 0 0
verylow: 0 0 0 0 0 0
mediumlow: 0 0 0 0 0 0
high: 27 26 9 20 32 15
veryhigh: 0 0 0 0 0 00 -
In the results it also says
Kernel Model
Total number of Support Vectors: 129
Bias (offset): -0.037
Feature weight calculation only possible for two class learning problems.
Please use the operator SVMWeighting instead.
can someone help? thanks0 -
Did you optimize the SVM?
For text classification in most cases a linear SVM works quite well, but you should try different values for the C parameter (e.g. from 1E-6 to 100 on a logarithmic scale). You can use the Optimize Parameters for this.
To get more control on how the multi-class SVM works you can also use the Polynominal by Binominal Classification operator. It trains and combines several SVM models that each separate one class from all the others. On application, all models are applied, and the class with the highest confidence is predicted. Internally the libSVM does the same, but you never know what exactly is happening (unless you read a lot of documentation and/or source code).
Best regards,
Marius0