Data Mining in der Cloud



Ähnliche Dokumente
Ausarbeitung AW2 SS2012. Jan-Christoph Meier Data Mining in der Cloud

Exploration und Klassifikation von BigData

Datenanalyse mit Data Mining

Prof. Dr.-Ing. Rainer Schmidt 1

Data Mining-Modelle und -Algorithmen

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE

Wasserfall-Ansätze zur Bildsegmentierung

MapReduce und Datenbanken Thema 15: Strom bzw. Onlineverarbeitung mit MapReduce

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Einführung in Hadoop

Neue Ansätze der Softwarequalitätssicherung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Backup der Progress Datenbank

Professionelle Seminare im Bereich MS-Office

Datenanalyse - Schnittstellendesign

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Data Mining: Einige Grundlagen aus der Stochastik

BASIS Karten, WEA-Katalog, Projektierung, Objekte etc.

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori

Lizenzierung von System Center 2012

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Projektgruppe Algorithmen für die Cloud-unterstützte 3-D-Darstellung auf mobilen Endgeräten

Zeichen bei Zahlen entschlüsseln

Eine Anwendung mit InstantRails 1.7

EXASOL Anwendertreffen 2012

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

3. Stored Procedures und PL/SQL

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse

Apache HBase. A BigTable Column Store on top of Hadoop

OPERATIONEN AUF EINER DATENBANK

Geodatenmanagement und -harmonisierung mit GeoKettle

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Informatik 12 Datenbanken SQL-Einführung

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Prozessoptimierung in der Markt- und Medienforschung bei der Deutschen Welle (DW) mit Big Data Technologien. Berlin, Mai 2013

iphone-kontakte zu Exchange übertragen

IMS - Learning Design

Referenzen Typo3. Blog der Internetagentur Irma Berscheid-Kimeridze Stand: Juni 2015

Wir arbeiten mit Zufallszahlen

Kontaktlos bezahlen mit Visa

Grundlagen von Python

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Hadoop aus IT-Operations Sicht Teil 1 Hadoop-Grundlagen

Übungen zur Softwaretechnik

Ein Scan basierter Seitenangriff auf DES

Import und Export von Übergängern

Inkrementelles Backup

Java Enterprise Architekturen Willkommen in der Realität

June Automic Hadoop Agent. Data Automation - Hadoop Integration


Kommunikations-Management

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

4D Server v12 64-bit Version BETA VERSION

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

UpToNet DMS Posteingang

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Programmierkurs Java

AutoCAD Dienstprogramm zur Lizenzübertragung

Mitarbeiterbefragung als PE- und OE-Instrument

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

SJ OFFICE - Update 3.0

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

Anforderungen an die HIS

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Zuschauer beim Berlin-Marathon

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Handbuch Offline-Abgleich

Auftragsbearbeitung 3.1

Anleitung Captain Logfex 2013

Umstieg auf Microsoft Exchange in der Fakultät 02

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Grundlagen der Theoretischen Informatik, SoSe 2008

Gesicherte Prozeduren

Virtuelle Fotografie (CGI)

15 Optimales Kodieren

Installation von Office 365 auf einem privaten PC

peer-to-peer Dateisystem Synchronisation

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Synchronisations- Assistent

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Information Systems Engineering Seminar

Transkript:

Data Mining in der Cloud von Jan-Christoph Meier Hamburg, 21.06.2012 1

Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur 2

Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur 3

Was ist Data Mining? Extrahieren von Wissen aus großen Mengen von Daten Alternativ auch: Knowledge Discovery from Data Siehe AW1 - Datenanalyse mit Data Mining Bild aus [2] Seite 6 4

Warum Data Mining in der Cloud? Data Mining Algorithmen arbeiten auf großen Datenmengen, für deren Analyse viel Rechenleistung benötigt wird. Rechenleistung kann kostengünstig angemietet und je nach Bedarf skaliert werden. Optimal wäre ein System, das auf beliebig großen Datenmengen operieren und auf beliebig viele Rechner skaliert werden kann. 5

Hadoop Java-Framework, das es ermöglicht, Algorithmen parallel auf beliebig vielen Rechnern auszuführen. Die Algorithmen müssen nach dem MapReduce-Paradigma implementiert sein. Hadoop implementiert ein verteiltes Dateisystem (Hadoop distributed filesystem HDFS). Koordiniert die Ausführung der Algorithmen und die Verfügbarkeit der Daten. Ermöglicht die Verarbeitung großer Datenmengen (Bigdata). Kann in der Cloud betrieben werden, z.b. Amazon AWS 6

Hadoop - Architektur NameNode / Jobtracker DataNode TaskTracker DataNode TaskTracker DataNode TaskTracker Map Map Map Reduce Reduce Reduce 7

Hadoop - Architektur Java-Pogramm als JAR-Datei NameNode / Jobtracker DataNode TaskTracker DataNode TaskTracker DataNode TaskTracker Map Map Map Reduce Reduce Reduce 8

Hadoop - Bewertung Vorteile Algorithmen können einfach parallelisiert und auf verschiedenen Rechnern ausgeführt werden. Es muss sich nicht um die Partitionierung der Daten und die Parallelisierung der Algorithmen gekümmert werden. Nachteile Algorithmen müssen nach dem MapReduce-Paradigma implementiert sein. Verteilung kann Overhead bedeuten, falls nur auf kleinen Daten operiert werden soll. 9

MapReduce Schematik des Algorithmus Map Daten Map Map Reduce Ergebnis Map Datenstrukturen Map Reduce Input <k1, v1> <k2, list(v2)> Output list(<k2, v2>) list(<k3, v3>) Aus: Hadoop in Action [4] Seite 12 10

MapReduce - Beispiel Zählen der Häufigkeiten von Elementen in Transaktionen T1: a1, a2, a3 T2: a1, a3 Aufruf des Mappers für jede Transaktion: map( T1, a1, a2, a3 ) -> [ (a1: 1), (a2: 1), (a3: 1) ] map( T2, a1, a3 ) -> [ (a1: 1), (a3: 1) ] Aufruf des Reducers: reduce( a1, [ 1, 1 ] ) -> [ (a1, 2) ] reduce( a2, [ 1 ] ) -> [ (a2, 1) ] reduce( a3, [ 1, 1 ] ) -> [ (a3, 2) ] Input Output Map Reduce <k1, v1> <k2, list(v2)> list(<k2, v2>) list(<k3, v3>) Aus: Hadoop in Action [4] Seite 12 11

Motivation - Vereinfacht Finden von Eigenschaften / Strukturen in Proteinsequenzen Proteinsequenz: Kette von Aminosäuren Aminosäuren haben verschiedene Eigenschaften 12

Motivation - Beispiel Proteinsequenz: MVDEQVAVEHGTVSHTISREEDGVVHERVLASGERVEVFYKAPAPRPREGRA Chemische Eigenschaften von Aminosäuren: hydrophob / -phil volume charge Alanin Ala A phob small n Arginin Arg R phil large + Asparagin Asn N phil small n Asparaginsäure Asp D phil small - Cystein Cys C phob small n Glutamin Gln Q phil medium n............ 13

Ziele Finden einer Korrelation von Struktur und Eigenschaften in einer Vielzahl von Proteinsequenzen mithilfe von Data Mining Algorithmen. Analyse unter Verwendung eines Hadoop-Clusters. 14

Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur 15

Apache Mahout Data Mining Framework Master Informatik Haw Hamburg 16 Datenanalyse mit Data Mining

Apache Mahout Implementiert verschiedene Data Mining Algorithmen Clustering Pattern Mining Machine Learning uvm. http://mahout.apache.org 17

Apache Mahout (2) Die Algorithmen in Mahout... sind nach dem MapReduce-Paradigma implementiert können in einem Hadoop-Cluster ausgeführt werden operieren auf beliebig großen Datenmengen - Gigabyte, Terabyte, Petabyte Umdenken: Methoden haben keine Parameter oder Rückgabewerte, es wird auf serialisierten Daten im Dateisystem operiert. Die Algorithmen sind so generisch implementiert, dass sie mit wenig Aufwand auf beliebige Problemstellungen angewandt werden können 18

Apache Mahout - Bewertung Vorteile Bietet ein breites Spektrum an Data Mining Algorithmen. Algorithmen können auf einem Hadoop-Cluster ausgeführt werden. Beliebig große Eingabedaten sind möglich. Nachteile Die Eingabedaten müssen in ein kompatibles Datenformat konvertiert werden. 19

Parallel K-Means Clustering Based on MapReduce Weizhong Zhao, Huifang Ma, Qing He Lecture Notes in Computer Science, 2009 Volume 5931/2009, 674-679 Master Informatik Haw Hamburg 20 Datenanalyse mit Data Mining

K-Means Algorithmus Clustering Algorithmus Partitioniert eine Menge von Objekten in verschiedene Teilmengen. Die Objekte innerhalb der Teilmengen sind ähnlich. Die Teilmengen unterscheiden sich. 21

K-Means Algorithmus - Ablauf Eingabe Parameter: D Dataset, das n Objekte enthält k Anzahl der Cluster Ablauf 1. Es werden k Objekte aus D zufällig gewählt, diese stellen die Cluster- Mittelpunkte dar. 2. wiederhole: 3. Weise jedem Objekt einen der Cluster-Mittelpunkte zu, der dem Objekt am ähnlichsten ist. Neue Cluster werden gebildet. 4. Erzeuge für jedes Cluster einen neuen Mittelpunkt, der durch Bildung des Mittelwertes berechnet wird. 5. bis sich die Cluster-Mittelpunkte nicht mehr ändern 22

K-Means Algorithmus - Beispiel 1 2 3 4 Quelle: Mahout in Action [3] Seite 147 23

K-Means auf MapReduce Aufwändigste Operation: In jeder Iteration muss der Abstand zwischen den n Objekten und k Cluster-Mittelpunkten berechnet werden. Der Abstand muss in jeder Iteration n * k häufig berechnet werden. Ansatz: Mapper-Funktion berechnet den Abstand zu den Cluster-Mittelpunkten. Reducer-Funktion bestimmt neue Cluster-Mittelpunkte Die einzelnen Mapper und Reducer können parallel ausgeführt werden. 24

K-Means auf MapReduce Im Detail Cluster-Mittelpunkte werden global gespeichert. Map-Funktion Wird für jedes Objekt aufgerufen und berechnet den Abstand zu allen Cluster-Mittelpunkten. Der Cluster-Mittelpunkt, der dem Objekt am nächsten ist, wird zurückgegeben. Map Cluster Mittelpunkte Map Map Map 25

K-Means auf MapReduce Im Detail Combine-Funktion Führt eine Vorberechnung nach mehreren Aufrufen der Map-Funktion durch. Zählt die Anzahl der Objekte in einem Cluster. Summiert die Objekte auf, bereitet die Mittelwertsberechung für die Reduce-Funktion vor. Map Map Map Map Combine Combine Reduce 26

K-Means auf MapReduce Im Detail Reduce-Funktion Berechnet den Mittelwert für die einzelnen Cluster und bestimmt somit die neuen Mittelpunkte Quelle: Mahout in Action [3] Seite 147 27

Parallel K-Means Clustering Based on MapReduce - Bewertung Vorteile Einfach zu implementierender Clustering-Algorithmus. Nachteile Es muss die Anzahl k der Cluster als Parameter mitgegeben werden. Für die Eingabedaten muss eine optimale Funktion zur Berechnung der Ähnlichkeiten (Abstand zum Cluster-Mittelpunkt) gefunden werden. 28

Pfp: parallel fp-growth for query recommendation Haoyuan Li, Yi Wang, Dong Zhang, Ming Zhang, and Edward Y. Chang Proceedings of the 2008 ACM conference on Recommender systems, 2008 Master Informatik Haw Hamburg 29 Datenanalyse mit Data Mining

Frequent-Pattern-Tree Algorithmus Findet in beliebig vielen Transaktionen Elemente, die häufig gemeinsam auftreten. Ablauf in 3 Schritten: Bestimmen der Häufigkeiten (Support) der Elemente in den Transaktionen. Erzeugen eines Frequent-Pattern-Trees. Analyse des FP-Trees: Bestimmen der Elemente, die häufig gemeinsam auftreten. 30

FP-Tree Algorithmus (2) TID Elemente mit Support >= 3 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p f:4 Root c:1 c:3 b:1 b:1 a:3 p:1 m:2 b:1 p:2 m:1 31

FP-Tree Algorithmus (2) TID Elemente mit Support >= 3 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p f:4 Root c:1 c:3 b:1 b:1 a:3 p:1 m:2 b:1 p:2 m:1 32

FP-Tree Algorithmus (2) TID Elemente mit Support >= 3 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p f:4 Root c:1 c:3 b:1 b:1 a:3 p:1 m:2 b:1 p:2 m:1 Ergebnis: support(cp) = 3 33

Parallel FP-Growth auf MapReduce Arbeitet in 5 Schritten, die teilweise als MapReduce-Jobs ausgeführt werden: MapReduce 1. Partitionierung der Daten MapReduce 2. Berechnung der Häufigkeiten 3. Gruppieren der Elemente MapReduce 4. Erzeugung eines FP-Trees MapReduce 5. Aggregieren der Ergebnisse 34

Parallel FP-Growth auf MapReduce Im Detail Schritt 1: Partitionierung der Daten Transaktionen in der Datenbank werden auf n Rechner verteilt. Schritt 2: Häufigkeiten der Elemente berechnen (Support) Es werden mit einem MapReduce-Job die Support-Werte für alle Elemente der Transaktionen berechnet. Das Ergebnis wird in der Frequency-Liste (F-List) gespeichert. 1. Partitionierung der Daten 2. Berechnung der Häufigkeiten 3. Gruppieren der Elemente 4. Erzeugung eines FP-Trees 5. Aggregieren der Ergebnisse 35

Parallel FP-Growth auf MapReduce Im Detail Schritt 3: Gruppieren der Elemente Die Liste mit den Häufigkeiten der Elemente wird in Gruppen aufgeteilt. Jede Gruppe erhält eine eindeutige Gruppen-ID. Die Gruppen dienen dazu, die Transaktionen eindeutig zu partitionieren. Schritt 4: FP-Tree erzeugen Map: Jedem Mapper wird ein Teil der Transaktionen übergeben. Der Mapper ordnet die Transaktionen den Gruppen von Schritt 3 zu. Gibt Gruppe und eine Liste mit Transaktionen zurück. Reduce: Erhält eine Gruppe und mehrere der Gruppe zugeordnete Transaktionen, erzeugt einen FP-Tree und berechnet ein lokales Ergebnis für die Confidence. 36

Parallel FP-Growth auf MapReduce Im Detail Schritt 5: Aggregieren der Ergebnisse Die im vorherigen Schritt gewonnenen Werte für die häufig gemeinsam auftretenden Elemente werden aggregiert und zu einem Gesamtergebnis zusammengefasst. 1. Partitionierung der Daten 2. Berechnung der Häufigkeiten 3. Gruppieren der Elemente 4. Erzeugung eines FP-Trees 5. Aggregieren der Ergebnisse 37

Pfp: parallel fp-growth for query recommendation - Bewertung Vorteile Algorithmus benötigt nur wenige Parameter. Liefert eine andere Sichtweise auf die Daten als der Clustering- Algorithmus. Nachteile Elemente werden ausschließlich anhand der Häufigkeit selektiert, weitere Eigenschaften werden nicht betrachtet. 38

Ablauf Einführung Verwandte Arbeiten Fazit / Ausblick Literatur 39

Fazit Durch MapReduce können die Algorithmen auf beliebig viele CPU-Cores skaliert werden und auf großen Datenmengen operieren. Mahout bietet ein breites Spektrum an Algorithmen, die eingesetzt werden können, um effizient Data Mining durchzuführen. Die durch die Algorithmen gelieferten Ergebnisse müssen veranschaulicht werden, damit sie interpretiert werden können. Mögliche Probleme: Verifikation der Ergebnisse schwierig. An welcher Stelle ist die Analyse abgeschlossen? 40

Ausblick Projekt 1 und Projekt 2 Eine Infrastruktur wird aufgebaut, um verschiedene Data Mining Algorithmen auf Proteinsequenzen anzuwenden: MySQL Datenbank Steuerung und Visualisierung über ein Webinterface Import der Proteinsequenzen Hadoop distributed filesystem (hdfs) MapReduce MapReduce Export der Ergebnisse MapReduce... und eigens entwickelte MapReduce-Programme 41

Ablauf Einführung Verwandte Arbeiten Fazit Literatur 42

Literatur [1] Parallel K-Means Clustering Based on MapReduce Weizhong Zhao, Huifang Ma, Qing He Lecture Notes in Computer Science, 2009 - Volume 5931/2009, Seiten 674-679 [2] Data Mining, Concepts and Techniques Jiawei Han, Micheline Kamber, Jian Pei Morgan Kaufmann 2011 [3] Mahout in Action Sean Owen, Robin Anil, Ted Dunning, Ellen Friedman Manning 2011 [4] Hadoop in Action Chuck Lam Manning 2010 [5] MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean, Sanjay Ghemawat OSDI'04, Sixth Symposium on Operating System Design and Implementation, Dezember 2004 43

Literatur (2) [6] Pfp: parallel fp-growth for query recommendation Haoyuan Li, Yi Wang, Dong Zhang, Ming Zhang, and Edward Y. Chang Proceedings of the 2008 ACM conference on Recommender systems, 2008, Seiten 107-114 44

Ende Vielen Dank für die Aufmerksamkeit! Fragen? 45