Программа для классификации данных

Классификация данных позволяет определить к какому классу относятся новые данные на обучающей выборке.

cls_splash

Классификация данных на основе обучающей выборки работает следующим образом. Есть несколько выборок данных, каждое значение может иметь несколько параметров и, таким образом, описывать точку в пространстве. Каждое значение эксперт (учитель) относит к одному из классов вручную. Такое обучение выборки позволяет потом новые данные автоматически классифицировать и определять степень отношения к тому или иному классу.

В созданной мной тестовом приложении классификации данных происходит на основе непараметрической оценки плотности распределения Розенблатта-Парзена. Исходными данными являются генерируемые выборки в трехмерном пространстве. Выборки генерируются по следующим параметрам: центральная точка, распределение (фактически вытянутость) и дисперсия по трем координатам.

В главном окне программы можно создать необходимые выборки, для каждой указать название и цвет точек.

cls_main

Создадим ряд выборок, а именно три с координатами (2; 1; 3), (1;3;2) и (4;2;1) различных цветов.

cls_sets_b

На просмотре можно увидеть как каждое значение класса отображается в виде отдельной точки цвета класса.

После этого можно приступать к классификации. Коэффициент размытости с можно рассчитать или принять равным некотором значения.

Проверка принадлежности любой точки к некоторому классу осуществляется вводом ее координаты и щелчком по кнопке Проверить.

Классификация данных

Кроме того, можно построить трехмерную область определения классов. На просмотре получится следующая картина:

Полученную область определения классов можно рассмотреть на разрезе, который отображается в правом нижнем углу. Причем срез классов можно регулировать — изменять плоскость среда и перемещать ее вдоль соответствующей оси.

В заключение отмечу, что программа написана на Delphi с использованием OpenGL.

Speak up! Let us know what you think.