brown wang
brown wang

Reputation: 13

How to solve the NaN value in SVM classifier?

I use libsvm toolbox to classify multiple class dataset. In my case, I have 9 classes. The following is my code:

model = ovrtrainBot(trainLabel, trainData, type);

[predict_label, accuracy, decis_values] = ovrpredictBot(testLabel, testData, model);

I set kernel type to "1", which is polynomial, since I found this will give the best classification accuracy. But the problem is the parameter accuracy gives all NaN values in its 3rd row. The parameter "accuracy" shown as follows:

63.63%  92.56% 92.56%  92.56%  92.56%  92.56%   92.56%   92.56%   92.56%
0.3636  0.0744  0.0744 0.0744  0.0744  0.0744   0.0744   0.0744   0.0744
NaN      NaN      NaN     NaN     NaN     NaN     NaN      NaN    NaN 

If I use kernel t = 0(linear), the 3rd row of accuracy will all have values, but the classification accuracy is much lower than I use kernel t=1.

Can anyone give me a help to fix the problem?

Upvotes: 1

Views: 1204

Answers (1)

Richard
Richard

Reputation: 1131

It's the squared correlation coefficient (http://www.openpr.org.cn/files/help/rn01re18.html) which isn't relevant for a classification problem

Upvotes: 0

Related Questions