0
이 예에서 OpenCV SVM을 사용했습니다 http://docs.opencv.org/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html.OpenCV SVM을 테스트하려면 어떻게해야합니까?
이제 예측 된 값에 대해이 SVM의 정확성을 테스트해야합니다. 이것은 SVM의 정확성을 예측하는 코드의 일부입니다.
void svm(cv::Mat& trainingDataMat, cv::Mat& labelsMat, cv::Mat& Testdata) {
int t=0;
int f=0;
int Acc;
CvSVMParams params;
params.svm_type = CvSVM::C_SVC;
params.kernel_type = CvSVM::LINEAR;
params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6);
CvSVM SVM;
SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params);
cv::Mat predicted(1,1, CV_32F);
for(int i = 0; i < Testdata.rows; i++) {
cv::Mat sample = Testdata.row(i);
predicted.at<float>(i,0)= SVM.predict(sample);
float p = predicted.at<float>(i,0);
if (p > 0.0) || p<0.0) {
t++;
}
else {
f++;
}
Acc=(t*1.0)/(t+f);
}
cout << "Accuracy_{SVM} = " <<Acc << endl;
}
나는 한 번에 하나의 테스트 데이터를 테스트하고 행의 각 열은 양 또는 음의 훈련 분류의 측면과 예측의 정확성에 속하는지 여부를 확인하려합니다.
이 코드에 직면하고 문제는 예측의 비율이 항상 내가이 조금 이상한 찾아 누군가가이 문제에 나를 도와주고 싶어
(100)로 표시되어 있다는 점이다?
날짜를 나타내는 데 최선의 노력을 기울여야합니다. – Bull