Fuzzy K-Means Clustering i Mahout

Denne blog giver en introduktion til Fuzzy K-Means-klynger i Apache Mahout.



Fuzzy K-Means er nøjagtig den samme algoritme som K-betyder, hvilket er en populær simpel klyngeteknik. Den eneste forskel er, i stedet for kun at tildele et punkt til kun en klynge, kan det have en form for uklarhed eller overlapning mellem to eller flere klynger. Følgende er de vigtigste punkter, der beskriver Fuzzy K-Means:



  • I modsætning til K-Means, der søger hård klynge, hvor hvert af punkterne tilhører en klynge, søger Fuzzy K-Means de blødere klynger til overlapning.
  • Et enkelt punkt i en blød klynge kan tilhøre mere end en klynge med en bestemt affinitetsværdi over for hvert af punkterne.
  • Affiniteten er i forhold til afstanden fra dette punkt fra klyngen centroid.
  • I lighed med K-midler arbejder Fuzzy K-Means på objekter, der har det definerede afstandsmål og kan repræsenteres i n- dimensionelle vektor plads.

Fuzzy K-betyder MapReduce Flow

Der er ikke meget forskel mellem MapReduce-strømmen af ​​K-midler og Fuzzy K-midler. Implementeringen af ​​begge i Mahout er ens.

Følgende er væsentlige parametre til implementering af Fuzzy K-Means:



dato datatype i SQL-eksempel
  • Du har brug for et Vector-datasæt til input.
  • Der skal være RandomSeedGenerator for at udså de første k-klynger.
  • For afstandsmål måles SquaredEuclideanDistanceMeasure.
  • En stor værdi af konvergensgrænse, såsom –cd 1.0, hvis den kvadratiske værdi af afstandsmålingen er blevet brugt
  • En værdi for maxIterations er standardværdien -x 10.
  • Normaliseringskoefficienten eller uklarhedsfaktoren med en værdi større end -m 1,0

Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.

Relaterede indlæg



Overvåget læring i Apache Mahout

hvordan man bruger semaforer i java