Casa Finanza personale Machine Learning con Mahout in Hadoop - dummies

Machine Learning con Mahout in Hadoop - dummies

Sommario:

Video: Introduction to Apache Mahout 2025

Video: Introduction to Apache Mahout 2025
Anonim

Apprendimento automatico si riferisce a una branca di tecniche di intelligenza artificiale che fornisce strumenti che consentono ai computer di migliorare la propria analisi in base agli eventi precedenti. Questi sistemi informatici sfruttano i dati storici di precedenti tentativi di risoluzione di un compito al fine di migliorare le prestazioni di futuri tentativi in ​​attività simili.

In termini di risultati attesi, l'apprendimento automatico può sembrare molto simile a quell'altra parola d'ordine "data mining"; tuttavia, il primo si concentra sulla previsione attraverso l'analisi dei dati di addestramento preparati , il secondo riguarda la scoperta della conoscenza da dati grezzi non elaborati. Per questo motivo, l'apprendimento automatico dipende in gran parte dalle tecniche di modellizzazione statistica e attinge dalle aree della teoria della probabilità e del riconoscimento del modello.

Mahout è un progetto open source di Apache che offre librerie Java per algoritmi di apprendimento automatico distribuiti o altrimenti scalabili.

Questi algoritmi coprono attività di apprendimento automatico classiche come classificazione, clustering, analisi delle regole di associazione e raccomandazioni. Sebbene le librerie Mahout siano progettate per funzionare all'interno di un contesto Apache Hadoop, sono anche compatibili con qualsiasi sistema che supporti il ​​framework MapReduce. Ad esempio, Mahout fornisce librerie Java per raccolte Java e operazioni matematiche comuni (algebra lineare e statistiche) che possono essere utilizzate senza Hadoop.

Come puoi vedere, le librerie Mahout sono implementate in Java MapReduce ed eseguite sul tuo cluster come raccolte di lavori MapReduce su YARN (con MapReduce v2) o MapReduce v1.

Mahout è un progetto in evoluzione con più contributori. Al momento della stesura di questo libro, la raccolta di algoritmi disponibili nelle librerie Mahout non è affatto completa; tuttavia, la raccolta di algoritmi implementati per l'uso continua ad espandersi nel tempo.

Esistono tre categorie principali di algoritmi di Mahout per supportare l'analisi statistica: filtraggio collaborativo, clustering e classificazione.

Filtro collaborativo

Mahout è stato specificamente progettato per servire come motore di raccomandazione, utilizzando il cosiddetto algoritmo di filtro di collaborazione . Mahout combina la ricchezza degli algoritmi di clustering e di classificazione a sua disposizione per produrre raccomandazioni più precise basate sui dati di input.

Questi consigli vengono spesso applicati contro le preferenze dell'utente, tenendo conto del comportamento dell'utente. Confrontando le selezioni precedenti di un utente, è possibile identificare i vicini più vicini (persone con una storia di decisione simile) a quell'utente e prevedere le selezioni future in base al comportamento dei vicini.

Prendi in considerazione un motore di "profilo di gusto" come Netflix, un motore che raccomanda valutazioni basate sul precedente punteggio e sulle abitudini di visualizzazione dell'utente. In questo esempio, i modelli comportamentali per un utente vengono confrontati con la cronologia dell'utente e le tendenze degli utenti con gusti simili appartenenti alla stessa comunità Netflix per generare una raccomandazione per il contenuto non ancora visualizzato dall'utente in questione.

Clustering

Diversamente dal metodo di apprendimento supervisionato per la funzione del motore di raccomandazione di Mahout, il clustering è una forma di apprendimento non supervisionato - dove le etichette per i punti dati sono sconosciute in anticipo e devono essere dedotte dai dati senza input umano (la parte supervisionata ). Generalmente, gli oggetti all'interno di un cluster dovrebbero essere simili; gli oggetti provenienti da diversi cluster dovrebbero essere dissimili. Le decisioni prese in anticipo sul numero di cluster da generare, i criteri per misurare la "somiglianza" e la rappresentazione degli oggetti avranno un impatto sull'etichettatura prodotta dagli algoritmi di clustering.

Ad esempio, un motore di cluster che viene fornito un elenco di articoli di notizie dovrebbe essere in grado di definire gruppi di articoli all'interno di quella raccolta che discutono argomenti simili.

Supponiamo che una serie di articoli su Canada, Francia, Cina, silvicoltura, petrolio e vino debbano essere raggruppati. Se il numero massimo di cluster era impostato su 2, il tuo algoritmo potrebbe produrre categorie come "regioni" e "industrie". "Le modifiche al numero di cluster produrranno diverse categorizzazioni; ad esempio, la selezione per 3 cluster può comportare raggruppamenti a coppie delle categorie dell'industria nazionale.

Classificazioni

Gli algoritmi di classificazione fanno uso di insiemi di dati di addestramento con etichetta umana, in cui la classificazione e classificazione di tutti gli input futuri è regolata da queste etichette note. Questi classificatori implementano ciò che è noto come

apprendimento supervisionato nel mondo del machine learning. Le regole di classificazione, impostate dai dati di addestramento, che sono state precedentemente etichettate dagli esperti di dominio, vengono quindi applicate a dati grezzi e non elaborati per determinare al meglio la loro etichettatura appropriata.

Queste tecniche sono spesso utilizzate dai servizi di posta elettronica che tentano di classificare la posta indesiderata prima che attraversino la posta in arrivo. Specificamente, dato un messaggio di posta elettronica contenente un insieme di frasi note per verificarsi comunemente insieme in una certa classe di posta spam - fornita da un indirizzo appartenente a una botnet conosciuta - l'algoritmo di classificazione è in grado di identificare in modo affidabile l'e-mail come dannosa.

Oltre alla ricchezza di algoritmi statistici forniti da Mahout in modo nativo, è disponibile anche un modulo

User Defined Algorithms (UDA) di supporto. Gli utenti possono sovrascrivere gli algoritmi esistenti o implementarne di propri tramite il modulo UDA. Questa solida personalizzazione consente la regolazione delle prestazioni degli algoritmi di Mahout nativi e la flessibilità nell'affrontare sfide uniche di analisi statistica. Se Mahout può essere visto come un'estensione statistica analitica per Hadoop, l'UDA dovrebbe essere vista come un'estensione delle capacità statistiche di Mahout.

Le tradizionali applicazioni di analisi statistica (come SAS, SPSS e R) sono dotate di potenti strumenti per generare flussi di lavoro. Queste applicazioni utilizzano interfacce utente grafiche intuitive che consentono una migliore visualizzazione dei dati. Gli script di Mahout seguono uno schema simile a questi altri strumenti per generare flussi di lavoro di analisi statistica.

Durante la fase finale di esplorazione e visualizzazione dei dati, gli utenti possono esportare in formati leggibili dall'uomo (JSON, CSV) o sfruttare gli strumenti di visualizzazione come Tableau Desktop.

L'architettura di Mahout si trova in cima alla piattaforma Hadoop. Hadoop alleggerisce il programmatore separando il compito di programmare i lavori MapReduce dalla complessa contabilità necessaria per gestire il parallelismo tra i file system distribuiti. Nello stesso spirito, Mahout fornisce astrazioni facili da programmare di complessi algoritmi statistici, pronti per l'implementazione con il framework Hadoop.

Machine Learning con Mahout in Hadoop - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...