Apache Mahout: Empfehlen, clustern, klassifizieren
By Karsten Voigt and David Broßeit
()
About this ebook
Related to Apache Mahout
Titles in the series (100)
Skalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsTitanium Mobile: Multi Platform Apps mit JavaScript Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsOAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsVaadin mit Eclipse, Clojure und OSGi Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Qualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem 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 ratingsVirtueMart - Der Joomla!-Shop: Der erfolgreiche E-Commerce-Start mit Joomla! und VirtueMart Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 5: Dual Use 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
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsProgrammieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Programmieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsJavaScript kurz & gut Rating: 3 out of 5 stars3/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Programmieren 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/5Programmieren für Einsteiger: Teil 2 Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Arduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Rating: 5 out of 5 stars5/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsWeniger schlecht programmieren Rating: 4 out of 5 stars4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5Microsoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut 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 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5HTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg 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