Fuzzy K-Means Clustering in Mahout



Deze blog geeft een inleiding tot Fuzzy K-Means-clustering in Apache Mahout.

soorten transformaties in informatica

Fuzzy K-Means is precies hetzelfde algoritme als K-mean, een populaire eenvoudige clusteringstechniek. Het enige verschil is dat in plaats van een punt exclusief aan slechts één cluster toe te wijzen, het een soort vaagheid of overlapping kan hebben tussen twee of meer clusters. Hieronder volgen de belangrijkste punten die Fuzzy K-Means beschrijven:





  • In tegenstelling tot K-Means, dat een harde cluster zoekt, waarbij elk van de punten tot één cluster behoort, zoekt Fuzzy K-Means de zachtere clusters voor overlapping.
  • Een enkel punt in een zachte cluster kan tot meer dan één cluster behoren met een bepaalde affiniteitswaarde voor elk van de punten.
  • De affiniteit is evenredig met de afstand van dat punt tot het clusterzwaartepunt.
  • Net als bij K-Means, werkt Fuzzy K-Means op de objecten waarvoor de afstandsmaat is gedefinieerd en kan worden weergegeven in de n- dimensionale vectorruimte.

Fuzzy K-Means MapReduce Flow

Er is niet veel verschil tussen de MapReduce-stroom van K-Means en Fuzzy K-Means. De implementatie van beide in Mahout is vergelijkbaar.

Hieronder volgen de essentiële parameters voor de implementatie van Fuzzy K-Means:



  • U hebt een vectorgegevensset nodig voor invoer.
  • Er moet de RandomSeedGenerator zijn om de eerste k-clusters te seeden.
  • Voor afstandsmeting is SquaredEuclideanDistanceMeasure vereist.
  • Een grote waarde van de convergentiedrempel, zoals –cd 1.0, als de kwadraatwaarde van de afstandsmeting is gebruikt
  • Een waarde voor maxIteraties is de standaardwaarde -x 10.
  • De normalisatiecoëfficiënt of de vaagheidsfactor, met een waarde groter dan -m 1,0

Heeft u een vraag voor ons? Noem ze in het opmerkingengedeelte en we nemen contact met u op.

gerelateerde berichten



het ontleden van een xml-bestand in java

Begeleid leren in Apache Mahout