Zuhause Persönliche Finanzen Maschinelles Lernen mit Mahout in Hadoop - Dummies

Maschinelles Lernen mit Mahout in Hadoop - Dummies

Inhaltsverzeichnis:

Video: Introduction to the Hadoop Technology Stack 2024

Video: Introduction to the Hadoop Technology Stack 2024
Anonim

Maschinelles Lernen bezieht sich auf einen Zweig der künstlichen Intelligenztechniken, der Werkzeuge bereitstellt, die es Computern ermöglichen, ihre Analyse auf der Grundlage früherer Ereignisse zu verbessern. Diese Computersysteme nutzen historische Daten aus früheren Versuchen, eine Aufgabe zu lösen, um die Leistung zukünftiger Versuche mit ähnlichen Aufgaben zu verbessern.

In Bezug auf die erwarteten Ergebnisse mag maschinelles Lernen sehr ähnlich wie das andere Schlagwort "Data Mining" klingen; Der erstere konzentriert sich jedoch auf die Vorhersage durch Analyse von vorbereiteten Trainingsdaten, wobei letzterer sich mit der Wissensentdeckung von unbearbeiteten Rohdaten beschäftigt. Aus diesem Grund hängt maschinelles Lernen stark von statistischen Modellierungstechniken ab und bezieht sich auf Bereiche der Wahrscheinlichkeitstheorie und der Mustererkennung.

Mahout ist ein Open-Source-Projekt von Apache, das Java-Bibliotheken für verteilte oder anderweitig skalierbare Algorithmen zum maschinellen Lernen anbietet.

Diese Algorithmen decken klassische maschinelle Lernaufgaben wie Klassifizierung, Clustering, Assoziationsregelanalyse und Empfehlungen ab. Obwohl Mahout-Bibliotheken so konzipiert wurden, dass sie innerhalb eines Apache-Hadoop-Kontexts funktionieren, sind sie auch mit jedem System kompatibel, das das MapReduce-Framework unterstützt. Zum Beispiel stellt Mahout Java-Bibliotheken für Java-Sammlungen und allgemeine mathematische Operationen (lineare Algebra und Statistiken) bereit, die ohne Hadoop verwendet werden können.

Wie Sie sehen, sind die Mahout-Bibliotheken in Java MapReduce implementiert und werden auf Ihrem Cluster als Sammlungen von MapReduce-Jobs entweder auf YARN (mit MapReduce v2) oder MapReduce v1 ausgeführt.

Mahout ist ein sich entwickelndes Projekt mit mehreren Mitwirkenden. Bis zu diesem Zeitpunkt ist die Sammlung von Algorithmen, die in den Mahout-Bibliotheken verfügbar sind, keineswegs vollständig; Die Sammlung von Algorithmen, die zur Verwendung implementiert werden, expandiert jedoch mit der Zeit weiter.

Es gibt drei Hauptkategorien von Mahout-Algorithmen zur Unterstützung der statistischen Analyse: kollaboratives Filtern, Clustering und Klassifizierung.

Kollaborative Filterung

Mahout wurde speziell für die Verwendung als Empfehlungsmaschine entwickelt und verwendet einen so genannten kollaborativen Filteralgorithmus . Mahout kombiniert die Fülle an Clustering- und Klassifikationsalgorithmen, um präzisere Empfehlungen auf Basis von Eingabedaten zu erhalten.

Diese Empfehlungen werden häufig gegen Benutzereinstellungen angewendet, wobei das Verhalten des Benutzers berücksichtigt wird. Durch Vergleichen der vorherigen Auswahlen eines Benutzers ist es möglich, die nächsten Nachbarn (Personen mit einer ähnlichen Entscheidungshistorie) für diesen Benutzer zu identifizieren und zukünftige Auswahlen basierend auf dem Verhalten der Nachbarn vorherzusagen.

Betrachten Sie eine "Geschmacksprofil" -Engine wie Netflix - eine Engine, die Bewertungen basierend auf den bisherigen Bewertungs- und Betrachtungsgewohnheiten des Nutzers empfiehlt. In diesem Beispiel werden die Verhaltensmuster für einen Benutzer mit der Geschichte des Benutzers verglichen - und mit den Trends von Benutzern mit ähnlichem Geschmack, die derselben Netflix-Gemeinschaft angehören - um eine Empfehlung für Inhalte zu generieren, die der fragliche Benutzer noch nicht gesehen hat.

Clustering

Im Gegensatz zur überwachten Lernmethode für das Empfehlungsmodul von Mahout ist Clustering eine Form von unbeaufsichtigtem Lernen - wobei die Bezeichnungen für Datenpunkte im Voraus bekannt sind und aus den Daten abgeleitet werden müssen ohne menschliche Eingabe (der überwachte Teil).

Im Allgemeinen sollten Objekte innerhalb eines Clusters ähnlich sein. Objekte aus verschiedenen Clustern sollten unterschiedlich sein. Entscheidungen, die im Voraus über die Anzahl der zu erzeugenden Cluster, die Kriterien für die Messung der "Ähnlichkeit" und die Darstellung von Objekten getroffen werden, wirken sich auf die durch Clustering-Algorithmen erzeugte Kennzeichnung aus.

Beispielsweise sollte eine Clustering-Engine, die eine Liste von Nachrichtenartikeln bereitstellt, in der Lage sein, Gruppen von Artikeln innerhalb dieser Sammlung zu definieren, die ähnliche Themen behandeln.

Angenommen, es würde eine Reihe von Artikeln über Kanada, Frankreich, China, Forstwirtschaft, Öl und Wein gesammelt. Wenn die maximale Anzahl von Clustern auf 2 festgelegt wurde, kann Ihr Algorithmus Kategorien wie "Regionen" und "Branchen" erstellen. "Anpassungen an die Anzahl der Cluster führen zu unterschiedlichen Kategorisierungen. Zum Beispiel kann die Auswahl für 3 Cluster zu paarweisen Gruppierungen von Kategorien der nationalen Industrie führen.

Klassifikationen

Klassifikationsalgorithmen verwenden menschlich markierte Trainingsdatensätze, wobei die Kategorisierung und Klassifizierung aller zukünftigen Eingaben durch diese bekannten Bezeichnungen bestimmt wird. Diese Klassifizierer implementieren das, was als überwachtes Lernen in der Welt des maschinellen Lernens bekannt ist.

Die Klassifizierungsregeln, die von den Trainingsdaten festgelegt werden, die von den Experten der Domäne vorab etikettiert wurden, werden dann auf rohe, unverarbeitete Daten angewendet, um ihre angemessene Kennzeichnung zu ermitteln.

Diese Techniken werden häufig von E-Mail-Diensten verwendet, die versuchen, Spam-E-Mails zu klassifizieren, bevor sie Ihren Posteingang überqueren. Insbesondere bei einer E-Mail, die eine Reihe von Phrasen enthält, von denen bekannt ist, dass sie gemeinsam in einer bestimmten Klasse von Spam-Mails auftreten, die von einer Adresse eines bekannten Botnets stammen, kann Ihr Klassifizierungsalgorithmus die E-Mail zuverlässig als bösartig identifizieren.

Zusätzlich zu der Fülle an statistischen Algorithmen, die Mahout nativ bereitstellt, ist auch ein unterstützendes User Defined Algorithms (UDA) -Modul verfügbar. Benutzer können bestehende Algorithmen außer Kraft setzen oder eigene über das UDA-Modul implementieren. Diese robuste Anpassung ermöglicht eine Leistungsoptimierung von nativen Mahout-Algorithmen und Flexibilität bei der Bewältigung einzigartiger statistischer Analyseherausforderungen.

Wenn Mahout als statistische Analyseerweiterung für Hadoop angesehen werden kann, sollte UDA als Erweiterung der statistischen Fähigkeiten von Mahout gesehen werden.

Traditionelle statistische Analyse-Anwendungen (wie SAS, SPSS und R) verfügen über leistungsfähige Werkzeuge zur Generierung von Workflows. Diese Anwendungen verwenden intuitive grafische Benutzeroberflächen, die eine bessere Datenvisualisierung ermöglichen. Mahout-Skripte folgen einem ähnlichen Muster wie diese anderen Werkzeuge zur Erstellung statistischer Analyse-Workflows.

Während des abschließenden Datenexplorations- und Visualisierungsschritts können Benutzer in lesbare Formate (JSON, CSV) exportieren oder Visualisierungstools wie Tableau Desktop nutzen.

Die Architektur von Mahout befindet sich auf der Hadoop-Plattform. Hadoop entlastet den Programmierer, indem es die Aufgabe der Programmierung von MapReduce-Jobs von der komplexen Buchhaltung trennt, die zur Verwaltung der Parallelität über verteilte Dateisysteme hinweg erforderlich ist. Im gleichen Geist bietet Mahout programmiererfreundliche Abstraktionen komplexer statistischer Algorithmen, die für die Implementierung mit dem Hadoop-Framework bereit sind.

Maschinelles Lernen mit Mahout in Hadoop - Dummies

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...