Video: Bigdata & Hadoop - Tutorial1 2024
Uno strumento open-source che è univoco utile nell'analisi predittiva è Apache Mahout. Questa libreria di apprendimento automatico include versioni su larga scala del clustering, della classificazione, del filtraggio collaborativo e di altri algoritmi di data mining in grado di supportare un modello di analisi predittiva su larga scala.
Un modo altamente raccomandato per elaborare i dati necessari per un modello del genere è eseguire Mahout in un sistema che esegue già Hadoop. Hadoop designa una macchina master che orchestra le altre macchine (come le macchine Map e Reduce) utilizzate nella sua elaborazione distribuita. Mahout dovrebbe essere installato su quella macchina master.
Immagina di avere una grande quantità di dati in streaming - articoli di notizie di Google - e ti piacerebbe raggruppare per argomento, utilizzando uno degli algoritmi di clustering. Dopo aver installato Hadoop e Mahout, puoi eseguire uno degli algoritmi, come K-means, sui tuoi dati.
L'implementazione di K-means in Mahout utilizza un approccio MapReduce, che lo rende diverso dalla normale implementazione di K-means. Mahout suddivide l'algoritmo K-means in queste sotto-procedure:
-
KmeansMapper legge il set di dati di input e assegna ciascun punto di input ai suoi mezzi inizialmente selezionati più vicini (rappresentanti del cluster). La procedura
-
KmeansCombiner prenderà tutti i record - coppie - prodotti da KmeansMapper e produrrà somme parziali per facilitare il calcolo dei rappresentanti del cluster successivi.
-
KmeansReducer riceve i valori prodotti da tutte le sottoattività (combinatori) per calcolare i centroidi effettivi dei cluster, che è l'output finale di K-means.
-
KmeansDriver gestisce le iterazioni del processo fino a quando tutti i cluster sono convergenti. L'output di una determinata iterazione, un output di clustering parziale, viene utilizzato come input per la successiva iterazione. Il processo di mappatura e riduzione del set di dati fino all'assegnazione di record e cluster non mostra ulteriori cambiamenti.
Apache Mahout è un progetto sviluppato di recente; la sua funzionalità ha ancora molto spazio per ospitare le estensioni. Nel frattempo, Mahout utilizza già MapReduce per implementare la classificazione, il clustering e altre tecniche di apprendimento automatico e può farlo su larga scala.