2012-03-26 5 views
0

В настоящее время я использую реализацию KNN OpenCV для классификации изображений. В настоящее время он классифицирует изображения в P, S или прямоугольник и правильно. Однако, если я напишу ему изображение шума, он попытается классифицировать его как 1 из 3 классифицированных мной ранее. Чтобы заставить его классифицировать как шум, следует ли обучать KNN помещать шум в категорию «шум», или есть какой-то показатель точности, который я могу использовать?KNN OpenKV Неизвестные классификации

+0

вы должны сделать это в режиме регрессии и использовать возвращаемое значение как значение «определенности». –

ответ

1

Способ использования этого параметра заключается в использовании переменной dists в функции knn_nearest. Он выплескивает расстояние между вашим вектором и векторами единиц K, чем дальше расстояние, тем меньше у них общего с тестовыми данными.

0

Да, но я бы не советовал. Если у вас есть классификатор, который хорошо различает апельсины и яблоки, вы не должны пытаться заставить его признать «не плод». Во-первых, потому что вы можете кормить неправильные входные данные почти во что угодно, во-вторых, потому что это снизит его первоначальную производительность, а третье, потому что вам нужен noise, чтобы иметь шаблон. Как вы определяете шум?

+0

«Шум» довольно хорошо определен в обработке сигналов. _White noise_ имеет плоский спектр, а _pink noise_ имеет спектр «1/f». – MSalters

Смежные вопросы