Divisive clustering algorithm with several distance norms and linkage criteria.
Divisive clustering algorithm is a hierarchial clustering algorithm that builds the hierarchial tree using "top down" approach. The algorithm starts with the root node that contains all observations, and seperates them on every level of the tree according to the linkage criterion. The linkage criterion determines the distance between sets of observations as a function of the pairwise distances between observations.
The following distance norms are implemented:
- Minkowski
- Manhattan
- Euclidean
- Squared Euclidean
A caching mechanism is provided for the norms to improve perfomance.
The following linakge criteria are implemented:
- Middle Link
- Distant Neighbor
- Median Distance
The distance norms and linkage criteria could be easily replaced without changing the divisive algorithm.
The resulting hierarchial tree is rendered on the screen with the help of Qt library.
Алгоритм является подвидом иерархического алгоритма кластеризации и строит дерево кластеров "сверху вниз". Алгоритм начинает с одного узла, в котором содержатся все наблюдения, и на каждом уровне дерева разделяет узлы созгласно критерию связывания.
Реализованы следующие нормы расстояний:
- Минковского
- Манхеттенское
- Евклидово
- Евклидово в квадрате
Реализованы следующие критерии связывания:
- Средней связи
- Удаленного соседа
- Медианной связи (расстояние между центрами кластеров)
Реализовано отображение полученного дерева кластеров с помощью библиотеки Qt.