Я разрабатываю проект классификации изображений с использованием модели BOW и SVM. Я хочу узнать вероятность предсказания SVM, но в opencv svm нет такой функции. Есть какой-либо способ сделать это? Я хочу узнать вероятность прогноза в SVM n-класса.OPencv SVM вероятность прогноза
ответ
Нет, вы не можете сделать это с помощью CvSVM. Реализация SVM в OpenCV основана на очень старой версии libsvm. Загрузите последнюю версию libsvm и используйте ее вместо этого. Конечно, вам придется написать оболочку для преобразования форматов данных. См. http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Вы можете попробовать создать матрицу путаницы, это должно рассказать вам о вероятности каждого изображения, принадлежащего к любому из классов. Confusion Matrix
А вот у вас есть фрагмент кода, я нашел, хотя она неполна это может дать вам некоторые идеи:
map<string,map<string,int> > confusion_matrix; // confusionMatrix[classA][classB] = number_of_times_A_voted_for_B;
map<string,CvSVM> classes_classifiers; //This we created earlier
vector<string> files; //load up with images
vector<string> classes; //load up with the respective classes
for(..loop over a directory?..) {
Mat img = imread(files[i]),resposne_hist;
vector<KeyPoint> keypoints;
detector->detect(img,keypoints);
bowide->compute(img, keypoints, response_hist);
float minf = FLT_MAX; string minclass;
for (map<string,CvSVM>::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) {
float res = (*it).second.predict(response_hist,true);
if (res < minf) {
minf = res;
minclass = (*it).first;
}
}
confusion_matrix[minclass][classes[i]]++;
}
Я не проверял еще, так что в этом случае вы получите, чтобы сделать это работа, которую я был бы признателен, что вы связываете его здесь :)
Я бы не согласился. Вероятность Матрицы Путаницы - это частотный подход с учетом истины. Матрица путаницы бесполезна для невидимого изображения. –
- 1. Получить вероятность из svm
- 2. Уверенность или вероятность в SVM
- 3. OpenCV SVM: обновление обученного SVM
- 4. OpenCV SVM training dataset
- 5. OpenCV SVM Train
- 6. Тип SVM в openCV
- 7. Как проверить OpenCV SVM?
- 8. SVM обучение C++ OpenCV
- 9. OpenCV SVM Training Data
- 10. Opencv 3 Обучение SVM
- 11. SVM с openCV & Python
- 12. OpenCV SVM Kernel Образец
- 13. SVM training OpenCV
- 14. Использование SVM с opencv?
- 15. Реализация Python OpenCV SVM
- 16. Как рассчитать вероятность (доверительность) классификации SVM для небольшого набора данных?
- 17. OpenCV Linear SVM не тренируется
- 18. Ошибка обучения Java + OpenCV SVM
- 19. Классификатор OpenCV Haar - это SVM
- 20. Обучение SVM для изображений OpenCV
- 21. Формат выходного файла OpenCv SVM
- 22. Ошибка OpenCV Идентификатор SVM undefined
- 23. Ошибка компоновщика OpenCV для SVM
- 24. C++ OpenCV SVM поезд врезается
- 25. Как сделать Opencv SVM быстрее?
- 26. Оптимизация параметров SVM в Opencv
- 27. Ускорение прогноза
- 28. e1071 svm Представление прогноза кажется неправильным классом («числовой» вместо «factor»)
- 29. Как вы можете найти уровень достоверности прогноза при тестировании мультикласса svm с помощью scikit-learn?
- 30. Получение Cross валидированной Вероятность предсказания в мелодии SVM (e1071)
в качестве альтернативы, вы можете осуществить Platt масштабирование решения ценности себя как пост-обработки шаг, чтобы получить вероятности. –
Это еще предпочтительный подход к апрелю 2015 года? – Poyan