Clustering und Klassifikation

Größe: px
Ab Seite anzeigen:

Download "Clustering und Klassifikation"

Transkript

1 Clustering und Klassifikation Matthias Pretzer Ferdinand-von-Schill-Str Oldenburg 5. Februar 2003 Im heutigen Informationszeitalter fallen immer schneller mehr und mehr Daten an, die von Unternehmen, wissenschaftlichen Vereinigungen oder anderen Interessenverbänden gespeichert werden. Diese Daten bergen ein enormes Wissenspotential, das es zu erschließen gilt. Hier setzen Knowledge Discovery in Databases und vor allem das Teilgebiet Data Mining an. Zwei wichtige Methoden des Data Mining Clustering und Klassifikation werden in dieser Arbeit vorgestellt. Zunächst werden die Zielsetzung und Grundlagen der beiden Verfahren umrissen, dann einige Ansätze, die diese Ziele erreichen sollen, beschrieben. Clusteringverfahren dienen dazu, Objekte der Eingabedaten zu Gruppen zusammenzufassen, um diese besser verstehen zu können. Es werden partitionierende Clusteringalgorithmen wie k-means, k- medoid und Dbscan, sowie hierarchische wie das Single-Link Verfahren und Optics vorgestellt. Klassifikationsverfahren dienen dagegen dazu, unbekannte Daten einer vorgegebenen Klasse zuzuordnen. Dabei lernt ein Klassifikator die Zuordnung anhand bereits klassifizierter Trainingsdaten. Es werden Bayes-Klassifikatoren, Entscheidungsbäume und (k)-nächste-nachbarn- Klassifikatoren vorgestellt. Diese Arbeit entstand im Rahmen der Projektgruppe Personalisierung internetbasierter Handelsszenarien an der Carl v. Ossietzky Universität, Oldenburg im Wintersemester 02/03. 1

2 Inhaltsverzeichnis 1 Einleitung 4 2 Clustering Grundlagen Partitionierendes Clustering Mittelpunktbestimmung Erwartungsmaximierung Dichte-basiertes Clustering Hierarchisches Clustering Agglomeratives Clustering Dichte-basiertes Clustering Zusammenfassung Klassifikation Grundlagen Bewertung der Klassifikationsgüte Verfahren Bayes-Klassifikatoren Entscheidungsbäume (k)-nächste-nachbarn-klassifikatoren Zusammenfassung Fazit 34 Literatur 35 Glossar 38 Index 40 Abbildungsverzeichnis 1 Centroid basiertes Clustering: ε-umgebungen und Dichte-Erreichbarkeit Clusterrepräsentation durch ein Dendrogramm Hierarchische Dichte-basierte Cluster Erreichbarkeitsdiagramm (Quelle: [ABKS99]) Entscheidungsbaum, um Wetter zu klassifizieren Effekt des Overfitting (Quelle: [Mit97]) Beispiel von Attribut- und Klassenliste von Sliq Unterschiedliche Klassifikationsergebnisse bei k = 2 und k =

3 Algorithmen 1 Clustering per Mittelpunktbestimmung Dbscan Agglomeratives Clustering Aufbau eines Entscheidungsbaumes Fehlerreduktionspruning

4 1 EINLEITUNG 1 Einleitung In der modernen, von Computern geprägten Gesellschaft werden immer mehr Vorgänge, seien es geschäftliche Transaktionen, wissenschaftliche Experimente oder andere, Daten generierende Prozesse, rein elektronisch erfaßt und in großen Datenbanken gespeichert. Dabei wächst nicht nur die Größe der Datenbanken, sondern auch die Geschwindigkeit, mit der neue Daten produziert werden. Man spricht sogar davon, daß sich Moore s Law, welches besagt, daß sich die Anzahl von Transistoren pro Quadratzentimeter auf einem Chip alle achtzehn Monate verdoppelt, auch auf die Größe von Datenbanken anwenden läßt [Heg99]. Doch was nützen solche Unmengen von Daten, wenn man sie nicht versteht? Mit der steigenden Informationsflut werden daher Techniken immer wichtiger, die in großen Mengen von Daten Muster finden, Zusammenhänge entdecken, und damit Wissen erzeugen. Dies ist die Hauptaufgabe von Knowledge Discovery in Databases (KDD). Nach [FPSS96] ist KDD der nicht triviale Prozeß, gültige, neue, potentiell nützliche und verständliche Muster in Daten zu finden. Das Ziel des KDD ist es, neues Wissen aus den vorhandenen Daten zu erschließen. Hierzu sind mehrere Schritte notwendig: 1. Selektion: Um überhaupt die Chance wahrnehmen zu können, sinnvolles Wissen aus einer riesigen Datenbank zu extrahieren, ist es zunächst notwendig, sich auf die relevanten Daten zu beschränken, diese also zu selektieren. 2. Vorverarbeitung: Die selektierten Daten müssen nach Möglichkeit von Rauschen befreit werden, fehlende Attribute müssen ersetzt oder gestrichen werden. 3. Transformation: Daten müssen in geeignete Form gebracht werden, um in den nachfolgenden Schritten bearbeitet werden zu können. 4. Data Mining: Durch Anwenden von speziellen Algorithmen sollen Muster in den Daten gefunden werden. 5. Interpretation: Die Interpretation der gelieferten Muster soll dem Benutzer neues Wissen vermitteln. Der KDD-Prozeß beinhaltet also insbesondere neben dem Data Mining wichtige, vorbereitende Schritte, die das Data Mining überhaupt erst ermöglichen. Der Data Mining Schritt im KDD-Prozeß soll mittels geeigneter Algorithmen Muster in Daten finden, um so die Grundlage für das Erkennen neuen Wissens zu liefern. Zwei wichtige Felder des Data Mining sind Clustering und Klassifikation, die in dieser Arbeit genauer vorgestellt werden. Clusteringverfahren dienen dazu, die Objekte der Eingabedaten in Gruppen, sogenannte Cluster einzuteilen. Dabei ist vorher unbekannt, welche Gruppen in den Daten existieren. Klassifikationsverfahren teilen Objekte der Eingabedaten hingegen in eine Reihe vorher bekannter Klassen ein. Diese Einteilung lernt ein Klassifikator mit Hilfe einer Menge von Trainingsdaten, von denen voher bekannt ist, welcher Klasse sie angehören. 4

5 1 EINLEITUNG Der Rest dieser Arbeit ist folgendermaßen aufgebaut: Abschnitt 2 stellt die Grundlagen von Clustering und einige ausgewählte Algorithmen vor, Abschnitt 3 beschäftigt sich mit der Klassifikation. Abschnitt 4 schliesst mit einem Fazit und der Einordnung der vorgestellten Techniken in die Projektgruppe Personalisierung internetbasierter Handelsszenarien. 5

6 2 CLUSTERING 2 Clustering Um Zusammenhänge in Daten entdecken zu können, ist es hilfreich, gleichartige Daten zu Gruppen zusammenzufassen. Clusteringverfahren leisten dies, indem sie sich ähnelnde Objekte der Eingabedaten in Cluster einteilen. Ein Cluster ist eine Menge von Objekten, die untereinander eine hohe und zu anderen Objekten außerhalb des Clusters eine möglichst geringe Ähnlichkeit aufweisen [ES00]. Der Rest dieses Abschnittes ist folgerndermaßen aufgebaut: Zunächst werden notwendige Grundlagen erläutert (Abschnitt 2.1). Im Anschluß werden in Abschnitt 2.2 Clusteringalgorithmen vorgestellt, die ein partitionierendes Clustering erstellen, in Abschnitt 2.3 werden Verfahren erläutert, die ein hierarchisches Clustering erzeugen. 2.1 Grundlagen Clusteringverfahren sollen Objekte in Mengen hoher Ähnlichkeit einteilen. Wie bestimmt man die Ähnlichkeit zweier Objekte? Dies ist eine der elementaren Frage des Clustering, von deren Beantwortung die Qualität des Ergebnisses entscheidend beeinflußt wird. Üblicherweise wird die Ähnlichkeit zweier Objekte über ihre Distanz zueinander approximiert. Je größer die Distanz, desto unähnlicher sind sich die Objekte. Ein Objekt x aus der Menge der Daten D habe die Attribute A 1,..., A d mit den Werten x = (x 1,..., x d ). Man muß nun unterscheiden zwischen qualitativen (oder kategorialen) Attributen (z.b. Geschlecht, Farbe) und quantitativen Attributen (z.b. Einkommen, Größe). Die Ausprägungen von quantitativen Attributen sind vergleichbar, d.h. man kann Differenzen zwischen zwei Werten eines quantitativen Attributs bilden. Zum Beispiel ist ein dreizehnjähriger jünger als eine zwanzigjährige, da < 0 13 < 20. Anders sieht es bei qualitativen Merkmalen aus. Hier lassen sich keine Differenzen und damit keine Vergleiche bilden. Zum Beispiel ist nicht definiert, was männlich weiblich ergibt. Man kann nur feststellen, daß sich zwei Ausprägungen eines qualitativen Attributs unterscheiden. Eine detaillierte Beschreibung des Unterschiedes zwischen quantitativen und qualitativen Attributen liefert [FKPT97]. Für Objekte, welche nur quantitative Attribute besitzen, ist es sehr einfach, eine Distanzfunktion zu finden. Ein Beispiel für solch eine Distanzfunktion ist die Euklidische Distanz: dist(x, y) = (x 1 y 1 ) (x d y d ) 2 = d (x i y i ) 2 (1) Eine Distanzfunktion muß die folgenden drei Bedingungen erfüllen: ˆ x, y D : dist(x, y) R 0 ˆ dist(x, y) = 0 x = y i=1 6

7 2.1 Grundlagen 2 CLUSTERING ˆ dist(x, y) = dist(y, x) Die euklidische Distanz erfüllt zusätzlich noch die Dreiecksungleichung: ˆ x, y, z D : dist(x, z) dist(x, y) + dist(y, z) Eine Distanzfunktion, die die Dreiecksungleichung erfüllt, ist eine Metrik. Weitere häufig benutzte Distanzfunktionen für quantitative Attribute sind die Manhattan-Distanz (Gleichung (2)) sowie die Maximums-Metrik (Gleichung (3)). Auch diese beiden Distanzfunktionen sind Metriken. dist(x, y) = x 1 y x d y d = d x i y i (2) i=1 dist(x, y) = max ( x 1 y 1,..., x d y d ) (3) Für qualitative Attribute kann man diese Distanzfuntionen nicht verwenden, da hier keine Differenzen gebildet werden können. Eine Möglichkeit, eine Distanzfunktion für solche Attribute zu bilden, ist es, die Anzahl der Attribute zu zählen, in denen sich zwei Objekte unterscheiden: d dist(x, y) = δ(x i, y i ) (4) mit i=1 { 0 wenn (xi = y δ(x i, y i ) = i ), 1 sonst Oftmals ist es schwierig, eine geeignete Distanzfunktion zu finden, weil die Objekte häufig sowohl qualitative als auch quantitative Attribute besitzen und diese oft von unterschiedlich großer Wichtigkeit für die Gruppierung der Objekte sind. Beispielsweise ist die Haarfarbe eines Kunden für die Gruppierung in Kundengruppen eines Supermarktes sicherlich nicht so wichtig wie sein Einkommen. Ein Clusteringverfahren kann also nicht einfach eine fest gewählte Distanzfunktion nutzen, sondern muß diese je nach Anwendung variieren. Für das Finden einer geeigneten Distanzfunktion benötigt man Hintergrundwissen über die vorliegenden Daten, so daß dies nicht automatisch von einem Clusteringalgorithmus geleistet werden kann, sondern von einem Experten übernommen werden muß. Im folgenden wird davon ausgegangen, daß eine geeignete Distanzfunktion zur Verfügung steht. Clusteringverfahren werden oft in verschiedene Klassen eingeteilt. Han und Kamber [HK01] teilen Clusteringverfahren in partitionierende, hierarchische, dichte-basierte, gitterbasierte und modell-basierte Verfahren ein. Diese Einteilung beruht auf der Vorgehensweise, die die Verfahren verwenden, um Cluster zu finden. Partitionierende Verfahren sind nach [HK01] solche, die mit einem initialen Clustering beginnen, um dann iterativ solange eine Neuzordnung der Eingabedaten zu den bestehenden Clustern vorzunehmen, 7

8 2.2 Partitionierendes Clustering 2 CLUSTERING bis das Clustering optimal ist. Hierarchische Methoden sind nach dieser Einteilung dagegen solche, die entweder zunächst jedes einzelne Objekt einem Cluster zuweisen und dann solange Cluster miteinander zu neuen Clustern vereinen, bis alle Objekte in einem Cluster enthalten sind, oder zunächst alle Objekte einem Cluster zuordnen und diesen dann sukzessiv aufspalten, bis alle Objekte einem eigenen Cluster angehören. Dichte-basierte Verfahren sehen Cluster als Regionen von Objekten an, die in einer hohen Dichte zueinander stehen. Gitter-basierte Methoden teilen den Raum der Eingabedaten in ein Gitter ein und weisen Objekte aufgrund ihrer Lage in diesem Gitter einem bestimmten Cluster zu. Modell-basierte Verfahren versuchen nach [HK01] ein mathematisches Modell zu entwickeln und dessen Parameter so zu wählen, daß die Eingabedaten möglichst gut repräsentiert werden. Im folgenden werden Clusteringverfahren analog zu [ES00] nur in partitionierende (Abschnitt 2.2) und hierarchische (Abschnitt 2.3) Verfahren eingeteilt. Diese Einteilung beruht nicht auf der Vorgehensweise der jeweiligen Algorithmen, sondern auf der Art der Cluster, die die Algorithmen in den Eingabedaten finden. So lassen sich alle in [HK01] vorgestellten Verfahren danach unterscheiden, ob sie ein Objekt nur jeweils einem Cluster zuordnen, oder ob sie eine Hierarchie von Clustern erzeugen. Beispielsweise gibt es dichte-basierte Verfahren, die ein partitionierendes Clustering erzeugen, und solche, die ein hierarchisches erzeugen. Alle hier betrachteten Verfahren sind distanz-basiert, d.h. sie teilen ein Objekt aufgrund seiner Distanz zu anderen Objekten in den passenden Cluster ein. Han und Kamber erwähnen in [HK01] zusätzlich noch das konzept-basierte Clustering, das hier jedoch nicht weiter behandelt wird. 2.2 Partitionierendes Clustering Partitionierende Clusteringverfahren teilen die Eingabedaten in disjunkte Cluster ein, so daß gilt: ˆ Jeder Cluster besteht aus mindestens einem Objekt. ˆ Jedes Objekt ist höchstens in einem Cluster enthalten. Es gibt mehrere Methoden, solch ein Clustering zu erzeugen. Zunächst werden Verfahren vorgestellt, die den Mittelpunkt eines Clusters suchen und die übrigen Punkte dem Cluster zuordnen, zu dessen Mittelpunkt sie die geringste Distanz haben. Danach wird ein Verfahren untersucht, daß auf Wahrscheinlichkeitstheorie basiert und als letztes ein dichte-basiertes Verfahren vorgestellt. 8

9 2.2 Partitionierendes Clustering 2 CLUSTERING Mittelpunktbestimmung Verfahren, die in diese Kategorie fallen, beginnen zunächst mit einem initialen Clustering und verbessern dieses iterativ. Das bedeutet, daß im ersten Schritt alle Objekte der Eingabedaten (meist wahllos, z.b. zufällig) einem Cluster zugeordnet werden und dann der Mittelpunkt dieser Cluster bestimmt wird. Dann werden die Objekte neu zu den Clustern zugewiesen, zu deren Mittelpunkt sie am wenigsten entfernt sind. Dies wird solange iterativ wiederholt, bis sich die Qualität des Clustering nicht mehr verbessert. Algorithmus 1 stellt einen allgemeinen Algorithmus dar, der nach diesem Schema arbeitet. Wie aber bestimmt man den Mittelpunkt eines Clusters und die Kompaktheit 1. Weise alle Objekte aus den Eingabedaten einem der Cluster C 1,..., C k zu. 2. Bestimmt die Kompaktheit T D des Clustering. 3. Bestimme die Mittelpunkte x 1,..., x k der Cluster. 4. Für alle x aus den Eingabedaten: Weise x demjenigen Cluster C i zu, von dessen Mittelpunkt x i es am wenigsten entfernt ist. 5. Falls die Kompaktheit des neuen Clustering kleiner als T D ist, weiter bei 3. Algorithmus 1: Clustering per Mittelpunktbestimmung des Clustering? Dazu werden im folgenden die zwei bekannten Verfahren k-means und k-medoid vorgestellt. k-means Das k-means Verfahren benutzt als Mittelpunkt eines Clusters den sogenannten Centroid µ C, der anschaulich den geometrischen Mittelpunkt eines Clusters C darstellt: µ C = ( x 1 (C),..., x d (C) ) mit x j (C) = 1 x j (5) C Um das Maß der Kompaktheit eines Clustering nach diesem Verfahren bestimmen zu können, bestimmt man zunächst die Kompaktheit eines Clusters C in diesem Clustering durch: T D 2 (C) = x C dist(x, µ C ) 2 (6) Dann bezeichnt die Kompaktheit des Clustering die Summe der Kompaktheit der einzelnen Cluster C i : k T D 2 = T D 2 (C i ) (7) i=1 Abbildung 1 zeigt den initialen Schritt der (zufälligen) Zuweisung der Objekte zu einem Cluster, die Berechnung der Centroide und die Neuberechnung der Cluster. Das k-means Verfahren weicht von Algorithmus 1 in dem Punkt ab, daß es die Centroide der neuen Cluster nicht erst nach der Umordnung aller Punkte, sondern inkrementell bei jeder Umordnung anpaßt. Dadurch kann das Neuberechnen der Centroide am Ende der x C 9

10 2.2 Partitionierendes Clustering 2 CLUSTERING Umordnung eingespart werden. Der Nachteil ist, daß das Verfahren dadurch abhängig von der Reihenfolge der Abarbeitung der einzelnen Punkte in den Clustern ist. 5 (a) Eingabedaten 5 (b) Eingabedaten (c) Eingabedaten Centroide (d) Eingabedaten Centroide Abbildung 1: Centroid basiertes Clustering: (a) Eingabedaten, (b) initiales Clustering, (c) Centroidbestimmung, (d) Neueinteilung der Cluster k-medoid Ein Verfahren, das dem k-means Verfahren sehr ähnlich ist, ist das k-medoid Verfahren, das ebenfalls nach dem Schema des Algorithmus 1 arbeitet. Hier wird als zentraler Punkt eines Clusters der sogenannte Medoid m C bestimmt, der im Gegensatz zum Centroid ein Objekt aus den Eingabedaten sein muß. Der Medoid ist derjenige Punkt der Eingabedaten, der die geringste Entfernung zum arithmetischen Mittelpunkt hat. Maß für die Kompaktheit ist hier üblicherweise nicht die Summe der quadrierten Distanzen, sondern die einfache Summe der Distanzen: T D(C) = x C dist(x, m C ) (8) T D = k T D(C i ) (9) i=1 Dadurch wird verhindert, daß große Entfernungen zum Medoid ein zu starkes Gewicht erlangen [ES00]. 10

11 2.2 Partitionierendes Clustering 2 CLUSTERING Das ein Medoid ein Element der Eingabedaten ist, bedeutet, daß man ihn nun nicht einfach errechnen kann, sondern ihn in den Eingabedaten suchen muß. Es existieren mittlerweile verschiedene Algorithmen, die dies mit unterschiedlichen Strategien erreichen. Ein bekannter ist Partitioning Around Medoids (Pam) [KR90], der eine sehr gründliche Suche auf den Eingabedaten durchführt. Dadurch bewertet er die Kompaktheit des Clustering für nahezu alle möglichen Kombinationen von Medoiden und ist deshalb in der Lage, gute Cluster zu finden [ES00]. Der Nachteil ist allerdings, daß die Laufzeit mit der Anzahl der Eingabeobjekte sehr stark ansteigt und Pam daher nur für kleine Mengen zu clusternder Objekte geeignet ist. Eine weniger gründliche Suche führt Clustering Large Applications based on RANdomized Search (Clarans) [NH94] durch, der nicht den kompletten Eingaberaum absucht, sondern zufallsbasiert nur einen Teil der Daten berücksichtigt. Dadurch ist er deutlich effizienter, ohne dabei wesentlich schlechtere Ergebnisse als Pam zu liefern [ES00, NH94] Erwartungsmaximierung Im Gegensatz zu den vorherigen Methoden, werden beim Clustering nach Erwartungsmaximierung die Cluster nicht durch Mittelpunkte repräsentiert, sondern durch Wahrscheinlichkeitsverteilungen. Eine Wahrscheinlichkeitsverteilung ist eine Abbildung, die jedem möglichen Ausgang eines Zufallsexperiments eine Wahrscheinlichkeit zuordnet [FKPT97]. Beim Clustering durch Erwartungsmaximierung nimmt man also an, daß die Daten aus einem Zufallsexperiment enstanden sind und approximiert die Cluster durch Gaußverteilungen. Eine Gaußverteilung ist eine symmetrische Wahrscheinlichkeitsverteilung, die einen Graphen in Glockenform induziert. Gaußverteilungen werden benutzt, weil sich durch eine Mischung dieser beliebige andere Verteilungen approximieren lassen [FKPT97]. Eine Gaußverteilung C ist eindeutig definiert durch ihren Mittelwert µ C und ihre Kovarianzmatrix Σ C [ES00]. Eine Kovarianzmatrix bezüglich einer d-dimensionalen Zufallsvariablen X = (X 1,..., X d ) ist eine d d Matrix, deren einzelne Elemente die paarweisen Kovarianzen der Zufallsvariablen X i sind: Σ = Cov(X 1, X 1 ) Cov(X 1, X d )..... Cov(X d, X 1 ) Cov(X d, X d ) Hier ist diese Zufallsvariable gegeben durch die Menge der Eingabedaten mit ihren Attributen (A 1,..., A d ). Die Kovarianz bezüglich zweier Zufallsvariablen X i und X j ist definiert als Cov(X i, Y j ) = E ( (X i EX i )(Y j EY j ) ), wobei E(X i ) der Erwartungswert der Zufallsvariablen X i ist. Man nimmt nun an, daß die Eingabedaten aus einer Mischung von k Gaußverteilungen entstanden sind. Das Ziel des Em-Algorithmus ist es daher, die k Gaußverteilungen zu finden, für die die Wahrscheinlichkeit, daß die gegebenen Daten aus ihnen entstanden 11

12 2.2 Partitionierendes Clustering 2 CLUSTERING sind, maximal ist. Dazu beginnt man ähnlich wie beim k-means oder k-medoid Verfahren mit beliebigen Startwerten für µ C und Σ C und verbessert das Clustering iterativ, analog zu Algorithmus 1, wobei hier an Stelle der Mittelpunkte die Parameter der Gaußverteilungen bestimmt werden. Um dies zu tun, berechnet man zunächst für die initialen Belegungen die Wahrscheinlichkeiten, mit denen ein Punkt x aus einer der k Gaußverteilungen C i entstanden ist: 1 P (x C i ) = 1 (2π)d Σ Ci e 2 (x µ C i ) T (Σ Ci ) 1 (x µ Ci ) (10) Damit läßt sich nun die Wahrscheinlichkeit berechnen, mit der x aus der Mischung der k Gaußverteilungen entstanden ist: k P (x) = W i P (x C i ), (11) i=1 W i ist dabei die Anzahl der Objekte im Cluster C i geteilt durch die Anzahl aller Objekte, also eine Gewichtung entsprechend der Größe des Clusters. Die Wahrscheinlichkeit, mit der nun ein bestimmtes Objekt x einem Cluster C i angehört ist: 1 P (C i x) = W i P (x C i ) P (x) Um zu überprüfen, ob das vorgegebene Ziel, daß die gegebenen Daten mit maximaler Wahrscheinlichkeit aus den errechneten Gaußverteilungen entstanden sind, erreicht wurde, werden die Wahrscheinlichkeiten aller Objekte der Daten, die nach Formel (11) errechnet wurden, summiert: E = log(p (x)) (13) x D (12) Der iterative Algorithmus berechnet zu den initialen Belegungen die Wahrscheinlichkeiten P (x), P (x C i ) und P (C i x), um dann aus diesen neue Mittelwerte µ Ci und Kovarianzmatrizen Σ Ci der Cluster C 1,..., C k zu errechnen, aus denen sich dann wiederum neue Wahrscheinlichkeiten ergeben. Dies wird solange wiederholt, bis E nicht mehr erhöht werden kann. Rechnerisch kann nun ein Objekt mehreren Clustern angehören, nämlich gerade denen, für die P (C i x) > 0 ist. Um der Einschränkung des partitionierenden Clustering zu genügen, daß ein Objekt höchstens einem Cluster angehört, kann man die Objekte demjenigen Cluster C i zuweisen, für den P (C i x) maximal ist. Clustering nach Erwartungsmaximierung hat ebenso wie die Verfahren nach Mittelpunktbestimmung (Abschnitt 2.2.1) Probleme, Cluster zu finden, die bestimmte Eigenschaften aufweisen. So können beispielsweise Cluster, die stark unterschiedliche räumliche Strukturen besitzen, schlecht von solchen Verfahren erkannt werden [ES00]. Für solche Cluster bietet sich das dichte-basierte Clustering an, das im folgenden vorgestellt wird. 1 siehe dazu auch Gleichung (21) auf Seite 23 12

13 2.2 Partitionierendes Clustering 2 CLUSTERING Dichte-basiertes Clustering Statt einen Cluster als eine Menge von Objekten anzusehen, die möglichst nah an einem gewissen Mittelpunkt liegen, kann man einen Cluster auch als eine Menge von Objekten ansehen, die in einer bestimmten Dichte zueinander stehen und von anderen Clustern durch Regionen geringerer Dichte getrennt werden. Ein Algorithmus, der Cluster auf diese Weise findet, ist Density Based Spatial Clustering of Applications with Noise (Dbscan) [EKSX96, ES00]. Um ein solches Clustering durchführen zu können, werden zunächst folgende Begriffe definiert: ˆ Sei ε R 0, x D. Dann ist N ε (x) = {y D : dist(x, y) ε} die ε-umgebung von x ˆ Sei MinP T S N. x D ist ein Kernobjekt, falls N ε (x) MinP T S ˆ x D ist direkt dichte-erreichbar von y D, falls y Kernobjekt ist und x N ε (y). ˆ x ist dichte-erreichbar von y, falls p 1,..., p n D : p 1 = y, p n = x und i (1,..., n 1) : p i+1 ist direkt dichte-erreichbar von p i ˆ x und y sind dichte-verbunden, wenn z D : x und y sind dichte-erreichbar von z ˆ x ist ein Randobjekt, falls es kein Kernobjekt ist und in der ε-umgebung eines Kernobjektes liegt Abbildung 2 verdeutlicht diese Definitionen. Man sieht vier Kernobjekte und die zwei Randobjekte x und y. Alle Kernobjekte sind hier direkt dichte-erreichbar untereinander. x ist direkt dichte-erreichbar vom untersten Kernobjekt, von den anderen dichteerreichbar. x und y sind über die Kernobjekte dichte-verbunden MinPTS=4 Epsilon=0,5 Kernobjekte xy Epsilon Abbildung 2: ε-umgebungen und Dichte-Erreichbarkeit 13

14 2.2 Partitionierendes Clustering 2 CLUSTERING Anhand der getroffenen Definitionen lassen sich nun sehr leicht Cluster identifizieren. Man wählt ein beliebiges Kernobjekt aus den Eingabedaten und ordnet dieses und alle von ihm dichte-erreichbaren Objekte einem gemeinsamen Cluster zu. Ein Cluster ist damit eine Menge von dichte-verbundenen Objekten. In Abbildung 2 gehören also alle Objekte zum selben Cluster. Anhand dieser Definition eines Clusters läßt sich auch leicht Rauschen erkennen, also Daten, die keinem Cluster zuzuordnen sind. Dies sind einfach Objekte, die weder Kern- noch Randobjekt, also von keinem Kernobjekt aus dichteerreichbar sind. Eine formale Definition dieser Art der Clusterrepräsentation findet sich in [ES00]. Die Tatsache, daß sich von einem beliebigen Kernobjekt innerhalb eines Clusters alle Objekte des Clusters finden lassen, indem man die jeweils dichte-erreichbaren Objekte absucht, macht sich Dbscan zu nutze, wie Algorithmus 2 zeigt. Seien ε R 0, MinP T S N, D die Eingabedaten, k = 1 eine Zählervariable 1. Weise allen Objekten den Status UNKLASSIFIZIERT zu 2. x D, Status(x) = UNKLASSIFIZIERT: Falls N ε (x) < MinP T S: Setze Status(x) = NOISE. Andernfalls: a) Sei seeds = N ε (x) b) y seeds: Falls Status(y) {UNKLASSIZIFIZIERT,NOISE}: Setze Status(y) = k c) seeds = seeds \ {x} d) Solange seeds : i. Sei y seeds ii. Falls N ε (y) MinP T S: z N ε (y): A. Falls Status(z) = UNKLASSIFIZIERT: seeds = seeds {z} B. Falls Status(z) {UNKLASSIZIFIZIERT,NOISE}: Setze Status(z) = k iii. seeds = seeds \ {y} e) Inkrementiere k 3. Das Clustering ist gegeben durch die Cluster C 1,..., C k. Alle Objekte der Eingabedaten mit dem Status NOISE sind Rauschen, Objekte mit Status i gehören zum Cluster C i. Algorithmus 2: Dbscan Überlappungen Die hier vorgestellte Clusterdefinition läßt es zu, daß ein Randobjekt zu mehr als einem Cluster gehören kann. Für diesen Fall weist Algorithmus 2 das Objekt demjenigen Cluster zu, den er zuerst gefunden hat. Überlappungen sind jedoch nur für MinP T S 4 überhaupt möglich, wie man leicht sieht: Sei MinP T S = 3, x ein Kernobjekt des Clusters C 1, y ein Kernobjekt des Clusters C 2 und z ein Randobjekt beider Cluster mit z N ε (x) und z N ε (y). Damit ist jedoch N ε (z) 3, weil x, y, z bereits in N ε (z) enthalten sind. Daher ist z Kernobjekt und C 1 = C 2. 14

15 2.3 Hierarchisches Clustering 2 CLUSTERING 2.3 Hierarchisches Clustering Im Gegensatz zum partitionierenden Clustering (Abschnitt 2.2) werden die Eingabedaten nicht in disjunkte Cluster eingeteilt, sondern in eine Hierarchie von Clustern. Es werden neben möglicherweise disjunkten Clustern auch solche gebildet, die in einem anderen, größeren Cluster enthalten sind, diesem also untergeordnet sind. Ebenso können übergeordnete Cluster aus der Vereinigung bereits bestehender Cluster gebildet werden. So eine Clusterhierarchie ist gerade dann von Vorteil, wenn Daten zu analysieren sind, die natürlicherweise eine Hierarchie darstellen, beispielsweise eine Hierarchie von Kundengruppen unterschiedlicher Qualität. Im folgenden werden zwei unterschiedliche Methoden vorgestellt, die ein hierarchisches Clustering erzeugen. Agglomeratives Clustering (Abschnitt 2.3.1) erstellt Cluster anhand von Distanzen zwischen Objekten und Distanzen von Clustern zueinander, Abschnitt stellt ein dichte-basiertes Verfahren zur Erstellung eines hierarchischen Clustering vor Agglomeratives Clustering Agglomeratives Clustering [DH73] benutzt einen bottom-up Ansatz, um eine Hierarchie von Clustern aufzubauen. Zuerst werden einelementige Cluster erzeugt, 2 welche dann zu zweielementigen Clustern verbunden werden, die dann wiederum mit anderen Clustern verbunden werden, bis schließlich alle Objekte in einem gemeinsamen Cluster enthalten sind. Das divisive Clustering baut eine Hierarchie dagegen in umgekehrter Reihenfolge auf, indem es zunächst alle Objekte einem einzigen Cluster zuordnet und diesen dann sukzessiv in kleinere Cluster aufspaltet. Wegen der großen konzeptionellen Ähnlichkeit zum agglomerativen Clustering, wird das divisive Clustering im folgenden nicht weiter behandelt. Um ein agglomeratives Clustering erzeugen zu können, wird neben einer Distanzfunktion zwischen zwei Objekten (Abschnitt 2.1) zusätzlich eine Distanzfunktion zwischen Mengen von Objekten, also zwischen Clustern, benötigt. Auch hier gibt es unterschiedliche Vorgehensweisen, die sich lediglich in der Wahl dieser Distanzfunktion unterscheiden [ES00]. Die Single-Link-Methode definiert die Distanz einer Menge X D zu einer Menge Y D als die kleinste Distanz zweier Objekte dieser Mengen zueinander: dist(x, Y ) = min dist(x, y) (14) x X,y Y Die Complete-Link-Methode verwendet dagegen die maximale Distanz zweier Objekte: dist(x, Y ) = max dist(x, y) (15) x X,y Y 2 Jedes Objekt in den Eingabedaten wird also als ein Cluster angesehen. 15

16 2.3 Hierarchisches Clustering 2 CLUSTERING Die Distanzfunktion der Average-Link-Methode bildet stattdessen das arithmetische Mittel der Distanzen aller Objekte der einen Menge zu den Objekten der anderen Menge: dist(x, Y ) = 1 X Y x X,y Y dist(x, y) (16) Unabhängig von der verwendeten Distanzfunktion läßt sich ein agglomeratives Clustering durch bottum-up Aufbau mittels Algorithmus 3 durchführen. Clusterhierarchien, 1. Messe alle Distanzen zwischen je zwei Objekten aus den Eingabedaten 2. Fasse diejenigen Objekte mit den kleinsten Distanzen zueinander zu je einem Cluster zusammen 3. Berechne die Distanzen der erzeugten Cluster zu den übrigen Objekten neu 4. Weiter bei 2. falls nicht alle Objekte im selben Cluster sind Algorithmus 3: Agglomeratives Clustering die auf diese Weise aufgebaut werden, werden oft durch ein Dendrogramm dargestellt [DH73]. Abbildung 3 zeigt rechts ein solches Dendrogramm für die links abgebildeten Beispielsdaten Distanz zwischen den Clustern Abbildung 3: Clusterrepräsentation durch ein Dendrogramm Dichte-basiertes Clustering In Abschnitt wurde mit Dbscan ein Verfahren vorgestellt, daß ein partitionierendes Clustering erstellt, indem es Cluster als Regionen hoher Dichte betrachtet, die untereinander durch Regionen geringer Dichte getrennt sind. In [ABKS99] stellen die Autoren eine Möglichkeit vor, wie man diese Technik nutzen kann, um hierarchische Cluster zu finden. Der Grundgedanke dabei ist, daß für einen festen Wert MinP T S eine Hierarchie von Clustern aufgebaut werden kann, wenn man den Wert für ε variiert. Dann 16

17 2.3 Hierarchisches Clustering 2 CLUSTERING sind die Cluster für kleine Werte von ε vollständig in den Clustern für große Werte von ε enthalten, wodurch sich eine Hierarchie von Clustern aufbauen läßt. Abbildung 4 verdeutlicht dies anhand der zwei Cluster C 1 und C 2 für ε 1 = 0, 5 und dem übergeordneten Cluster C für ε 2 = 1. Man könnte also Dbscan mehrere Male mit unterschiedlichen ε MinPTS=4 C C1 C Abbildung 4: Hierarchische Dichte-basierte Cluster Werten starten und dadurch ein hierarchisches Clustering erzeugen. Welche Werte sollen hierfür benutzt werden? Diese Frage umgehen Ankerst et al [ABKS99] und stellen stattdessen den Algorithmus Ordering Points To Identify the Clustering Structure (Optics) vor, der die Eingabedaten so ordnet, daß für beliebige ε Werte unterhalb eines Schwellenwertes ε Cluster gefunden werden können. Dazu definiert man zunächst die Kerndistanz eines Objektes x in Bezug zu ε und MinP T S als: { UNDEFINIERT, falls Nε (x) < MinP T S Kerndistanz MinP ts,ε (x) = M inp T S-Distanz(x) sonst (17) Dabei ist die MinP T S-Distanz eines Objektes die Distanz, ab der es ein Kernobjekt ist, ab der also MinP T S Nachbarn in der Nachbarschaft des Objektes liegen. Zum Beispiel hat in Abbildung 4 das Objekt mit den Koordinaten 1; 1, 5 die Kerndistanz 2 (0, 25)2 für MinP T S = 4 und ε = 0, 5. Weiterhin definiert man die Erreichbarkeitsdistanz eines Objektes x von einem Objekt y aus als: Erreichbarkeitsdistanz MinP T S,ε (x, y) = { UNDEFINIERT, falls Nε (y) < MinP T S max ( Kerndistanz(y), dist(x, y) ) sonst (18) 17

18 2.3 Hierarchisches Clustering 2 CLUSTERING In Abbildung 4 hat z.b. das Objekt x = 1, 25; 1, 75 vom Objekt y = 1, 5; 1, 5 die Erreichbarkeitsdistanz 0, 5, da y erst ab dieser Distanz ein Kernobjekt ist. Optics durchläuft nun die Eingabedaten und ermittelt für jedes Objekt die Kern- und die kleinste Erreichbarkeitsdistanz relativ zu einem bereits bearbeiteten Objekt 3. Dabei werden die Objekte entsprechend der ermittelten Erreichbarkeitsdistanz geordnet in eine Datei geschrieben. Mit Hilfe dieser Datei kann man nun einen Graphen erstellen, der die Erreichbarkeitsdistanzen darstellt. Anhand eines solchen Graphen läßt sich die hierarchische Clusterstruktur für alle Cluster, deren Dichteparameter ε kleiner als der dem Optics übergebenen ε ist, identifizieren. Abbildung 5 zeigt so ein Erreichbarkeitsdiagramm. Die einzelnen Cluster sind gut als Senken der Erreichbarkeitsdistanzen zu Abbildung 5: Erreichbarkeitsdiagramm (Quelle: [ABKS99]) erkennen, auch die Hierarchie des rechten Clusters mit seinen untergeordneten Subclustern ist gut erkennbar. Lediglich die Form der Cluster geht verloren. Diese ist aber im Falle von Daten mit hoher Dimension sowieso kaum noch erfaßbar, während ein Erreichbarkeitsdiagramm bei unterschiedlicher Dimension der Ausgangsdaten immer zwei Dimensionen beinhaltet, nämlich die Ordnung durch Optics und die Erreichbarkeitsdistanzen. In [ABKS99] stellen die Autoren außerdem den sogenannten ξ-algorithmus vor, der aus einem von Optics erstellten Erreichbarkeitsdiagramm automatisch eine Hierarchie von Clustern anhand von steigenden und sinkenden Regionen der Erreichbarkeit erstellen kann. Dabei wird der Eingabeparameter ξ benutzt, um die Steilheit solcher Regionen zu bestimmen, wodurch sich kontrollieren läßt, bis zu welchem Grad ein Cluster noch als solcher erkannt wird. Übergibt man nun Optics den Eingabeparameter ε in einer Größe, für die Dbscan alle Objekte der Eingabedaten einem Cluster zuweisen würde, kann man so mit Hilfe von Optics alle hierarchisch darunter liegenden Cluster aufdecken und mit Hilfe des ξ-algorithmus automatisch erkennen. Unter uni-muenchen.de/forschung/kdd/clustering/optics/demo/ findet sich eine Demo, die dies sehr schön veranschaulicht. 3 Beachte: jedes Objekt hat eine eindeutige Kerndistanz, aber evtl. mehrere Erreichbarkeitsdistanzen, falls es in der ε-nachbarschaft mehrerer Kernobjekte liegt. 18

19 2.4 Zusammenfassung 2 CLUSTERING 2.4 Zusammenfassung Es wurden zwei grundlegend verschiedene Arten vorgestellt, Eingabedaten in Cluster einzuteilen das partitionierende und das hierarchische Clustering. In beiden Teilgebieten gibt es eine Unzahl verschiedener Vorgehensweisen, dieses Ziel zu erreichen. Einige davon wurden hier erläutert. Partitionierendes Clustering Beim Clustering durch Mittelpunktbestimmung suchen die Verfahren von einem initialen Clustering aus iterativ die Mittelpunkte, die das kompakteste Clustering definieren. Beim Clustering durch Erwartungsmaximierung wird ebenfalls iterativ eine Mischung aus Gaußverteilungen solange verbessert, bis die Eingabedaten möglichst wahrscheinlich aus dieser Mischung hervorgegangen sind. Beide Verfahren haben den Nachteil, daß ihre Effizienz und ihr Ergebnis stark von dem initialen Clustering abhängt. Daher beschäftigen sich Fayyad et al [FRB98] mit der Frage, welche initialen Belegungen die besten Ergebnisse liefern und schlagen einen Algorithmus vor, der mittels Sampling solche Startpunkte finden soll, die möglichst nahe an den optimalen liegen. Ein weiteres Problem dieser Gruppe von Verfahren ist es, daß die Anzahl k der zu findenden Cluster vorgegeben werden muß. Bei Anwendungen, bei denen die Anzahl der Cluster a priori feststeht ist dies natürlich unproblematisch, bei Anwendungen, wo die Anzahl der Cluster unbekannt ist, müssen die Verfahren für verschiedene Werte von k angewendet werden. Problematisch ist dann allerdings die Bewertung der verschiedenen Durchläufe, weil die Kompaktheit mit steigendem k ebenfalls zunimmt. In [ES00] und [KR90] werden geeignete Bewertungsmaße für dieses Problem vorgestellt. Ein großer Nachteil der Mittelpunktbestimmung und der Erwartungsmaximierung ist weiterhin, daß sie für Cluster, die nicht kugelförmig sind oder stark unterschiedliche Ausdehnungen haben, falsche Ergebnisse liefern [ES00]. Hier setzt das dichte-basierte Clustering (Abschnitt 2.2.3) an, das bei Clustern der verschiedensten Formen gute Ergebnisse liefert [ES00] [EKSX96]. Probleme hat dieses Clusteringverfahren bei Eingabedaten stark unterschiedlicher Dichte. Hierarchisches Clustering Häufig hat man Eingabedaten, die in einer natürliche Hierarchie geordnet sind und damit auch ineinander verschachtelte Cluster bilden. Solche Clusterstrukturen lassen sich mit partitionierenden Methoden nicht finden. Es wurden zwei Verfahren vorgestellt, die eine solche Hierarchie von Clustern erzeugen können. Agglomerative Verfahren arbeitet mit Distanzen von Objekten und Clustern zueinander und fügen Objekte und Cluster solange zu neuen Clustern zusammen, bis alle Objekte in einem gemeinsamen Cluster enthalten sind. Die Struktur des Clustering wird in einem Dendrogramm wiedergegeben. Neben dem Problem, das diese Verfahren nicht immer die wahre Clusterstruktur erkennen, kann ein Dendrogramm für eine sehr große Menge von Daten sehr unübersichtlich und schwer zu interpretieren sein. 19

20 2.4 Zusammenfassung 2 CLUSTERING Das dichte-basierte hierarchische Clustering, das in Abschnitt vorstellt wurde, vereint die Vorteile von Dbscan mit einer neuartigen Methode, hierarchische Cluster zu finden und zu repräsentieren. Dabei ist die Art der Visualisierung auch für sehr viele Daten mit hoher Dimension geeignet. Außerdem wurde das Problem, daß Dbscan mit Clustern stark unterschiedlicher Dichte hat, auf diese Weise eliminiert. Ein Problem, das alle hier vorgestellten Verfahren gemeinsam haben ist das Problem der Dimension. Häufig weisen die Eingabedaten eine hohe Anzahl von Attributen auf, die für das Clustering überhaupt nicht relevant sind und die vorgestellten Verfahren dadurch keine Cluster finden können. Dieses Problem kann man vermeiden, wenn man vorher weiß, welche Attribute für das Clustering relevant sind und die übrigen von der Analyse ausschließt. Für den Fall, daß dies nicht bekannt ist, wird in [AGGR98] ein Verfahren vorgestellt, daß automatisch in Unterräumen geringerer Dimensionalität nach Clustern sucht. 20

21 3 KLASSIFIKATION 3 Klassifikation In Abschnitt 2 wurde gezeigt, wie man unbekannte Eingabedaten in Cluster einteilen kann, so daß die Daten untereinander eine hohe Ähnlichkeit und zu Daten in anderen Clustern eine geringe Ähnlichkeit haben. Dabei ist vorher unbekannt, aus was für Objekten ein Cluster besteht. Man spricht deshalb auch von unüberwachtem Lernen. Aufgabe der Klassifikation hingegen ist es, anhand einer vorgegebenen Trainingsmenge von bekannten Objekten ein Modell aufzubauen, mit dem sich unbekannte Objekte aufgrund ihrer Eigenschaften in Klassen einteilen lassen. Dabei sind sowohl die Klassen als auch die Zugehörigkeit der Trainingsobjekte zu einer Klasse vorher bekannt. Man spricht daher von überwachtem Lernen. 3.1 Grundlagen Gegeben sei eine Menge T von Trainingsdaten mit Attributen A 1,..., A d und zusätzlich dem Klassenattribut c, das jedes Trainingsobjekt einer der bereits bekannten Klassen C 1,..., C k zuordnet. Dabei können die Attribute sowohl quantitativ als auch qualitativ sein (siehe Seite 6), das Klassenattribut ist immer qualitativ. 4 Klassifikationsverfahren arbeiten in zwei Phasen. Zuerst wird anhand der Trainingsdaten ein Modell aufgebaut, mit dessen Hilfe man in der zweiten Phase unbekannte Daten, also solche, bei denen das Klassenattribut c unbekannt ist, in eine passende Klasse einordnet. Ein weiteres wichtiges Ziel der Klassifikation ist es, anhand des aufgebauten Modells Wissen über die Klassen zu erlangen. 3.2 Bewertung der Klassifikationsgüte Während es beim Clustering schwer ist, die Leistung unterschiedlicher Verfahren anhand einer Kenngröße (oder Kostenfunktion) zu beurteilen, ist dies beim Vergleich unterschiedlicher Klassifikatoren einfacher. Ziel eines Klassifikators ist es, wie erwähnt, ein Objekt seiner korrekten Klasse zuzuordnen. Die Güte eines Klassifikators läßt sich daher dadurch bestimmen, wie hoch der Anteil an falsch klassifizierten Objekten ist. Diese wahre Fehlerrate (true error rate) berechnet Gleichung (19). true error rate = Anzahl der falsch klassifizierten Objekte Anzahl aller Objekte Das Problem hierbei ist jedoch, daß es bei unbekannten Objekten keine Möglichkeit gibt, die wahre Klasse und damit potentielle Fehlklassifikationen zu erkennen. Dies kann nur 4 Bei quantitativen Klassenattributen spricht man nicht mehr von Klassifikation, sondern von Regression. Solche Verfahren sind nicht Thema dieser Arbeit. (19) 21

22 3.3 Verfahren 3 KLASSIFIKATION für die Trainingsdaten, deren Klassenzugehörigkeit a priori bekannt ist, erfolgen. Die Fehlerrate eines Klassifikators auf den Trainingsdaten nennt man auch offensichtliche Fehlerrate (apparent error rate); sie ist gegeben durch Gleichung (20). apparent error rate = Anzahl der falsch klassifizierten Trainingsobjekte Anzahl aller Trainingsobjekte (20) Aus der Statistik weiß man, daß sich die offensichtliche Fehlerrate der wahren Fehlerrate annähert, wenn man genügend Trainingsobjekte zur Verfügung hat, so daß diese die Gesamtheit der Daten widerspiegeln [FKPT97]. In realen Problemstellungen ist es jedoch häufig so, daß die Menge der Trainingsdaten beschränkt ist. Es sind also Verfahren gesucht, mit denen man anhand einer beschränkten Menge von Trainingsobjekten eine Fehlerrate errechnen kann, die möglichst nah an der wahren liegt. Train and Test Die einfachste Methode ist es, die Trainingsdaten in zwei Teilmengen zu zerlegen, die eigentliche Trainingsmenge und eine Testmenge. Die Trainingsmenge wird wie gewohnt zum Aufbau des Klassifikators benutzt, die Testmenge hingegen nur zum Testen der Klassifikationsgüte. Unter der Voraussetzung, daß die beiden Mengen nicht abhängig voneinander sind, sondern z.b. rein zufällig aufgeteilt wurden, kann man die wahre Fehlerrate mit diesem Verfahren ziemlich gut approximieren, wenn die Testmenge aus mehr als 1000 Objekten besteht [WK91]. Wenn man weniger Daten zur Verfügung hat, muß man zu bestimmten Sampling-Techniken greifen, die in [WK91] näher erläutert werden. Die Klassifikationsgüte läßt sich, je nach Anwendung, auch durch andere Maße messen, die bei gutem Hintergrundwissen über das Anwendungsgebiet gute Ergebnisse liefern, aber den Klassifikator auch in eine ungünstige Richtung negativ beeinflussen können. Mehr dazu findet sich ebenfalls in [WK91]. 3.3 Verfahren Im folgenden werden drei Verfahren zur Klassifikation vorgestellt, die sich in ihrer Herangehensweise an das Problem grundlegend unterscheiden. In Abschnitt werden zunächst Bayes-Klassifikatoren beschrieben, in Abschnitt Entscheidungsbäume und in Abschnitt schließlich die (k)-nächste-nachbarn-klassifikatoren. Bayes-Klassifikatoren basieren auf Wahrscheinlichkeitstheorie und sind wegen ihrer guten Leistung in der Klassifikation von Texten interessant. Entscheidungsbäume werden vorgestellt, weil sie sich sehr gut eignen, das aufgebaute Klassifikationswissen in explizites Wissen im Form von Regeln umzuwandeln. Weiterhin existieren neuartige Algorithmen zum Entscheidungsbaumaufbau, die solche Klassifikatoren für den Einsatz im Data Mining auf großen Datensätzen prädestinieren. Einen anderen, instanz-basierten Ansatz zur Klassifikation stellen die Nächste-Nachbarn-Klassifikatoren dar. 22

23 3.3 Verfahren 3 KLASSIFIKATION Bayes-Klassifikatoren Bayes-Klassifikatoren arbeiten auf Grundlage von Berechnungen über die Wahrscheinlichkeit, mit der ein unbekanntes Objekt einer der Klassen (C 1,..., C k ) angehört. Bayes Theorem Die mathematische Grundlage für diese Berechnungen ist das Bayes Theorem, das es ermöglicht, die a posteriori Wahrscheinlichkeit einer Hypothese X unter Annahme einer Hypothese Y anhand der a priori Wahrscheinlichkeiten von X und Y zu berechnen. Es lautet: P (Y X)P (X) P (X Y ) = (21) P (Y ) Das folgende Beispiel verdeutlicht das Theorem von Bayes. Beispiel Man betrachte das Zufallsexperiment Werfen eines sechsseitigen Würfels. Sei X die Zufallsvariable Das Ergebnis ist 1 und Y die Zufallsvariable Das Ergebnis ist 1, 2 oder 3. Offensichtlich ist P (X) = 1/6 und P (Y ) = 3/6 = 1/2. Um nun die bedingte Wahrscheinlichkeit zu berechnen, mit der der Wurf unter der Annahme, das entweder 1,2 oder 3 geworfen wurden, eine 1 zeigt, benutzt man das Theorem von Bayes: P (X Y ) = P (Y X)P (X) P (Y ) = 1 1/6 1/2 = 1/3 Offensichtlich entspricht dieses Ergebnis dem erwarteten Wert. Naiver Bayes-Klassifikator Der naive Bayes-Klassifikator ordnet ein unbekanntes Objekt x derjenigen Klasse C i zu, für die die a posteriori Wahrscheinlichkeit, daß x ihr angehört am höchsten ist. Diese läßt sich nach Gleichung (21) berechnen durch: P (C i x) = P (x C i)p (C i ) P (x) Das Objekt x wird dann der Klasse zugewiesen, für die P (C i x) maximal ist. Da P (x) für alle Klassen gleich ist, reicht es, den Term P (x C i )P (C i ) zu maximieren. Die Entscheidungsregel des naiven Bayes-Klassifikators ist damit: argmax P (x C i )P (C i ) (22) C i {C 1,...,C k } P (C i ) kann dabei leicht anhand der Trainingsdaten T geschätzt werden durch die Anzahl der Trainingsobjekte in C i geteilt durch die Anzahl aller Trainingsobjekte: {o T o Ci } P (C i ) = T 23

24 3.3 Verfahren 3 KLASSIFIKATION Um P (x C i ) zu schätzen, macht sich der naive Bayes-Klassifikator die Annahme zunutze, daß sich die einzelnen Attribute x j eines Objektes x nicht untereinander beeinflussen, wie etwa zwei Würfe einer Münze. Daher läßt sich P (x C i ) berechnen durch P (x C i ) = d P (x j C i ) P (x j C i ) läßt sich wiederum leicht anhand der Trainingsdaten abschätzen: {y T y Ci y j = x j } P (x j C i ) = {y T y Ci } j=1 Typischerweise wird P (x j C i ) in realen Anwendungen noch geglättet, um z.b. Ausreißer der Art P (x j C i ) = 0 zu verhindern. Siehe dazu z.b. [ES00] Entscheidungsbäume Entscheidungsbaum-Klassifikatoren bauen Klassifikationswissen in Form von Bäumen auf. Die inneren Knoten solcher Bäume enthalten Tests auf eines der Attribute A i der Daten. Die Kanten repräsentieren mögliche Ergebnisse solcher Tests. Die Blätter eines Entscheidungsbaumes repräsentieren die Klassen, in die die Objekte eingeteilt werden sollen. Um nun ein unbekanntes Objekt zu klassifizieren, beginnt man bei der Wurzel, führt den entsprechenden Test durch und folgt dann der Kante, die das passende Ergebnis präsentiert. Dies wiederholt man solange, bis man ein Blatt erreicht und weist das Objekt dann der von diesem Blatt repräsentierten Klasse zu. nein Temperatur? Regen? ja schlecht >=15 <15 gut schlecht Abbildung 6: Entscheidungsbaum, um Wetter zu klassifizieren Beispiel Will man das Wetter eines Tages in die Klassen gut und schlecht einteilen, kann man dies mit Hilfe des Entscheidungsbaumes aus Abbildung 6 und den Attributen Temperatur und Regen erreichen, indem man für einen unbekannten Tag von der Wurzel aus der Reihe nach die Tests ausführt. Angenommen, der unbekannte Tag x mit den Attributen Temperatur, Regen habe die Werte 15, nein, wobei nein bedeutet, daß es an dem Tag nicht regnet. Wenn 24

25 3.3 Verfahren 3 KLASSIFIKATION man x nun anhand des Baumes aus Abbildung 6 klassifiziert, erhält man für den Test in der Wurzel das Ergebnis nein, testet danach die Temperatur und gelangt so in das Blatt gut. x ist also der Klasse gut zuzuordnen. Wie man an Abbildung 6 sieht, können Klassen von mehreren Blättern repräsentiert sein. Die Ursache hierfür ist, das die Objekte einer Klasse üblicherweise nicht in allen Attributen übereinstimmen. Aufbau Es existieren zahlreiche Algorithmen, um einen Entscheidungsbaum aufzubauen, die typischerweise aber das gleiche Schema verwenden (Algorithmus 4). Der Algo- 1. Sei K die Wurzel des zu erzeugenden Baumes B, T die Menge der Trainingsdaten 2. Suche das Attribut A i und den dazugehörigen Test, der T am besten in die disjunkten Teilmengen T 1,..., T m aufspaltet 3. Spalte T entsprechend auf und erzeuge für alle T j einen Knoten K j als Sohn von K 4. Für alle K j (K 1,..., K m ): falls alle x T j der selben Klasse C angehören, wird K j ein Blatt mit dem Klassenlabel C, andernfalls rekursiv weiter bei 2 mit K = K j und T = T j Algorithmus 4: Aufbau eines Entscheidungsbaumes rithmus baut den Entscheidungsbaum rekursiv auf und stellt sicher, daß alle x T von diesem Baum korrekt klassifiziert werden. Prominente Algorithmen, die nach dieser Weise arbeiten, sind beispielsweise Id3 und C4.5 [Qui93]. Splitstrategien Schritt 2 in Algorithmus 4 soll das Attribut und den zugehörigen Test finden, der T am besten aufteilt. Wie kann man diesen Test finden? Mit anderen Worten: Was ist der beste Split, um T aufzuteilen? Es gibt mehrere Methoden, die eine Antwort auf diese Frage geben wollen, drei davon seien hier kurz vorgestellt. Welchen Split würde man intuitiv wählen? Nach kurzer Überlegung ist es plausibel, denjenigen zu wählen, der die Daten so in verschiedene Teilmengen aufteilt, daß diese möglichst rein sind, also nach Möglichkeit nur Objekte einer Klasse enthalten. Wie mißt man diese Reinheit mathematisch? Ein geeignetes Maß für diese Reinheit ist die Entropie, die um so größer wird, je unreiner eine Teilmenge T i ist. Sie ist definiert als entropie(t ) = k p i log 2 p i, (23) i=1 25

26 3.3 Verfahren 3 KLASSIFIKATION wobei p i die Wahrscheinlichkeit darstellt, mit der ein Objekt x T der Klasse C i angehört. Sie läßt sich mit Hilfe der Trainingsdaten abschätzen durch p i = {x T x C i}. T Um nun den besten Split zu bewerten, errechnet man mit Hilfe der Entropie den Informationsgewinn (gain), der die Abnahme der gesamten Entropie durch die Durchführung eines Splits beschreibt: gain(t, A) = entropie(t ) m j=1 T j T entropie(t j) (24) Mit Hilfe der Gleichung (24) entscheidet der Algorithmus Id3, welchen Split er ausführt. C4.5 [Qui93], eine Weiterentwicklung von Id3 verfeinert dieses Kriterium, um zu verhindern, daß Splits bevorzugt werden, die m Teilmengen mit jeweils einem Objekt x T erzeugen. Wie man leicht sieht, ist der nach Gleichung (24) berechnete Informationsgewinn für m einelementige Teilmengen maximal. Aus diesem Grund verwendet C4.5 das Kriterium gain ratio, das sich folgendermaßen berechnen läßt: m T j split info(t, A) = T log T j 2 (25) T j=1 gain ratio(t, A) = gain(t, A)/split info(t, A) (26) Für einen Test, der m einelementige Teilmengen erzeugt, ist der Wert von split info hoch, der Wert des gain ratio damit niedrig. Um zu vermeiden, daß nun Tests bevorzugt werden, die einen sehr kleinen Wert für split info liefern, setzt C4.5 einen gewissen Schwellenwert für gain(t, A) voraus. Das heißt, es wird derjenige Test ausgewählt, dessen Informationsgewinn diesen Schwellenwert erreicht und dessen gain ratio maximal ist. Ein weiteres Maß für die Bestimmung des besten Splits, welches in einigen aktuelleren Algorithmen, wie z.b. Supervised Learning In Quest (Sliq) [MAR96] und Scalable PaRallelizable INduction of decision Trees (Sprint) [SAM96] eingesetzt wird, ist der Gini-Index, der schnell zu berechnen ist und vergleichbar gute Resultate wie das gain ratio liefert [ES00]. k gini(t ) = 1 p 2 i (27) Der Gini-Index einer Partition von T in T 1,..., T m berechnet sich dann durch: m T j gini(t 1,..., T m ) = T gini(t j) (28) Eine detailliertere Beschreibung des Gini-Index findet sich in [BFOS84]. Hat man nun einen Entscheidungsbaum mit Hilfe einer dieser Splitstrategien aufgebaut, klassifiziert der Baum die Trainingsdaten T korrekt, d.h. alle x T werden der Klasse zugeordnet, die auch ihr Klassenattribut aufweist. j=1 i=1 26

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen 7. Clusteranalyse (= Häufungsanalyse; Clustering-Verfahren) wird der multivariaten Statistik zugeordnet Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut,

Mehr

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining Gliederung 1. Einführung 2. Grundlagen Data Mining Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining 3. Ausgewählte Methoden des Data

Mehr

Exploration und Klassifikation von BigData

Exploration und Klassifikation von BigData Exploration und Klassifikation von BigData Inhalt Einführung Daten Data Mining: Vorbereitungen Clustering Konvexe Hülle Fragen Google: Riesige Datenmengen (2009: Prozessieren von 24 Petabytes pro Tag)

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Einführung in das Data Mining Clustering / Clusteranalyse

Einführung in das Data Mining Clustering / Clusteranalyse Einführung in das Data Mining Clustering / Clusteranalyse Sascha Szott Fachgebiet Informationssysteme HPI Potsdam 21. Mai 2008 Teil I Einführung Clustering / Clusteranalyse Ausgangspunkt: Menge O von Objekten

Mehr

Kapitel 5: Clustering

Kapitel 5: Clustering Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Knowledge Discovery in Databases im Wintersemester 2006/2007 Kapitel

Mehr

Inhalt dieses Kapitels. Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen

Inhalt dieses Kapitels. Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen 2. Clustering Inhalt dieses Kapitels 3. Einleitung Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen 3.2 Partitionierende Verfahren k-means, k-medoid, Expectation Maximization, Initialisierung

Mehr

Entwicklung einer Entscheidungssystematik für Data- Mining-Verfahren zur Erhöhung der Planungsgüte in der Produktion

Entwicklung einer Entscheidungssystematik für Data- Mining-Verfahren zur Erhöhung der Planungsgüte in der Produktion Entwicklung einer Entscheidungssystematik für Data- Mining-Verfahren zur Erhöhung der Planungsgüte in der Produktion Vortrag Seminararbeit David Pogorzelski Aachen, 22.01.2015 Agenda 1 2 3 4 5 Ziel der

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

Mehr

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass:

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Text-Clustern 1 Clustern Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Beispiele innerhalb eines Clusters sich sehr ähnlich Beispiele in verschiedenen

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Studienprojekt Invisible Web (Dipl.-Inform. Gudrun Fischer - WS 2003/04) Blockseminar

Mehr

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Maschinelles Lernen Entscheidungsbäume

Maschinelles Lernen Entscheidungsbäume Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Maschinelles Lernen Entscheidungsbäume Paul Prasse Entscheidungsbäume Eine von vielen Anwendungen: Kreditrisiken Kredit - Sicherheiten

Mehr

Data Mining Anwendungen und Techniken

Data Mining Anwendungen und Techniken Data Mining Anwendungen und Techniken Knut Hinkelmann DFKI GmbH Entdecken von Wissen in banken Wissen Unternehmen sammeln ungeheure mengen enthalten wettbewerbsrelevantes Wissen Ziel: Entdecken dieses

Mehr

Textmining Klassifikation von Texten Teil 1: Naive Bayes

Textmining Klassifikation von Texten Teil 1: Naive Bayes Textmining Klassifikation von Texten Teil 1: Naive Bayes Dept. Informatik 8 (Künstliche Intelligenz) Friedrich-Alexander-Universität Erlangen-Nürnberg (Informatik 8) Klassifikation von Texten 1: Naive

Mehr

Data Mining und Knowledge Discovery in Databases

Data Mining und Knowledge Discovery in Databases Data Mining und Knowledge Discovery in Databases Begriffsabgrenzungen... Phasen der KDD...3 3 Datenvorverarbeitung...4 3. Datenproblematik...4 3. Möglichkeiten der Datenvorverarbeitung...4 4 Data Mining

Mehr

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Vorbemerkungen 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer

Mehr

Lernen von Entscheidungsbäumen. Volker Tresp Summer 2014

Lernen von Entscheidungsbäumen. Volker Tresp Summer 2014 Lernen von Entscheidungsbäumen Volker Tresp Summer 2014 1 Anforderungen an Methoden zum Datamining Schnelle Verarbeitung großer Datenmengen Leichter Umgang mit hochdimensionalen Daten Das Lernergebnis

Mehr

9. Schätzen und Testen bei unbekannter Varianz

9. Schätzen und Testen bei unbekannter Varianz 9. Schätzen und Testen bei unbekannter Varianz Dr. Antje Kiesel Institut für Angewandte Mathematik WS 2011/2012 Schätzen und Testen bei unbekannter Varianz Wenn wir die Standardabweichung σ nicht kennen,

Mehr

Mathematische Grundlagen III

Mathematische Grundlagen III Mathematische Grundlagen III Maschinelles Lernen III: Clustering Vera Demberg Universität des Saarlandes 7. Juli 202 Vera Demberg (UdS) Mathe III 7. Juli 202 / 35 Clustering vs. Klassifikation In den letzten

Mehr

Vorlesung Maschinelles Lernen

Vorlesung Maschinelles Lernen Vorlesung Maschinelles Lernen Additive Modelle Katharina Morik Informatik LS 8 Technische Universität Dortmund 7.1.2014 1 von 34 Gliederung 1 Merkmalsauswahl Gütemaße und Fehlerabschätzung 2 von 34 Ausgangspunkt:

Mehr

Data Mining als Arbeitsprozess

Data Mining als Arbeitsprozess Data Mining als Arbeitsprozess Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 31. Dezember 2015 In Unternehmen werden umfangreichere Aktivitäten oder Projekte im Bereich des Data Mining

Mehr

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

Definition eines Spiels

Definition eines Spiels Definition eines piels 1. Einleitung 1.1 Einführung: Die mathematische pieltheorie beschäftigt sich nicht nur mit der Beschreibung und Analyse von pielen im üblichen inn, sondern allgemein mit Konfliktsituationen

Mehr

Ein möglicher Unterrichtsgang

Ein möglicher Unterrichtsgang Ein möglicher Unterrichtsgang. Wiederholung: Bernoulli Experiment und Binomialverteilung Da der sichere Umgang mit der Binomialverteilung, auch der Umgang mit dem GTR und den Diagrammen, eine notwendige

Mehr

Seminar Business Intelligence Teil II. Data Mining & Knowledge Discovery

Seminar Business Intelligence Teil II. Data Mining & Knowledge Discovery Seminar Business Intelligence Teil II Data Mining & Knowledge Discovery Was ist Data Mining? Sabine Queckbörner Was ist Data Mining? Data Mining Was ist Data Mining? Nach welchen Mustern wird gesucht?

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Clustering Seminar für Statistik

Clustering Seminar für Statistik Clustering Markus Kalisch 03.12.2014 1 Ziel von Clustering Finde Gruppen, sodas Elemente innerhalb der gleichen Gruppe möglichst ähnlich sind und Elemente von verschiedenen Gruppen möglichst verschieden

Mehr

Moderne Methoden der KI: Maschinelles Lernen

Moderne Methoden der KI: Maschinelles Lernen Moderne Methoden der KI: Maschinelles Lernen Prof. Dr.Hans-Dieter Burkhard Vorlesung Entscheidungsbäume Darstellung durch Regeln ID3 / C4.5 Bevorzugung kleiner Hypothesen Overfitting Entscheidungsbäume

Mehr

Kapitel 4: Data Mining

Kapitel 4: Data Mining LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2011 Kapitel 4: Data Mining Vorlesung:

Mehr

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen 5.1 Lernen mit Entscheidungsbäumen Falls zum Beispiel A = {gelb, rot, blau} R 2 und B = {0, 1}, so definiert der folgende Entscheidungsbaum eine Hypothese H : A B (wobei der Attributvektor aus A mit x

Mehr

Data Mining und Text Mining Einführung. S2 Einfache Regellerner

Data Mining und Text Mining Einführung. S2 Einfache Regellerner Data Mining und Text Mining Einführung S2 Einfache Regellerner Hans Hermann Weber Univ. Erlangen, Informatik 8 Wintersemester 2003 hans.hermann.weber@gmx.de Inhalt Einiges über Regeln und Bäume R1 ein

Mehr

Diskriminanzanalyse Beispiel

Diskriminanzanalyse Beispiel Diskriminanzanalyse Ziel bei der Diskriminanzanalyse ist die Analyse von Gruppenunterschieden, d. h. der Untersuchung von zwei oder mehr Gruppen hinsichtlich einer Vielzahl von Variablen. Diese Methode

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Seminar Text- und Datamining Datamining-Grundlagen

Seminar Text- und Datamining Datamining-Grundlagen Seminar Text- und Datamining Datamining-Grundlagen Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 23.05.2013 Gliederung 1 Klassifikationsprobleme 2 Evaluation

Mehr

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining. Motivation Themenblock: Klassifikation Praktikum: Data Warehousing und Data Mining Ziel Item hat mehrere Attribute Anhand von n Attributen wird (n+)-tes vorhergesagt. Zusätzliches Attribut erst später

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Clustering Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Einführung Clustergüte Ähnlichkeiten Clustermitte Hierarchisches Clustering Partitionierendes

Mehr

Dokumenten-Clustering. Norbert Fuhr

Dokumenten-Clustering. Norbert Fuhr Dokumenten-Clustering Norbert Fuhr Dokumenten-Clustering (Dokumenten-)Cluster: Menge von ähnlichen Dokumenten Ausgangspunkt Cluster-Hypothese : die Ähnlichkeit der relevanten Dokumente untereinander und

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

Formulierungshilfen für das wissenschaftliche Schreiben

Formulierungshilfen für das wissenschaftliche Schreiben Formulierungshilfen für das wissenschaftliche Schreiben 1. Einleitendes Kapitel 1.1.1 Einen Text einleiten und zum Thema hinführen In der vorliegenden Arbeit geht es um... Schwerpunkt dieser Arbeit ist...

Mehr

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung Ermittlung von Assoziationsregeln aus großen Datenmengen Zielsetzung Entscheidungsträger verwenden heutzutage immer häufiger moderne Technologien zur Lösung betriebswirtschaftlicher Problemstellungen.

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

3.5 Datenbanktechniken zur Leistungssteigerung. 3. Clustering. 3.5 Datenbanktechniken zur Leistungssteigerung. 3. Clustering. Inhalt dieses Kapitels

3.5 Datenbanktechniken zur Leistungssteigerung. 3. Clustering. 3.5 Datenbanktechniken zur Leistungssteigerung. 3. Clustering. Inhalt dieses Kapitels 3.1 Einleitung 3. Clustering Inhalt dieses Kapitels Ziel des Clustering, Distanzfunktionen, Anwendungen, Typen von Algorithmen 3.2 Partitionierende Verfahren k-means, k-medoid, Expectation Maximization,

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

riskkv Scorenalyse riskkv Scoring Seite 1 von 9

riskkv Scorenalyse riskkv Scoring Seite 1 von 9 riskkv Scorenalyse riskkv Scoring Seite 1 von 9 Das Modul dient der flexiblen Erstellung, Auswertung und Verwendung von Scores. Durch vordefinierte Templates können in einer Einklicklösung bspw. versichertenbezogene

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Visualisierung der Imperfektion in multidimensionalen Daten

Visualisierung der Imperfektion in multidimensionalen Daten Visualisierung der Imperfektion in multidimensionalen Daten Horst Fortner Imperfektion und erweiterte Konzepte im Data Warehousing Betreuer: Heiko Schepperle 2 Begriffe (1) Visualisierung [Wikipedia] abstrakte

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07 Regression Trees Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07 Ao.Univ.Prof. Dr. Marcus Hudec marcus.hudec@univie.ac.at Institut für Scientific Computing, Universität Wien 2

Mehr

3. Informationsgewinnung 3.1. Informationsextraktion

3. Informationsgewinnung 3.1. Informationsextraktion 3. sgewinnung 3.1. sextraktion Vorlesung Intelligente ssysteme Wintersemester 2004/2005 Prof. Dr. Bernhard Thalheim Systems Engineering Group Computer Science Institute Kiel University, Germany Vorlesungprogramm

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

WEKA A Machine Learning Interface for Data Mining

WEKA A Machine Learning Interface for Data Mining WEKA A Machine Learning Interface for Data Mining Frank Eibe, Mark Hall, Geoffrey Holmes, Richard Kirkby, Bernhard Pfahringer, Ian H. Witten Reinhard Klaus Losse Künstliche Intelligenz II WS 2009/2010

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

6 Mehrstufige zufällige Vorgänge Lösungshinweise

6 Mehrstufige zufällige Vorgänge Lösungshinweise 6 Mehrstufige zufällige Vorgänge Lösungshinweise Aufgabe 6.: Begründen Sie, warum die stochastische Unabhängigkeit zweier Ereignisse bzw. zufälliger Vorgänge nur ein Modell der Realität darstellen kann.

Mehr

Webergänzung zu Kapitel 10

Webergänzung zu Kapitel 10 Webergänzung zu Kapitel 10 10.1.4 Varianzanalyse (ANOVA: analysis of variance) Im Kapitel 10 haben wir uns hauptsächlich mit Forschungsbeispielen beschäftigt, die nur zwei Ergebnissätze hatten (entweder

Mehr

(1) Problemstellung. (2) Kalman Filter

(1) Problemstellung. (2) Kalman Filter Inhaltsverzeichnis (1) Problemstellung...2 (2) Kalman Filter...2 Funktionsweise... 2 Gleichungen im mehrdimensionalen Fall...3 Schätzung des Systemzustands...3 Vermuteter Schätzfehler... 3 Aktualisierung

Mehr

Business Value Launch 2006

Business Value Launch 2006 Quantitative Methoden Inferenzstatistik alea iacta est 11.04.2008 Prof. Dr. Walter Hussy und David Tobinski UDE.EDUcation College im Rahmen des dokforums Universität Duisburg-Essen Inferenzstatistik Erläuterung

Mehr

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining. Personalisierung Personalisierung Thomas Mandl Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung Klassifikation Die Nutzer werden in vorab bestimmte Klassen/Nutzerprofilen

Mehr

RUPRECHTS-KARLS-UNIVERSITÄT HEIDELBERG

RUPRECHTS-KARLS-UNIVERSITÄT HEIDELBERG Die Poisson-Verteilung Jianmin Lu RUPRECHTS-KARLS-UNIVERSITÄT HEIDELBERG Ausarbeitung zum Vortrag im Seminar Stochastik (Wintersemester 2008/09, Leitung PD Dr. Gudrun Thäter) Zusammenfassung: In der Wahrscheinlichkeitstheorie

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Monte-Carlo Simulation

Monte-Carlo Simulation Monte-Carlo Simulation Sehr häufig hängen wichtige Ergebnisse von unbekannten Werten wesentlich ab, für die man allerhöchstens statistische Daten hat oder für die man ein Modell der Wahrscheinlichkeitsrechnung

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz Mit KI gegen SPAM Proseminar Künstliche Intelligenz SS 2006 Florian Laib Ausblick Was ist SPAM? Warum SPAM-Filter? Naive Bayes-Verfahren Fallbasiertes Schließen Fallbasierte Filter TiMBL Vergleich der

Mehr

Info zum Junk-Mail-Filter in Thunderbird:

Info zum Junk-Mail-Filter in Thunderbird: Datenverarbeitungszentrale Datenverarbeitungszentrale dvz@fh-muenster.de www.fh-muenster.de/dvz Info zum Junk-Mail-Filter in Thunderbird: Der Grossteil der Benutzer verwendet zusätzlich zum zentralen Mail-Filter

Mehr

Clustering von Dokumenten (k-means, HCL)

Clustering von Dokumenten (k-means, HCL) Clustering von Dokumenten (k-means, HCL) Jonas Wolz Universität Ulm Zusammenfassung Ein Überblick über das Clustering von Dokumenten. Außerdem werden zwei dafür verwendete Algorithmen vorgestellt (k-means

Mehr

Entscheidungsbaumverfahren

Entscheidungsbaumverfahren Entscheidungsbaumverfahren Allgemeine Beschreibung Der Entscheidungsbaum ist die Darstellung einer Entscheidungsregel, anhand derer Objekte in Klassen eingeteilt werden. Die Klassifizierung erfolgt durch

Mehr

Klassifikation von Daten Einleitung

Klassifikation von Daten Einleitung Klassifikation von Daten Einleitung Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Klassifikation von Daten Einleitung

Mehr

Grundbegriffe der Wahrscheinlichkeitsrechnung

Grundbegriffe der Wahrscheinlichkeitsrechnung Algorithmen und Datenstrukturen 349 A Grundbegriffe der Wahrscheinlichkeitsrechnung Für Entwurf und Analyse randomisierter Algorithmen sind Hilfsmittel aus der Wahrscheinlichkeitsrechnung erforderlich.

Mehr

Algorithmische Modelle als neues Paradigma

Algorithmische Modelle als neues Paradigma Algorithmische Modelle als neues Paradigma Axel Schwer Seminar über Philosophische Grundlagen der Statistik, WS 2010/11 Betreuer: Prof. Dr. Thomas Augustin München, den 28. Januar 2011 1 / 29 LEO BREIMAN

Mehr

Florian Frötscher und Demet Özçetin

Florian Frötscher und Demet Özçetin Statistische Tests in der Mehrsprachigkeitsforschung Aufgaben, Anforderungen, Probleme. Florian Frötscher und Demet Özçetin florian.froetscher@uni-hamburg.de SFB 538 Mehrsprachigkeit Max-Brauer-Allee 60

Mehr

Maximizing the Spread of Influence through a Social Network

Maximizing the Spread of Influence through a Social Network 1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2

Mehr

8. Clusterbildung, Klassifikation und Mustererkennung

8. Clusterbildung, Klassifikation und Mustererkennung 8. Clusterbildung, Klassifikation und Mustererkennung Begriffsklärung (nach Voss & Süße 1991): Objekt: wird in diesem Kapitel mit einem zugeordneten Merkmalstupel (x 1,..., x M ) identifiziert (Merkmalsextraktion

Mehr

Name:... Matrikel-Nr.:... 3 Aufgabe Handyklingeln in der Vorlesung (9 Punkte) Angenommen, ein Student führt ein Handy mit sich, das mit einer Wahrscheinlichkeit von p während einer Vorlesung zumindest

Mehr

Einfaches Datenmanagement in R

Einfaches Datenmanagement in R Einfaches Datenmanagement in R Achim Zeileis 2009-02-20 1 Daten einlesen Datensätze werden in R typischerweise als Objekte der Klasse "data.frame" dargestellt. In diesen entsprechen die Zeilen den Beobachtungen

Mehr

Data Mining - Wiederholung

Data Mining - Wiederholung Data Mining - Wiederholung Norbert Fuhr 9. Juni 2008 Problemstellungen Problemstellungen Daten vs. Information Def. Data Mining Arten von strukturellen Beschreibungen Regeln (Klassifikation, Assoziations-)

Mehr

Data Mining (ehem. Entscheidungsunterstützungssysteme)

Data Mining (ehem. Entscheidungsunterstützungssysteme) Data Mining (ehem. Entscheidungsunterstützungssysteme) Melanie Pfoh Anja Tetzner Christian Schieder Übung WS 2014/15 AGENDA TEIL 1 Aufgabe 1 (Wiederholung OPAL / Vorlesungsinhalte) ENTSCHEIDUNG UND ENTSCHEIDUNGSTHEORIE

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

DPF Dynamic Partial distance Function

DPF Dynamic Partial distance Function DPF Dynamic Partial distance Function Vorgelegt von Sebastian Loose (MatrikelNR.: 169172), Computervisualistikstudent im 4. Semester. Hausarbeit zum Papier DPF A Perceptual Distance Function for Image

Mehr

Data Mining - Clustering. Sven Elvers

Data Mining - Clustering. Sven Elvers Agenda Data Mining Clustering Aktuelle Arbeiten Thesis Outline 2 Agenda Data Mining Clustering Aktuelle Arbeiten Thesis Outline 3 Data Mining Entdecken versteckter Informationen, Muster und Zusammenhänge

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

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

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr