Video: Steven van Wel (Karma): "Bij Karma loont het om je Wi-Fi met anderen te delen" 2024
Een open-sourcehulpprogramma dat bijzonder nuttig is in voorspellende analyses, is Apache Mahout. Deze machine-learning bibliotheek bevat grootschalige versies van de clustering, classificatie, collaboratieve filtering en andere datamining-algoritmen die een grootschalig model voor voorspellende analyse kunnen ondersteunen.
Een zeer aan te bevelen manier om de benodigde gegevens voor een dergelijk model te verwerken, is om Mahout uit te voeren in een systeem waarop Hadoop al wordt uitgevoerd. Hadoop wijst een hoofdmachine aan die de andere machines orkestreert (zoals kaartmachines en machines verkleinen) die worden gebruikt in de gedistribueerde verwerking. Mahout moet op die hoofdmachine worden geïnstalleerd.
Stel je voor dat je een grote hoeveelheid gestreamde gegevens hebt - Google nieuwsartikelen - en je wilt clusteren op onderwerp, met behulp van een van de clusteringalgoritmen. Nadat je Hadoop en Mahout hebt geïnstalleerd, kun je een van de algoritmen - zoals K-means - op je gegevens uitvoeren.
De implementatie van K-middelen onder Mahout maakt gebruik van een MapReduce-aanpak, waardoor deze anders is dan de normale implementatie van K-middelen. Mahout verdeelt het K-means algoritme in deze subprocedures:
-
KmeansMapper leest de invoergegevensverzameling en wijst elk invoerpunt toe aan het dichtstbijzijnde initieel geselecteerde middel (clustervertegenwoordigers).
-
De KmeansCombiner -procedure neemt alle records - paren - die door KmeansMapper zijn gemaakt en produceert gedeeltelijke sommen om de berekening van de volgende clustervertegenwoordigers te vergemakkelijken.
-
KmeansReducer ontvangt de waarden die door alle subtaken (combineerders) zijn gegenereerd om de werkelijke centroïden van de clusters te berekenen, wat de uiteindelijke uitvoer van K-gemiddelden is.
-
KmeansDriver verwerkt de iteraties van het proces totdat alle clusters zijn geconvergeerd. De uitvoer van een gegeven iteratie, een gedeeltelijke clusteringuitgang, wordt gebruikt als de invoer voor de volgende iteratie. Het proces van het in kaart brengen en verkleinen van de dataset totdat de toewijzing van records en clusters geen verdere wijzigingen vertoont.
Apache Mahout is een recent ontwikkeld project; de functionaliteit ervan heeft nog steeds veel ruimte om uitbreidingen mogelijk te maken. In de tussentijd gebruikt Mahout MapReduce al om classificatie, clustering en andere technieken voor het leren van machines te implementeren - en dat kan op grote schaal.