Классификация данных позволяет определить к какому классу относятся новые данные на обучающей выборке.
Классификация данных на основе обучающей выборки работает следующим образом. Есть несколько выборок данных, каждое значение может иметь несколько параметров и, таким образом, описывать точку в пространстве. Каждое значение эксперт (учитель) относит к одному из классов вручную. Такое обучение выборки позволяет потом новые данные автоматически классифицировать и определять степень отношения к тому или иному классу.
В созданной мной тестовом приложении классификации данных происходит на основе непараметрической оценки плотности распределения Розенблатта-Парзена. Исходными данными являются генерируемые выборки в трехмерном пространстве. Выборки генерируются по следующим параметрам: центральная точка, распределение (фактически вытянутость) и дисперсия по трем координатам.
В главном окне программы можно создать необходимые выборки, для каждой указать название и цвет точек.
Создадим ряд выборок, а именно три с координатами (2; 1; 3), (1;3;2) и (4;2;1) различных цветов.
На просмотре можно увидеть как каждое значение класса отображается в виде отдельной точки цвета класса.
После этого можно приступать к классификации. Коэффициент размытости с можно рассчитать или принять равным некотором значения.
Проверка принадлежности любой точки к некоторому классу осуществляется вводом ее координаты и щелчком по кнопке Проверить.
Кроме того, можно построить трехмерную область определения классов. На просмотре получится следующая картина:
Полученную область определения классов можно рассмотреть на разрезе, который отображается в правом нижнем углу. Причем срез классов можно регулировать — изменять плоскость среда и перемещать ее вдоль соответствующей оси.
В заключение отмечу, что программа написана на Delphi с использованием OpenGL.