Wiem o aglomeracyjnych algorytmach grupowania, sposobie, w jaki rozpoczyna się każdy punkt danych jako indywidualne skupienie, a następnie łączy punkty, tworząc klastry.Implementacja niestandardowego algorytmu aglomeracyjnego od podstaw
Teraz mam przestrzeń wymiarową i kilka punktów danych, które mają wartości w każdym z tych wymiarów. Chcę klastra dwóch punktów/klastry oparte na zasadach biznesowych, takich jak:
- Klastra dwa punkty C1 i C2, jeśli odległość między klastrami w całym wymiarze 1 jest < T1, a odległość w poprzek wymiaru 2 < T2 .. i odległość w całym wymiarze n < Tn.
- Jeśli reguła całej wymiarze 1 jest spełniony i reguła całej wymiarze 2 jest spełniony, wówczas klastra je nie dbając o innych wymiarach ...
.... i podobne zasady niestandardowe.
Ponadto mam własny sposób definiowania i mierzenia odległości między dowolnymi dwoma klastrami w dowolnym wymiarze. Wymiar może zawierać tylko ciągi znaków i chcę zdefiniować własną metrykę odległości. W innym wymiarze może zawierać nazwy lokalizacji, a odległość między dwoma punktami wzdłuż tego wymiaru to odległość geograficzna między nazwaną lokalizacją i tak dalej w przypadku innych wymiarów.
Czy istnieje framework/oprogramowanie, które pozwala wdrażać ten sposób definiowania niestandardowych metryk odległości, a następnie wdrażać aglomeracyjne tworzenie klastrów? Oczywiście klastrowanie aglomeracyjne zatrzymuje się, gdy reguły biznesowe nie są spełnione w dowolnym momencie, a na końcu tworzą się klastry w przestrzeni n-wymiarowej.
Dzięki Abhishek S
chcę użyć Java, a najlepiej użyć ramy, jeśli jest ona dostępna lub mnie :-) –