Я использую набор инструментов libsvm для классификации нескольких наборов классов. В моем случае У меня есть 9 классов. Ниже мой код:Как решить значение NaN в классификаторе SVM?
model = ovrtrainBot(trainLabel, trainData, type);
[predict_label, accuracy, decis_values] = ovrpredictBot(testLabel, testData, model);
я установить тип ядра для "1"
, который является полиномом, так как я нашел это даст лучшую точность классификации. Но проблема параметр accuracy
дает все значения NaN
в 3-й строке. Параметр "accuracy"
представлена следующим образом:
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
Если я использую ядро t = 0(linear)
, то третья строка точности будет иметь значение, но точность классификации значительно ниже, чем я использую kernel t=1
.
Может ли кто-нибудь помочь мне решить эту проблему?
@Hoki, вы можете ответить на этот вопрос? Очень ценим! –
Прошу прощения, но у меня нет абсолютно никакого знания предмета. Что означает третья строка? ... может быть, это нормально, если в каком-то случае они будут «NaN» ... или, по крайней мере, не беспокоятся, если конечная точность будет лучше. – Hoki