Делаю программу - кластерный анализ - на яве. Вкратце, программа читает файл с данными о каких-то объектах (к примеру показатели прибыли, издержек и проч. каких-нибудь компаний за определённый период времени), затем анализирует данные и группирует объекты (в «кластеры»).
Группировка происходит следующим образом: нормализуем переменные, строим матрицу расстояний между объектами по формуле Евклидового расстояния, и затем определёнными алгоритмами:
Одиночная линковка
- Полная линковка
- Средняя линковка
- ну и т.д..
шаг за шагом объединяем объекты в группы по сходству и различию, рисуем диаграмму.
Мне, как начинающему, не понятно как правильнее и лучше реализовать перечисленные алгоритмы. В интерфейсах? или для каждого алгоритма создавать класс? или как лучше? Т.е. надо чтоб в алгоритм опускалась матрица, а он мне выдавал данные для рисования диаграммы.