Fuzzy K-Means clustering în Mahout



Acest blog oferă o introducere în clusterizarea Fuzzy K-Means în Apache Mahout.

implementare sortare fuziune c ++

Fuzzy K-Means este exact același algoritm ca K-means, care este o tehnică simplă de clusterizare populară. Singura diferență este că, în loc să atribuiți un punct exclusiv unui singur cluster, acesta poate avea un fel de neclaritate sau suprapunere între două sau mai multe clustere. Următoarele sunt punctele cheie, care descriu Fuzzy K-Means:





  • Spre deosebire de K-Means, care caută un cluster greu, în care fiecare dintre puncte aparține unui singur cluster, Fuzzy K-Means caută clusterele mai moi pentru suprapunere.
  • Un singur punct dintr-un cluster moale poate aparține mai multor grupuri cu o anumită valoare de afinitate față de fiecare dintre puncte.
  • Afinitatea este proporțională cu distanța acelui punct de centroul cluster.
  • Similar cu K-Means, Fuzzy K-Means funcționează pe obiectele care au măsurarea distanței definită și pot fi reprezentate în n- spațiu vectorial dimensional.

Fuzzy K-Means MapReduce Flow

Nu există prea multe diferențe între fluxul MapReduce de K-Means și Fuzzy K-Means. Implementarea ambelor în Mahout este similară.

Următoarele sunt parametrii esențiali pentru implementarea Fuzzy K-Means:



  • Aveți nevoie de un set de date Vector pentru introducere.
  • Trebuie să existe RandomSeedGenerator pentru a însămânța k clusterele inițiale.
  • Pentru măsurarea distanței este necesară măsurarea distanței euclidiene.
  • O valoare mare a pragului de convergență, cum ar fi –cd 1.0, dacă a fost utilizată valoarea pătrată a măsurii distanței
  • O valoare pentru maxIterations valoarea implicită este -x 10.
  • Coeficientul de normalizare sau factorul de neclaritate, cu o valoare mai mare de -m 1,0

Ai o întrebare pentru noi? Menționați-le în secțiunea de comentarii și vă vom răspunde.

postări asemănatoare



Învățare supravegheată în Apache Mahout