【发布时间】:2014-02-11 17:15:14
【问题描述】:
我必须将危险材料标签(在下面的链接中给出)分为 7 个类别。 http://en.wikipedia.org/wiki/Dangerous_goods#Classification_and_labeling_summary_tables
我的训练函数如下:
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 个样本。
【问题讨论】: