Apache Mahout: Empfehlen, clustern, klassifizieren
By Karsten Voigt and David Broßeit
()
About this ebook
Related to Apache Mahout
Titles in the series (100)
JavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5IT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsjQuery Mobile - Basics: Basics Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsAgile Architektur mit .NET - Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratings
Related ebooks
Application Insights Rating: 0 out of 5 stars0 ratingsFunktionsreferenzmodell für ERP-Software: Teil 5: Controlling Rating: 0 out of 5 stars0 ratingsSoftwarestabilität in der Industrie Rating: 0 out of 5 stars0 ratingsFunktionsreferenzmodell für Enterprise Resource Planning (ERP)-Software: Teil 3: Vertrieb Rating: 0 out of 5 stars0 ratingsTesten von Data-Warehouse- und Business-Intelligence-Systemen: Vorgehen, Methoden und Konzepte Rating: 0 out of 5 stars0 ratingsPerformante Webanwendungen: Client- und serverseitige Techniken zur Performance-Optimierung Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsKünstliche Intelligenz für Business Analytics: Algorithmen, Plattformen und Anwendungsszenarien Rating: 0 out of 5 stars0 ratingsTesting mit Visual Studio 2012: Testing mit Visual Studio 2012 Rating: 0 out of 5 stars0 ratingsCloud Computing Rating: 0 out of 5 stars0 ratingsData-Warehouse-Systeme: Architektur, Entwicklung, Anwendung Rating: 5 out of 5 stars5/5Software entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsiOS Essentials: Frameworks, Tools und Twitter API Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsIT-Aussichten für Verbände und Organisationen: In den nächsten zehn Jahren Rating: 0 out of 5 stars0 ratingsApache Tamaya: Einstieg in die Konfiguration in Java Rating: 0 out of 5 stars0 ratingsBPMS: Einführung in Business Process Management-Systeme Rating: 0 out of 5 stars0 ratingsLogging: Schnelleinstieg Rating: 0 out of 5 stars0 ratingsMLOps – Kernkonzepte im Überblick: Machine-Learning-Prozesse im Unternehmen nachhaltig automatisieren und skalieren Rating: 0 out of 5 stars0 ratingsDatenpflege im Einkauf: Entdecken und aufzeigen, praxisgerecht korrigieren am Beispiel SAP R/3 Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 5: Dual Use Rating: 0 out of 5 stars0 ratingsVirtueMart - Der Joomla!-Shop: Der erfolgreiche E-Commerce-Start mit Joomla! und VirtueMart Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsjQuery Mobile: Unit Testing Rating: 0 out of 5 stars0 ratingsWertstromanalyse und Design WSA/D: Einfach + Schnell + Anwendbar =>LEAN Rating: 0 out of 5 stars0 ratings
Programming For You
Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsPraktisches Programmieren in C: Grundlagen und Tipps Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsGames | Game Design | Game Studies: Eine Einführung (Deutschsprachige Ausgabe) Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5HTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsArduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5Python kinderleicht!: Einfach programmieren lernen – nicht nur für Kids Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Traumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 5 out of 5 stars5/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsPython programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsC++ – kurz & gut: Aktuell zu C++17 Rating: 4 out of 5 stars4/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Einstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratings
Reviews for Apache Mahout
0 ratings0 reviews
Book preview
Apache Mahout - Karsten Voigt
GmbH
1 Realisierung eines Empfehlungssystems
„Das könnte Sie auch interessieren … oder „Andere Nutzer kauften auch …
– wie oft trifft man auf diese oder ähnliche Formulierungen beim Einkaufen im Onlineshop seines Vertrauens. Aber woher weiß das Unternehmen, was mich interessiert, und wie lässt sich ein solches System ohne großen Aufwand umsetzen? Eine Lösung: Apache Mahout.
Mahout [1] ist ein kostenloses, quelloffenes, unter dem Dach der Apache Software Foundation entwickeltes Java- und Scala-basiertes Framework, das sich verschiedener Aspekte der Verarbeitung und Auswertung von Massendaten annimmt. Mahout stellt dabei eine Sammlung von Algorithmen für intelligente und lernende Systeme zur Verfügung. Die Themenblöcke Clusterbildung, Klassifizierung und kollaboratives Filtern werden von Mahout unterstützt und sollen in diesem shortcut näher betrachtet werden.
Die Clusterbildung versucht Elemente in einer Datenbasis zu gruppieren, d. h. zum Beispiel Kunden zu Kundengruppen automatisch zuzuordnen. Bei der Klassifizierung werden Eigenschaften von Objekten untersucht, um die Objekte mit einer bestimmten Wahrscheinlichkeit einer Eigenschaft zuzuordnen, wobei das System selbst aus den Erfahrungswerten lernt. Ein klassisches Beispiel für die Klassifizierung ist die Erkennung von Spam in E-Mails. Innerhalb des kollaborativen Filterns werden Nutzerinteressen ausgewertet, um daraus Empfehlungen ableiten zu können. Für die Umsetzung von modernen Empfehlungssystemen greifen dabei oft alle drei Themen ineinander. Fachlich sollen die erhobenen Kundendaten effizient analysiert und ausgewertet werden, sodass einem Kunden intelligent die richtige Werbung oder richtige Empfehlung angezeigt wird. Am Ende sollen Privat- und Geschäftskunden mehr oder höherwertige Produkte kaufen. Die Abbildungen 1.1 und 1.2 zeigen eine durch Mahout erzeugte Produktempfehlung in IBM WebSphere Commerce. Die verwendeten Mechanismen sind jedoch unabhängig von dem eingesetzten E-Commerce-Framework und nicht auf E-Commerce-Szenarien beschränkt.
Der shortcut fokussiert sich auf die aktuell verfügbaren in Java implementierten Algorithmen und die programmatische Ausführung selbiger. Für die meisten Algorithmen und Prozesse stehen auch Kommandozeilenaufrufe zur Verfügung, die hier jedoch nicht näher betrachtet werden sollen. In neueren Mahout-Versionen wird zusätzlich verstärkt Scala zum Einsatz kommen.
Abbildung 1.1: Produktempfehlungen
Abbildung 1.2: Produktempfehlungen
Mahout im Überblick
Zur Realisierung der verschiedenen Aufgaben bietet Mahout eine Vielzahl an Mechanismen an, die per Kommandozeile oder programmatisch ausgeführt werden können. Technologisch sind diese Algorithmen mit Standard-Java-Mitteln implementiert. Für die Massendatenverarbeitung kommt jedoch Apache Hadoop [2] oder bei neueren Implementierungen Apache Spark [3] zum Einsatz. Mit der Verwendung von Mahout für große Datenmengen sollte man auch die grundlegenden Konzepte hinter Hadoop oder Spark verstehen. Für die