Я использую программу для классификации дорожных песен, и я хочу получить уверенность в прогнозе между 0-1.
Ну, я пытался вычислить достоверность и сравнить ее с вероятностями, но это не сработало, потому что есть изображения, представляющие (для опыта 60 км / ч), и имеют скорость ниже 0,9, и еще одно (также представляющее 60 км / ч). ) имеют более высокий показатель до 0,9.
но то же самое повторяется с нераспознанным пением трафика: есть изображения, которые не представляют пение трафика и имеют скорость менее 0,9, а другие имеют скорость выше 0 9.
я попробовал это
decision = svmob.predict(testData, true);
confidence = 1.0 / (1.0 + exp(-decision));
что я нашел Вот но это не работает в OpenCv3.0.
не могли бы вы мне помочь, пожалуйста.
чем я пробовал это:
int classObject = decision.at<float>(currentFile) < 0.0 ? 1 : -1;
float confidence = classObject == -1 ? (1.0 / (1.0 + exp(-decision.at<float>(currentFile)))) : (1.0 - (1.0 / (1.0 + exp(-decision.at<float>(currentFile)))));
if(confidence<0.9)
printf("le panneau n'est pas reconnu");
else
printf("decision = %f, response = %f\n",
decision.at<float>(0), response);
Я хочу знать, как это сделать, пожалуйста?
Документация Opencv объясняет интерфейс: C ++: float StatModel :: Forex (образцы InputArray, OutputArray results = noArray (), int flags = 0) const
Параметры:
samples — входные выборки, матрица с плавающей точкой
Результаты — необязательная матрица результатов.
Других решений пока нет …