Fuzzy K-znamená shlukování v Mahout

Tento blog poskytuje úvod do klastrování Fuzzy K-Means v Apache Mahout.

Fuzzy K-Means je přesně stejný algoritmus jako K-means, což je populární jednoduchá shlukovací technika. Jediným rozdílem je, že místo toho, aby byl bod přiřazen výlučně pouze jednomu klastru, může mít nějakou nejasnost nebo překrývání mezi dvěma nebo více klastry. Níže jsou uvedeny klíčové body popisující Fuzzy K-Means:





  • Na rozdíl od K-Means, který hledá tvrdý shluk, kde každý z bodů patří k jednomu shluku, Fuzzy K-Means hledá měkčí shluky pro překrývání.
  • Jeden bod v měkkém klastru může patřit více než jednomu klastru s určitou hodnotou afinity vůči každému z bodů.
  • Afinita je úměrná vzdálenosti tohoto bodu od těžiště klastru.
  • Podobně jako K-Means funguje Fuzzy K-Means na objektech, které mají definovanou míru vzdálenosti a mohou být reprezentovány v n- dimenzionální vektorový prostor.

Fuzzy K-Means Map Snižte průtok

Mezi tokem MapReduce K-Means a Fuzzy K-Means není velký rozdíl. Implementace obou v Mahout je podobná.

Jak používat iterátor

Následují základní parametry pro implementaci Fuzzy K-Means:



  • Pro vstup potřebujete vektorovou datovou sadu.
  • K nasazení počátečních klastrů musí existovat RandomSeedGenerator.
  • Pro měření vzdálenosti je vyžadováno SquaredEuclideanDistanceMeasure.
  • Velká hodnota prahu konvergence, například –cd 1,0, pokud byla použita čtvercová hodnota míry vzdálenosti
  • Hodnota pro maxIterations, výchozí hodnota je -x 10.
  • Koeficient normalizace nebo faktor fuzziness s hodnotou větší než -m 1,0

Máte na nás dotaz? Uveďte je v sekci komentáře a my se vám ozveme.

konečně a dokončit v Javě

Související příspěvky



java převést dvojité na celé číslo

Kontrolované učení v Apache Mahout