Pages: [1]
  Print  
Author Topic: does rapidminer allow a 6 class (mutually exculsive) SVM classification  (Read 2102 times)
lavramu
Newbie
*
Posts: 16


« on: October 14, 2013, 06:17:53 PM »

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.
Logged
lavramu
Newbie
*
Posts: 16


« Reply #1 on: October 14, 2013, 06:23:59 PM »

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   0
Logged
lavramu
Newbie
*
Posts: 16


« Reply #2 on: October 14, 2013, 06:25:58 PM »

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? thanks
Logged
Marius
Administrator
Hero Member
*****
Posts: 1794



WWW
« Reply #3 on: October 15, 2013, 11:14:12 AM »

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,
Marius
Logged

Please add [SOLVED] to the topic title when your problem has been solved! (do so by editing the first post in the thread and modifying the title)
Please click here before posting.
Pages: [1]
  Print  
 
Jump to: