0
我必须在其7个类别中对危险材料标签(在下面的链接中给出)进行分类。 http://en.wikipedia.org/wiki/Dangerous_goods#Classification_and_labeling_summary_tables使用openCV的7级SVM
我的训练功能样子:
svmTraining()
{
Mat train, response;
createTrainingDateUsingBOW(1, train, response, 1.0);
createTrainingDateUsingBOW(2, train, response, 2.0);
createTrainingDateUsingBOW(3, train, response, 3.0);
createTrainingDateUsingBOW(4, train, response, 4.0);
createTrainingDateUsingBOW(5, train, response, 5.0);
createTrainingDateUsingBOW(6, train, response, 6.0);
createTrainingDateUsingBOW(7, train, response, 7.0);
CvTermCriteria criteria = cvTermCriteria(CV_TERMCRIT_EPS, 1000, FLT_EPSILON);
CvSVMParams svm_params = CvSVMParams (CvSVM::C_SVC, CvSVM::LINEAR, 10.0, 8.0,1.0,10.0 , 0.5 , 0.1 , NULL , criteria);
}
然后我得到的svmPredict()的结果而变化,从1到7,但我得到的结果没有任何意义。大多数时候他们总是保持在4到7之间。我试图使用SVM :: RBF和SVM :: LINEAR内核类型。目前,我正在使用每个班约300个样本。
我也尝试过SVM :: Linear,但我的结果仍然随机地在类-4和7之间切换。我已经培训了4个班,每个班只有200-400个样本。我并不期待完美的结果,但是这个SVM给出了完全随机的结果。 – skm