Hier is een samenvatting van verschillende clusteralgoritmen die kunnen helpen bij het beantwoorden van de vraag
"welke clusteringstechniek moet ik gebruiken?"
Er is geen objectief "correct" clusteralgoritme Ref
Clusteringalgoritmen kunnen worden gecategoriseerd op basis van hun "clustermodel". Een algoritme dat voor een bepaald type model is ontworpen, zal over het algemeen niet slagen voor een ander soort model. K-means kunnen bijvoorbeeld geen niet-convexe clusters vinden, het kan alleen cirkelvormige clusters vinden.
Daarom wordt het begrijpen van deze "clustermodellen" de sleutel om te begrijpen hoe u uit de verschillende clusteralgoritmen / -methoden kunt kiezen. Typische clustermodellen zijn onder meer:
[1] Connectiviteitsmodellen: bouwt modellen op basis van connectiviteit op afstand. Bijvoorbeeld hiërarchische clustering. Wordt gebruikt wanneer we verschillende scheidingswanden nodig hebben op basis van de hoogte van de boomkap. R-functie: hclust in statistiekenpakket.
[2] Centroid-modellen: bouwt modellen door elk cluster weer te geven met een enkele gemiddelde vector. Gebruikt wanneer we nodig krokant partitionering (in tegenstelling tot fuzzy clustering later beschreven). R-functie: kmeans in statistiekenpakket.
[3] Distributiemodellen: bouwt modellen op basis van statistische distributies zoals multivariate normale distributies die worden gebruikt door het verwachtingsmaximalisatie-algoritme. Gebruikt wanneer clustervormen willekeurig kunnen zijn, in tegenstelling tot k-gemiddelden die circulaire clusters aannemen. R-functie: emcluster in het emcluster-pakket.
[4] Density modellen: Bouwt modellen op basis van clusters als gelieerde dichte gebieden in de dataruimte. Bijv. DBSCAN en OPTICS. Gebruikt wanneer clustervormen willekeurig kunnen zijn, in tegenstelling tot k-betekent dat circulaire clusters aanneemt. R functie dbscan in pakket dbscan.
[5] Subruimtemodellen: bouwt modellen op basis van zowel clusterleden als relevante attributen. Bijv. Biclustering (ook bekend als co-clustering of two-mode-clustering). Wordt gebruikt wanneer gelijktijdige rij- en kolomclustering nodig is. R functie biclust in biclust verpakking.
[6] Groepsmodellen: bouwt modellen op basis van de groeperingsinformatie. Bijvoorbeeld gezamenlijke filtering (aanbevelingsalgoritme). R functie aanbeveler in aanbevelingslab-pakket.
[7] Op grafieken gebaseerde modellen: bouwt modellen op basis van kliek. Algoritmen voor het detecteren van gemeenschapsstructuren proberen dichte subgraphs te vinden in gerichte of ongerichte grafieken. Bijv. R-functie cluster_walktrap in igraph-pakket.
[8] Kohonen Self-Organizing Feature Map: bouwt modellen op basis van neuraal netwerk. R functie som in het kohonen-pakket.
[9] Spectrale clustering: bouwt modellen op basis van een niet-convexe clusterstructuur, of wanneer een maat van het centrum geen geschikte beschrijving is van de volledige cluster. R functie specc in het kernlab-pakket.
[10] subruimte clustering: voor hoog-dimensionale data kunnen afstandsfuncties problematisch zijn. clustermodellen bevatten de relevante attributen voor het cluster. Bijv. Hddc-functie in het R-pakket HDclassif.
[11] Sequentieclustering: groepeer sequenties die gerelateerd zijn. rBlast-pakket.
[12] Affiniteitsverspreiding: bouwt modellen op basis van het doorgeven van berichten tussen gegevenspunten. Het aantal clusters hoeft niet te worden bepaald voordat het algoritme wordt uitgevoerd. Het is beter voor bepaalde computervisie- en computationele biologietaken, bijv. clustering van afbeeldingen van menselijke gezichten en het identificeren van gereguleerde transcripties, dan k-mean, Ref Rpackage APCluster.
[13] Streamclustering: bouwt modellen op basis van gegevens die continu binnenkomen, zoals telefoongegevens, financiële transacties enz. Bijv. R-pakket BIRCH [ https://cran.r-project.org/src/contrib/ Archief / berk /]
[14] Documentclustering (of tekstclustering): bouwt modellen op basis van SVD. Het is gebruikt bij het extraheren van onderwerpen. Bijv. Carrot [ http://search.carrot2.org] is een open source-engine voor het clusteren van zoekresultaten die documenten in thematische categorieën kan clusteren.
[15] Latent klassemodel: het relateert een set waargenomen multivariate variabelen aan een set latente variabelen.LCA kan worden gebruikt bij gezamenlijke filtering.R-functie Aanbeveler in aanbevelingslab-pakket heeft een gezamenlijke filterfunctionaliteit.
[16] Biclustering: wordt gebruikt om gelijktijdig rijen en kolommen met gegevens in twee modi te clusteren.Bijv. R functie biclust in pakket biclust.
[17] Zachte clustering (fuzzy clustering): elk object behoort tot op zekere hoogte bij elke cluster.Bijv. R Fclust-functie in het fclust-pakket.