Wie man Apache Mahout für Predictive Analytics verwendet

Wie man Apache Mahout für Predictive Analytics verwendet - Dummies

Ein Open-Source-Tool, das sich besonders für Predictive Analytics eignet, ist Apache Mahout. Diese Machine-Learning-Bibliothek enthält umfangreiche Versionen der Clustering-, Klassifizierungs-, kollaborativen Filter- und anderer Data-Mining-Algorithmen, die ein umfangreiches Vorhersageanalysemodell unterstützen können.

Eine sehr empfehlenswerte Methode zur Verarbeitung der für ein solches Modell erforderlichen Daten besteht darin, Mahout in einem System auszuführen, auf dem Hadoop bereits ausgeführt wird. Hadoop bezeichnet einen Master-Rechner, der die anderen Maschinen (wie beispielsweise Kartenmaschinen und Reduce-Maschinen) orchestriert, die in seiner verteilten Verarbeitung eingesetzt werden. Mahout sollte auf diesem Hauptrechner installiert werden.

Stellen Sie sich vor, Sie haben eine große Menge an gestreamten Daten - Google News-Artikel - und möchten nach Themen gruppieren, indem Sie einen der Clustering-Algorithmen verwenden. Nach der Installation von Hadoop und Mahout können Sie einen der Algorithmen - wie K-means - auf Ihren Daten ausführen.

Die Implementierung von K-Mitteln unter Mahout verwendet einen MapReduce-Ansatz, der sich von der normalen Implementierung von K-Mitteln unterscheidet. Mahout unterteilt den K-Means-Algorithmus in diese Unterprozeduren:

  • KmeansMapper liest den Eingabedatensatz und ordnet jedem Eingabewert seine nächstgelegene ursprünglich ausgewählte Einrichtung (Clusterrepräsentanten) zu. Die Prozedur

  • KmeansCombiner nimmt alle Datensätze - Paare -, die von KmeansMapper erzeugt werden, und erzeugt Partialsummen, um die Berechnung der nachfolgenden Clusterrepräsentanten zu erleichtern.

  • KmeansReducer empfängt die Werte, die von allen Teilaufgaben (Kombinatoren) erzeugt werden, um die tatsächlichen Schwerpunkte der Cluster zu berechnen, die die endgültige Ausgabe von K-Mitteln ist.

  • KmeansDriver verarbeitet die Iterationen des Prozesses, bis alle Cluster konvergiert sind. Die Ausgabe einer gegebenen Iteration, eine partielle Clustering-Ausgabe, wird als Eingabe für die nächste Iteration verwendet. Der Prozess des Zuordnens und Reduzierens des Datensatzes bis zur Zuweisung von Datensätzen und Clustern zeigt keine weiteren Änderungen.

Apache Mahout ist ein kürzlich entwickeltes Projekt; Seine Funktionalität hat immer noch viel Platz für Erweiterungen. In der Zwischenzeit setzt Mahout bereits MapReduce ein, um Klassifikations-, Clustering- und andere maschinelle Lerntechniken zu implementieren - und das in großem Umfang.