Ermittlung charakteristischer Datensätze durch Data Mining

Größe: px
Ab Seite anzeigen:

Download "Ermittlung charakteristischer Datensätze durch Data Mining"

Transkript

1 Ermittlung charakteristischer Datensätze durch Data Mining Diplomarbeit im Fach Informatik vorgelegt von Mathias Ruoss Winterthur Matrikelnummer Angefertigt am Institut für Informatik der Universität Zürich Prof. Dr. Klaus R. Dittrich Betreuer: Patrick Ziegler Abgabetermin: 24. April 2006

2

3 Zusammenfassung Bedingt durch den technologischen Fortschritt der letzten Jahrzehnte und der stetig zunehmenden globalen Vernetzung sind im heutigen Informationszeitalter deutlich mehr Informationen verfügbar als der Mensch wahrnehmen und verarbeiten kann. Statt von der Informationstechnik entlastet zu werden, wird der Benutzer durch diese Flut an Informationen überfordert. In dieser Arbeit werden daher Methoden entwickelt, um typische Datensätze eines beliebigen Datenbestandes zu ermitteln. Diese Repräsentanten können stellvertretend für die Gesamtmenge dem Benutzer präsentiert werden, womit er sich schneller ein Bild über die Charakteristik einer Datensammlung machen kann. Es werden drei verschiedene Verfahren vorgestellt, die sich für die Ermittlung charakteristischer Datensätze eignen. Zwei davon basieren auf ClusteringAlgorithmen, während das dritte Verfahren anhand des AprioriAlgorithmus häuge Teilmengen im Datenbestand lokalisiert, um daraus auf typische Datensätze zu schliessen. Die Verfahren sind anhand von realen Datenbeständen auf ihre Zweckmässigkeit überprüft worden. Dazu wurde eine in Java geschriebene Applikation entwickelt, welche die Algorithmen implementiert und eine grasche Benutzeroberäche bereitstellt.

4

5 Abstract Caused by the technological progress over the last decades and the permanent increase of the global interconnectedness, today we are faced with much more information that we are able to perceive and to handle. Instead of being supported by the information technology this information overload may overwhelm a user and impair its productivity. In the context of this thesis new methods are developed for determining representative records from a given dataset. These records help a user in getting an idea of the characteristics of the underlying dataset without having to examine all the data. In this thesis three dierent approaches for determining representative records will be proposed. Two of them are based on clustering algorithms. The last method uses the Apriori algorithm in order to nd large itemsets in the given data for deriving representative records. The presented methods have been validated against existing datasets. For this purpose a Java based tool was written that implements the proposed algorithms.

6

7 Inhaltsverzeichnis 1 Einleitung Problemstellung Ausgangslage Aufgabenstellung Übersicht der Arbeit Einführung in Data Mining Grundlagen Begrie Der KDDProzess Business Understanding Data Understanding Data Preparation Modeling Evaluation Deployment Formen maschinellen Lernens Überwachtes Lernen Lernen durch Verstärkung Unüberwachtes Lernen Assoziationsregeln Begrie und Terminologie AprioriAlgorithmus Bestimmung der häugen Itemsets Bestimmung der Assoziationsregeln Performanz des AprioriAlgorithmus Quantitative Assoziationsregeln Hierarchische Assoziationsregeln Clustering Ähnlichkeit zwischen Datensätzen Arten von Clusteringverfahren Clustering durch Varianzminimierung Variante kmeans Clustering durch Erwartungsmaximierung EMAlgorithmus Data Mining mit Weka Ermittlung charakteristischer Datensätze Wahrnehmung von charakteristischen Daten Ein Beispiel zu repräsentativen Daten Allgemeine Datenaufbereitung

8 ii INHALTSVERZEICHNIS Datenkonvertierung Charakteristische Datensätze mittels kmeans Verwendete Distanzmasse Normalisierung numerischer Attribute Ermittlung der geeigneten Anzahl Cluster Optimierung durch wiederholtes Clustering Ermittlung der anteiligen Repräsentantenzahl je Cluster Auswahl der anteiligen Repräsentanten aus den Clustern Zurück zu einem bekannten Beispiel Test mit Iris Datenbestand und Einuss des Diversitätfaktors α Test mit CreditApproval Datenbestand Test mit Mushroom Datenbestand Fazit Charakteristische Datensätze mittels EM Generelle Idee Ermittlung der geeigneten Anzahl Cluster Optimierung der Initialisierung Auswahl der anteiligen Repräsentanten aus den Clustern Test mit Iris Datenbestand Test mit CreditApproval Datenbestand Test mit Mushroom Datenbestand Fazit Charakteristische Datensätze mittels Apriori Diskretisierung numerischer Attribute Iterative Variante des AprioriAlgorithmus Bestimmung der charakteristischen Datensätze Ein altbekanntes Beispiel Test mit Mushroom Datenbestand Fazit Verwandte Arbeiten Vergleich der Ansätze Rückblick Implementierung Übersicht der Architektur und der Komponenten Detailübersicht ausgewählter Komponenten Datenaufbereitung Mining Strategien SIRUPWrapperschnittstelle DatensatzBrowser Übersicht der Funktionalität Anwendungsbeispiel Berechnung und Anzeige der charakteristischen Datensätze Speichern und Laden von Mining Strategien Attributstatistiken Grasche Darstellung der Datensätze 2DPlot Attributstatistiken der aufbereiteten Daten Implementierung des DatensatzBrowsers

9 INHALTSVERZEICHNIS iii 6 Rückblick und Ausblick Zusammenfassung Beurteilung und weiterführende Arbeiten A Installationsanleitung & Statistiken zu den Testdatenbeständen 101 A.1 Installations und Kongurationsanleitung A.1.1 Inhalt der CD A.1.2 DB2Import der Testdatenbestände A.1.3 Anpassung der Kongurationsdateien A.1.4 Starten des DatensatzBrowsers A.1.5 Verwendung als Bibliothek in Drittprogrammen A.2 Statistiken zu den Testdatenbeständen Literaturverzeichnis 111

10 Abbildungsverzeichnis 1.1 Konzeptionelle Übersicht von SIRUP CRISPDM Prozessmodell Beispiel für ein gutes und schlechtes Clustering Ermittlung der optimalen Cluster eines varianzminimierenden Algorithmus Mischung Modell für zwei Verteilungen UMLKlassendiagramm zur DatenaufbereitungsKomponente UMLKlassendiagramm zur MiningKomponente SequenzDiagramm zum Prozess der Ermittlung von charakteristischen Datensätzen Hauptansicht des DatensatzBrowsers Anzeige der charakteristischen Datensätze Nach dem Laden einer zuvor gebildeten Mining Strategie Attributstatistiken zum gewählten Datenbestand Grasche Gegenüberstellung der Datensätze mittels 2DPlot Attributstatistiken der aufbereiteten Daten

11 Tabellenverzeichnis 2.1 Beispieldatenbank mit Wareneinkäufen Prozess zur Ermittlung der häugen Itemsets im AprioriAlgorithmus Transformation von Attributen in boolesche Typen Stichproben aus dem Mischung Modell für zwei Verteilungen Datenbestand zur Veranschaulichung von repräsentativen Datensätzen Tabelle mit codiertem Attributwert Konvertierung von SIRUPSkalentypen in WekaAttribute Einuss der Skalierung bei Distanzmassen zwischen Datensätzen Rundungsproblem bei der Ermittlung der anteiligen Repräsentantenzahl Fallbeispiel des kmeans Verfahrens Attributstatistiken zum Iris Datenbestand Repräsentanten aus Iris anhand des kmeans Verfahrens ermittelt Repräsentanten aus CreditApproval anhand des kmeans Verfahrens ermittelt Repräsentanten aus Mushroom anhand des kmeans Verfahrens ermittelt Repräsentanten aus Iris anhand des EMVerfahrens ermittelt Repräsentanten aus CreditApproval anhand des EMVerfahrens ermittelt Repräsentanten aus Mushroom anhand des EMVerfahrens ermittelt Illustrierung des AprioriVerfahrens zur Ermittlung charakteristischer Datensätze Repräsentanten aus Mushroom anhand des AprioriVerfahrens ermittelt Itemsets des Mushroom Datenbestandes für die Wahl der Repräsentanten Auassung von Datensätzen als Verteilung in der Domäne von Merkmalen 77 A.1 Statistiken der numerischen Attribute des CreditApproval Datenbestandes 105 A.2 Statistiken der nominalen Attribute des CreditApproval Datenbestandes. 106 A.3 Statistiken des Mushroom Datenbestandes (1) A.4 Statistiken des Mushroom Datenbestandes (2) A.5 Statistiken des Mushroom Datenbestandes (3) A.6 Statistiken des Mushroom Datenbestandes (4)

12 Quellcodeverzeichnis 3.1 Algorithmus zur Ermittlung des besten kmeans Clusterings Algorithmus zur Ermittlung von repräsentativen Datensätzen anhand des kmeans Verfahrens Algorithmus zur Ermittlung des repräsentativen Wertes von Itemsets Aufruf der SIRUPSchnittstelle zur Ermittlung von charakteristischen Datensätzen anhand des kmeans Verfahrens

13 Kapitel 1 Einleitung Informationen sind in der heutigen Gesellschaft wichtiger denn je. Sowohl für Unternehmen als auch für Privatpersonen machen sie oft den entscheidenden Wissensvorsprung aus. Gleichzeitig erlauben uns der technologische Fortschritt und die Errungenschaften der letzten Jahrzehnte, immer grössere Mengen von immer komplexeren Daten zu verwalten, die potentiell wichtige Informationen enthalten können. Die manuelle Analyse solcher Datensammlungen übersteigt die menschlichen Kapazitäten aber bei weitem, was dazu führen kann, dass Nutzer das Gefühl bekommen, von der Informationstechnik mehr kontrolliert als durch diese entlastet zu werden. Wenn es einen Mechanismus gäbe, der aus einem Datenbestand typische Datensätze ermitteln könnte, dann bräuchte man lediglich diese wenigen repräsentativen Datensätze zu analysieren, um sich einen Überblick des Datenbestandes zu verschaen. Somit kann man wichtige Erkenntnisse bezüglich der Charakteristik einer Datensammlung gewinnen, ohne den gesamten Datenbestand in Betracht ziehen zu müssen. An diesem Punkt der Entwicklung eines solchen Mechanismus setzt diese Diplomarbeit an. 1.1 Problemstellung Wenn man beim Zugri auf grosse Datenbestände nur deren Schema und Inhalt kennt, dann ergeben sich primär die folgenden drei Schwierigkeiten, die eine umfassende und adäquate Beurteilung des Datenbestandes beeinträchtigen: 1. Es kann sehr schwierig sein, die genaue Bedeutung der angebotenen Attribute erkennen zu können, da nur ihre Bezeichnung, ihr Datentyp und bestenfalls der dazugehörige Wertebereich bekannt sind. 2. Die Charakteristik eines Datenbestandes kann nicht richtig eingeschätzt werden, da die Datensammlung potentiell sehr gross sein kann. Es ist somit kaum möglich, sich in angemessener Zeit einen umfassenden Überblick über die Daten verschaen zu können. 3. Bedingt durch diese beiden Punkte ist es somit schwierig zu beurteilen, ob ein Datenbestand überhaupt für die eigenen Informationsbedürfnisse geeignet ist. Wenn man dem Benutzer aber einige wenige, repräsentative Daten als typische Vertreter des gesamten Datenbestandes präsentiert, dann kann deren Semantik und Zweckmäs-

14 2 Einleitung sigkeit (z.b. für eine Integration mit anderen Datenbeständen) einfacher und schneller beurteilt werden. 1.2 Ausgangslage Das SIRUPProjekt 1 [41] beschäftigt sich mit benutzerspezischer, semantischer Datenintegration. Dabei können die einzelnen Benutzer gemäss ihren individuellen Wünschen und Bedürfnissen Daten aus unterschiedlichen Datenquellen integrieren und neu strukturieren. Somit können massgeschneiderte Sichten und Taxonomien für Anfragen bereitgestellt werden. Die zu integrierenden Daten werden dabei anhand ihrer Strukturiertheit unterschieden in: ˆ Hochstrukturierte Daten (z.b. relationale oder objektorientierte Datenbanksysteme) ˆ Semistrukturierte Daten (z.b. HTML, XML oder auch ) ˆ Unstrukturierte Daten (z.b. fortlaufender Text, Binärdateien oder Bilder) Die angebotenen Daten der einzelnen Datenquellen werden im SIRUPAnsatz auf einer konzeptuellen Ebene vorintegriert bereitgestellt. Dabei weisen die Datenanbieter die Daten so genannten IConcepts zu, die von Interessenten später ausgewählt werden, um sich massgeschneiderte integrierte Sichten zusammenzustellen. Diese IConcepts sind zusätzlich mit mindestens einer Ontologie verknüpft, welche die Semantik der angebotenen Daten repräsentiert. Die IConcepts bilden somit ein Verbindungselement zwischen Datenanbietern und Datennachfragern. In Abbildung 1.1 ist eine konzeptuelle Übersicht von SIRUP dargestellt. Um den Benutzer bei der Datenauswahl zu unterstützen, sollen ihm je IConcept typische Datensätze angezeigt werden. Somit wird die Auswahl erleichtert, da sich der Anwender anhand der typischen Datensätzen schneller ein Bild über die angebotenen Daten und deren Eigenschaften verschaen kann. 1.3 Aufgabenstellung In dieser Diplomarbeit sollen die in Abschnitt 1.1 erwähnten Schwierigkeiten der Beurteilung eines Datenbestandes behoben werden, indem den SIRUPBenutzern die Möglichkeit geboten wird, aus einem vorhandenen hochstrukturierten Datenbestand automatisch repräsentative und aussagekräftige Datensätze zu erhalten. Hierzu ist eine Schnittstelle zu entwickeln, die mittels Data Mining Algorithmen eine gewünschte Anzahl typischer Datensätze eines Datenbestandes liefert. Des Weitern sollen bei Bedarf die ermittelten Datensätze auch visuell und anschaulich dargestellt werden. Um diese Anforderungen zu erfüllen, ist die Ausarbeitung der folgenden Teilaufgaben nötig: ˆ In einem ersten Schritt wird mit dem OpenSource Softwarepaket Weka [11] untersucht, welche Data Mining Algorithmen für eine aussagekräftige Auswahl typischer Datensätze in Frage kommen. Dies wird anhand von praktischen Beispielen an ausgewählten Datenbeständen bewerkstelligt und empirisch begründet. Zusätzlich 1 SIRUP steht für Semantic Integration Reecting Userspecic semantic Perspectives.

15 1.4 Übersicht der Arbeit 3 Text Data Provision Reasoning System for Ontology 1 defines Data Source uses Ontology Wrapper Wrapper 1 1 provides Attribute Data Adapter 1 (ADA 1 ) Ontology 1 Ontology Concept 1 XML RDBMS Data Source Wrapper 2 Data Source Wrapper 3 IConcept Schema 1 ADA 2 IConcept 1 ADA 3 ADA 4 derived Ontology Concept Proxy 1 (OCP 1 ) ADA 2 ADA 4 Ontology Concept Proxy 1 (OCP 1 ) selects User Concept 1 (UC 1 ) User Concept Schema 1 Concept and View Definition determines applies creates Multidatasource Language Operations desired view OODBMS Data Source Wrapper 4 Semantic Perspective 1 UC 0 Querying desired view UC 1 UC 2 UC 3 Abbildung 1.1: Konzeptionelle Übersicht von SIRUP [41]. sollen die Methoden zur Auswahl von repräsentativen Datensätzen mit dem Ansatz aus [35] verglichen werden. ˆ Später sind die Algorithmen, die sich bei der Evaluation als weitgehend domänenunabhängig bewährt haben, in die vorgegebene SIRUPWrapperschnittstelle für DB2 [6] einzubinden. Anschliessend sollte der Wrapper die k repräsentativsten Datensätze anhand eines als Parameter übergebenen Algorithmus zurückliefern können. ˆ Basierend auf dieser erweiterten Schnittstelle ist eine JavaApplikation mit gra- scher Benutzerschnittstelle (DatensatzBrowser) zu entwickeln, die für gegebene SIRUPExportschemata typische Datensätze ermittelt und dem Benutzer in angemessener und attraktiver Form präsentiert. Ferner ist im Rahmen eines kleinen Anwendungsbeispiels der Nutzen des entwickelten DatensatzBrowsers zu illustrieren. ˆ Sämtliche erstellten Softwaremodule sollen dabei mit dem Testwerkzeug JUnit [25] getestet und dokumentiert werden. 1.4 Übersicht der Arbeit Nachdem die ersten drei Abschnitte dieses Kapitels in die zu behandelnde Problematik eingeführt haben, wird nun ein kurzer Überblick des inhaltlichen Aufbaus der Arbeit gegeben. Im nächsten Kapitel werden die notwendigen Grundlagen aus den Bereichen Data Mining

16 4 Einleitung und Knowledge Discovery in Databases eingeführt. Dabei werden hauptsächlich Methoden zum assoziativen Regellernen und verschiedene Clusteringverfahren vorgestellt. In Kapitel 3 wenden wir uns dem Kernteil dieser Arbeit zu der Ermittlung von charakteristischen Datensätzen. Dabei werden drei verschiedene Verfahren vorgestellt, die sich in der Basisfunktionalität den erwähnten Data Mining Algorithmen aus Kapitel 2 bedienen. Kapitel 4 und 5 behandeln die Umsetzung und Implementierung der besprochenen Verfahren aus Kapitel 3. Dabei wird auch die grasche Benutzerschnittstelle anhand eines Beispiels erklärt. Im letzten Kapitel erfolgt schliesslich eine Zusammenfassung der gewonnenen Erkenntnisse und es wird ein Ausblick über weiterführende Arbeiten gegeben.

17 Kapitel 2 Einführung in Data Mining Grundlagen Riesige Datenmengen entstehen heute in Unternehmen, in Forschungsprojekten, in Verwaltungen oder im Internet. Data Mining ermöglicht die (semi)automatische Extraktion von Wissen aus solchen Datenbeständen. Ziel dabei ist das Entdecken von Regeln und Mustern beziehungsweise statistischen Auälligkeiten. So lassen sich beispielsweise Änderungen im Verhalten von Kunden oder Kundengruppen aufspüren und Geschäftsstrategien können darauf ausgerichtet werden. Ziel dieses Kapitels ist, in das Wesen und die Grundzüge von Data Mining einzuführen. Eine abschliessende Behandlung dieses umfangreichen Themenbereichs ist dabei in keiner Weise möglich. Das Augenmerk wird daher auf diejenigen Gebiete des Data Mining gelegt, die für das Verständnis des Kernteils dieser Arbeit der Ermittlung von charakteristischen Datensätzen notwendig sind. Hierzu werden hauptsächlich Assoziatives Regellernen und Clusteringverfahren besprochen. 2.1 Begrie Data Mining und Knowledge Discovery in Databases (KDD) sind häug verwendete Begrie für diese junge, interdisziplinäre Wissenschaft zum Extrahieren von Informationen aus Datenbanken. Für diese Wissensextraktion werden dabei vor allem Methoden aus den Bereichen der Mathematik, der Statistik und des maschinellen Lernens herangezogen. Es ist allerdings zu beachten, dass die Begrie Data Mining und KDD eine unterschiedliche Bedeutung haben. Fayyad, PiatetskyShapiro und Smyth [22] denieren KDD wie folgt: Knowledge Discovery in Databases (KDD) is the nontrivial process of identifying valid, novel, potentially useful, and ultimately understandable pattern in data. Data Mining wird dabei als Bezeichnung für den eigentlichen Analyseschritt, der Mustergewinnung aus einer gegebenen Faktenmenge anhand konkreter Algorithmen, verwendet. Obwohl in diesem Sinne Data Mining das Herzstück des umfassenden KDDProzesses darstellt, ist es lediglich ein Teilprozess innerhalb des KDD. Trotzdem wird der Begri Data Mining oft als Synonym für KDD verwendet [32].

18 6 Einführung in Data Mining Grundlagen 2.2 Der KDDProzess Sucht man nach einem Prozessmodell für den KDDProzess, dann ndet man vermutlich so viele unterschiedliche Modelle wie Anbieter von Data Mining Werkzeugen. In der Literatur orientiert man sich jedoch mehr und mehr nach dem CRISPDM 1 Prozessmodell [1]. Dieses QuasiStandard Prozessmodell gliedert sich in folgende sechs Phasen: 1. Verstehen von Geschäftsabläufen (business understanding) 2. Verstehen von Daten (data understanding) 3. Datenaufbereitung, Vorverarbeitung von Daten (data preparation) 4. Bildung des Data Mining Modells (modeling) 5. Evaluierung des Data Mining Modells (evaluation) 6. Umsetzung des Data Mining Modells (deployment) Abbildung 2.1 visualisiert die einzelnen Phasen des CRISPDM Prozessmodells. Die einzelnen Schritte werden dabei nicht linear durchlaufen, sondern es handelt sich um ein iteratives und interaktives Prozessmodell. Menschen und maschinelle Lernverfahren sollen dabei gemeinsam verständliches und interessantes Wissen entdecken. Nachfolgend werden wir nun jede dieser sechs Phasen kurz durchgehen. Für eine umfassendere Behandlung sei auf [33], [1] und [32] verwiesen Business Understanding Unerlässliche Voraussetzung für erfolgreiches Data Mining ist ein Verständnis für die Geschäftsprozesse, da es ohne Hintergrundwissen nicht möglich ist, die Probleme, die man lösen möchte, genau zu identizieren. Neben der Gewinnung dieses Hintergrundwissens sollen die genauen Ziele deniert werden. Es gilt demnach zu verstehen, was der Auftraggeber wirklich will. Zudem muss geplant werden, was zur Erreichung dieser Ziele alles notwendig ist: ˆ Schlüsselpersonen identizieren (z.b. aus den Bereichen Management, Finanzen, Marketing,... ). ˆ Erfolgskriterien denieren. ˆ Verfügbare Ressourcen identizieren sowie Rahmenbedingungen und Voraussetzungen prüfen (beispielsweise rechtliche Auagen). Zudem gilt es zu planen, welche Personen in das Projekt einzubinden sind, damit es über alle Projektphasen hinweg Erfolg hat. ˆ Geschäftsbezogene, technische und organisatorische Risiken erkennen Data Understanding Dieser Teilprozess beginnt mit dem Sammeln (oder sogar dem Erheben) von Daten. Dabei gilt es, die benötigten Grunddaten und die relevanten Attribute zu identizieren. Falls die 1 CRISPDM steht für Cross Industry Standard Process for Data Mining und ist aus einem Konsortium der Firmen DaimlerChrysler, SPSS und NCR im Jahre 1997 hervorgegangen.

19 2.2 Der KDDProzess 7 Abbildung 2.1: Schematische Darstellung des zyklischen CRISPDM Prozessmodells [1]. Daten aus unterschiedlichen Quellen stammen, müssen Inkonsistenzen behoben werden. Anschliessend sollte man sich mit den Daten vertraut machen und die einzelnen Attribute grob charakterisieren (Format, Relevanz, Skalentyp,... ), bevor die Daten genauer untersucht werden (mittels Anfragen, Visualisierung, Statistiken,... ). Schliesslich wird noch die Datenqualität beurteilt (falsch erfasste Daten, fehlende Werte, Codierungsfehler,... ). Nach erfolgreichem Abschluss dieser Phase stehen folgende Informationen zur Verfügung: ˆ Welche Daten sind verfügbar ˆ Mit welchem Inhalt (data description report) ˆ Anfragen, Visualisierung und Statistiken zu den Daten (data exploration report) ˆ Qualität der verfügbaren Daten (data quality report) Data Preparation Bei der Datenaufbereitung (Vorverarbeitung) geht es darum, die relevanten Daten in der nützlichsten Form für den Data Mining Algorithmus bereitzustellen. Falls die Qualität der Daten dabei nicht verbessert werden kann, müssen die Daten mindestens so bereinigt werden, dass sie die Eingaberestriktionen des gewählten Data Mining Werkzeugs erfüllen. Um dies bewerkstelligen zu können, gehören folgende Schritte zur Datenaufbereitung: ˆ Selektion der Daten, die für die anschliessende Modellbildung genutzt werden. Die Auswahl ist abhängig von den Data Mining Zielen, der Qualität der Daten und von

20 8 Einführung in Data Mining Grundlagen allfälligen technischen Beschränkungen (beispielsweise Beschränkung des Datenvolumens). ˆ Bereinigung der Daten (falsche Werte korrigieren, fehlende Werte durch geschätzte Werte oder durch Standardwerte ersetzen,... ). ˆ Neue Daten konstruieren, indem abgeleitete Attribute deniert oder Werte normalisiert (transformiert) werden. ˆ Daten integrieren, indem Daten aus verschiedenen Quellen kombiniert werden. Dabei muss man auch syntaktische und semantische Inkonsistenzen beheben. ˆ Formatierung der Daten, damit sie den Formatbeschränkungen des Data Mining Werkzeugs gerecht werden. Dieser Teilprozess gilt als aufwändigster im KDDProzess. Gemäss [37] beträgt der Aufwand für die Datenaufbereitung ungefähr 60% des gesamten KDD. Eine adäquate Datenaufbereitung ist für Data Mining jeglicher Art aber unerlässlich. Oder wie es Pyle [37] treend auf den Punkt bringt:... what has not changed at all, and what is almost a law of nature, is GIGO garbage in, garbage out. Keeping that nowpopular aphorism rmly in mind leads logically to the observation that good data is a prerequisite for producing eective models of any type Modeling Diese Phase stellt mit dem Einsatz der Data Mining Algorithmen den Kern des KDD Prozesses dar. Dieser Teilprozess gliedert sich in folgende vier Schritte: 1. Wahl des Verfahrens: Es gilt einen für die Problemstellung geeigneten Algorithmus auszuwählen. Dabei sind Erfahrungen mit spezischen Techniken oder Werkzeugen sowie auch die Verfügbarkeit von bestimmten Algorithmen zu berücksichtigen. 2. Erstellung eines Testentwurfs: Anhand eines Testentwurfs kann man später die Qualität und die Gültigkeit eines Modells überprüfen. Soll beispielsweise eine Klassikation durchgeführt werden, so wird oft die Fehlerrate als Qualitätsmass genommen. Hierzu werden üblicherweise die Daten in Test- und Trainingsdaten aufgeteilt. Anschliessend wird das Modell anhand der Trainingsdaten erstellt und dann mit Hilfe der (separaten) Testdaten seine Qualität abgeschätzt. 3. Erstellung des Modells: Anhand der aufbereiteten Daten und des gewählten Data Mining Algorithmus wird nun das Modell erstellt. Typischerweise geschieht die Modellbildung iterativ, mit jeweils unterschiedlichen Parameterbelegungen. 4. Bewertung des Modells: Die Ergebnisse werden bezüglich der zu Beginn denierten Data Mining Erfolgskriterien bewertet. Zusätzlich kann das Modell auch in Bezug auf bereits vorliegendes Wissen überprüft werden. Gegebenenfalls wird die Parameterbelegung nochmals angepasst und das Modell erneut erstellt. Allenfalls wird auch eine zusätzliche Datenaufbereitung notwendig. An dieser Stelle kommt die iterative Vorgehensweise des KDDProzesses am besten zum Ausdruck.

21 2.3 Formen maschinellen Lernens Evaluation Nachdem das Data Mining Modell vorliegt, werden die Ergebnisse bezüglich der Geschäftsziele ausgewertet. Dabei sollen auch zusätzliche Erkenntnisse aus dem Projekt gewonnen werden (z.b., dass eine bessere Datenqualität erforderlich ist). Rückwirkend betrachtet sollen auch Fehler, Mängel und sonstige Versäumnisse identiziert werden, die während des Projekts aufgetreten sind. Anhand dieser Evaluationen wird das Potential für die Umsetzung des Modells analysiert. Ist man mit der Evaluation zufrieden, kann man mit der Umsetzung des Modells beginnen. Andernfalls werden in Abhängigkeit der verbleibenden Ressourcen neue Iterationen durchgeführt oder sogar ein Neustart des Projekts in Erwägung gezogen Deployment Mit dem Finden eines guten Modells ist der KDDProzess noch nicht zu Ende. Nun müssen Strategien erarbeitet werden, wie das Modell am besten in Geschäftsprozesse umgesetzt werden kann und welche dieser Prozesse den grössten Nutzen für das Unternehmen haben. Hierbei ist nicht nur Data Mining Fachwissen, sondern auch Fachwissen in Bezug auf die Geschäftsabläufe gefragt. Hat man sich für eine Umsetzung entschieden, wird ein genauer Plan erstellt, der die einzelnen dazu nötigen Schritte enthält. 2.3 Formen maschinellen Lernens Nachdem wir einen kurzen Abriss des KDDProzesses gesehen haben, beschäftigen wir uns im weiteren Verlauf dieses Kapitels ausschliesslich mit dem Herzstück des KDD Prozesses den Data Mining Algorithmen. Üblicherweise werden in der Literatur drei Formen von Data Mining Algorithmen (maschinelle Lernalgorithmen) unterschieden [38]: ˆ Überwachtes Lernen (supervised learning) ˆ Lernen durch Verstärkung (reinforcement learning) ˆ Unüberwachtes Lernen (unsupervised learning) Im Folgenden wollen wir diese drei Formen genauer erläutern. Da die Ermittlung von charakteristischen Datensätzen automatisch erfolgen muss, liegt das Hauptaugenmerk bei den unüberwachten Lernalgorithmen, da diese ohne menschliches Zutun funktionieren und daher für den weiteren Verlauf dieser Arbeit entscheidend sind Überwachtes Lernen Beim überwachten Lernen (supervised learning) ist das Ziel, aus einer Menge von Trainingsdaten eine Funktion zu lernen, welche die Vorhersage eines Zielattributs erlaubt. Gegeben ist demnach eine Menge von Beispielen, beschrieben durch beliebig viele Eingabeattribute, und ein Zielattribut. Gesucht ist dann eine Funktion (Baum, Regel, neuronales Netz,... ) zur Berechnung des Zielattributes für jedes neue, nur durch die Eingabeattribute beschriebene Beispiel [32]. Wenn das zu vorhersagende Zielattribut nominal ist, spricht man von Klassikation. In diesem Fall möchte man eine Funktion lernen, die andere Instanzen (mit unbekannter

22 10 Einführung in Data Mining Grundlagen Klassenzugehörigkeit) aufgrund ihrer Eingabeattribute einer der vorgegebenen Klassen zuordnen kann. Eine mögliche Anwendung der Klassikation ist beispielsweise ein Spam- lter für s. Die Inhalte von s (Häugkeitsverteilung der Wörter, Absender, Betre,... ) stellen in diesem Fall die Eingabeattribute dar. Daraus soll die Klassikation als Spam oder nicht Spam erfolgen. Eine andere mögliche Anwendung ist die Kreditbewilligung bei Finanzinstituten. Als Eingabeattribute dienen in diesem Fall Merkmale wie Alter, Ausbildung, Beruf, Wohnort und Einkommen des potentiellen Kunden. Anhand dieser Daten und eines existierenden Klassikationsmodells wird dann vorausgesagt, ob eine Kreditsprechung erfolgen sollte oder ob die Bonität der Person zu niedrig ist. Ist das zu vorhersagende Zielattribut numerisch, spricht man von Regression. Ein Beispiel hierfür ist eine Versicherung, welche die zu erwartende Schadenssumme eines neuen Versicherungsnehmers vorhersagen will, um daraus die Versicherungsprämie ableiten zu können. Es gibt verschiedene Data Mining Techniken, die nach dem Prinzip der Klassikation oder Regression funktionieren. Die in Lehrbüchern am häugsten behandelten (und daher wohl bekanntesten) Verfahren sind Entscheidungsbäume, Regellernen, Neuronale Netze und seit jüngerer Zeit auch Stützvektormaschinen (Support Vector Machines). Da die überwachten Lernverfahren in dieser Arbeit nicht zur Anwendung kommen, werden sie hier nicht weiter erläutert. Es sei daher auf die unzählige Fachliteratur verwiesen, die zu diesem Themenbereich existiert. Eine anschauliche Einführung liefert beispielsweise [40]. In [20] wird die Thematik etwas formaler behandelt. Ein gut erklärtes Beispiel zu Entscheidungsbäumen ndet man auch in [38] Lernen durch Verstärkung Eine fundamentale Aufgabe für jedes Lebewesen ist es, Strategien zu erlernen, die sein Verhalten in seinem Lebensraum optimieren. Mit dieser Analogie im Hinterkopf lässt sich das Lernen durch Verstärkung (reinforcement learning) am besten verstehen. Bei dieser Lernform erteilt die Umgebung, in Abhängigkeit des aktuellen Zustandes und der gewählten Aktion, positive und negative Signale. Positive Signale stellen dabei Belohnungen dar, während die negativen Signale Bestrafungen sind. Die Aufgabe des lernenden Agenten besteht darin, die Summe der erwarteten zukünftigen Signale zu maximieren. Hierzu muss er eine möglichst optimale Zuordnung von Aktionen zu Zuständen erlernen [38]. Im Gegensatz zum überwachten Lernen werden dem Agenten aber nie anhand von Trainingsdaten die richtigen Lösungen vorgegeben. Das Lernen erfolgt durch alleinige Interaktion mit der Umwelt und der daraus resultierenden Signalen. Suboptimale Aktionen des Agenten werden also nie explizit korrigiert, sondern lediglich implizit via Belohnungsmodell bestraft. Diese Form des maschinellen Lernens ist in dieser Arbeit wie auch das überwachte Lernen aus dem vorherigen Abschnitt nicht von Bedeutung, da es für die Ermittlung von charakteristischen Datensätzen keine Aktionen zu erlernen gibt. Für detailliertere Ausführungen zu diesem Themenbereich ist daher wiederum auf die Fachliteratur verwiesen. Beispielsweise gibt es in [38] ein gutes Kapitel, welches in das Wesen dieser Art des maschinellen Lernens einführt.

23 2.4 Assoziationsregeln Unüberwachtes Lernen Das Spektrum des unüberwachten Lernens (unsupervised learning) beinhaltet das Lernen von Mustern anhand von Eingabedaten, wenn keine Zielwerte bekannt sind [38]. In diesem Fall existiert also kein Zielattribut, dessen Wert für neue Eingabedaten vorhergesagt werden sollte, sondern es gilt generelle Regelmässigkeiten oder Auälligkeiten zu entdecken. Die bekanntesten Verfahren von unüberwachtem Lernen sind wohl das Clustering und die Assoziationsregeln. Beim Clustering sind keine Klasseneinteilungen vorgegeben, sondern es ist die Aufgabe des Verfahrens, ähnliche Daten in Gruppen einzuteilen. Das Ziel von Assoziationsregeln ist es, Regeln zu nden, mit deren Hilfe man von der Präsenz gewisser Eigenschaften auf die Präsenz anderer Eigenschaften schliessen kann. Da diese beiden Data Mining Techniken aufgrund ihrer unüberwachten Funktionsweise für die Ermittlung von typischen Datensätzen von besonderer Bedeutung sind, werden sie in den nachfolgenden Abschnitten detaillierter vorgestellt. Im folgenden Abschnitt (2.4) werden die Assoziationsregeln genauer behandelt und im nächsten Abschnitt (2.5) wenden wir uns den verschiedenen Clusteringverfahren zu. 2.4 Assoziationsregeln Der folgende Abschnitt behandelt eine der im Data Mining zur Zeit populärsten Analyseaufgaben: Das Entdecken von Assoziationsregeln in Datenbanken [12]. Im Gegensatz zu den Lernmethoden wie Klassikation und Regression, ist diese Methode keine Spezialisierung des Funktionslernens aus Beispielen. Das Ziel ist also nicht, eine Abbildungsvorschrift aus bekannten Datensätzen zu lernen, um anschliessend die Klassenzugehörigkeit oder den Wert eines Zielattributes von neuen, bislang unbekannten Instanzen vorherzusagen. Das Assoziationslernen fokussiert hingegen auf generelle Häugkeiten von Mengen und ihren Teilmengen in einer Datenbank, wobei in diesem Sinn jedes Attribut als mögliches Zielattribut aufgefasst werden kann. Das assoziative Regellernen ist somit ein typischer Vertreter des unüberwachten (unsupervised) Lernens. Im Folgenden wollen wir dieses Lernverfahren anhand der wohl bekanntesten Anwendung des Assoziationsregelverfahrens der Warenkorbanalyse [20] erläutern und erklären Begrie und Terminologie Assoziationsregeln sind ein Mittel zur so genannten Warenkorbanalyse. Gegeben ist dabei eine Datenbank von Warenkörben, die bestimmte Kundentransaktionen repräsentieren. Ein einzelner Warenkorb ist im weitesten Sinn eine Menge von zusammen eingekauften Artikeln, wobei der Begri Artikel auch Dienstleistungen oder Informationen umfassen kann. Assoziationsregeln drücken dann Zusammenhänge innerhalb der Transaktionen aus, die in der gesamten Datenmenge häug vorkommen. Ein typisches Beispiel einer Transaktionsdatenbank ist die Sammlung von Daten, die in einem Warenhaus bei der Bezahlung von eingekauften Artikeln durch Scannerkassen erhoben werden. In diesem Beispiel besteht eine Transaktion im wörtlichen Sinn aus einem Warenkorb, nämlich sämtlicher Artikel, die ein einzelner Kunde zu einem bestimmten Zeitpunkt an der Kasse bezahlt. Eine mögliche Assoziationsregel, welche Zusammenhänge

24 12 Einführung in Data Mining Grundlagen zwischen häug gemeinsam gekauften Produkten ausdrückt, könnte dann zum Beispiel folgendermassen lauten: {Brot, Kartoeln} {Fleisch} Diese Regel besagt, dass in allen Warenkörben, in denen Brot und Kartoeln enthalten sind, häug auch Fleisch gekauft wird. Regeln dieser Art sind natürlich nur dann interessant, wenn in genügend vielen Warenkörben, in denen sowohl Brot und Kartoeln enthalten sind, zusätzlich auch wirklich Fleisch gekauft wird. Bevor der Begri interessant genau deniert und quantitativ erfasst werden kann, sind aber noch einige Begrie und formale Grundlagen notwendig. Die folgende Terminologie stammt aus [12]: ˆ Es sei I = {i 1,..., i m } eine Menge von Literalen (boolesche Variablen, die entweder wahr oder falsch sind), genannt Items. In unserem Warenkorbbeispiel sind die Items in I Bezeichnungen oder Identikatoren von einzelnen Artikeln. Zum Beispiel kann i 1 den Identikator für Brot, i 2 den Identikator für Kartoeln und i 3 den Identikator für Fleisch darstellen. ˆ Eine Menge von Items X I wird Itemset genannt. Das Itemset X = {i 1, i 3 } besteht in unserem Beispiel aus dem Warenkorb, der Brot und Fleisch aber keine Kartoeln enthält. ˆ D sei eine Menge von Transaktionen t, wobei t I. Jede Transaktion t besteht demnach aus einer Menge von Items aus I. D ist in unserem Beispiel die Datenbank, welche alle Einkäufe eines Geschäfts während eines bestimmten Zeitraums speichert. ˆ Ein Assoziationsregel ist eine Implikation der Form X Y, wobei X und Y zwei Itemsets sind, die kein gemeinsames Element haben. Es muss also gelten: X I, Y I und X Y =. Eine gültige Assoziationsregel ist in unserem Fall beispielsweise {i 2, i 3 } {i 1 }. Sie besagt, dass wenn Kartoeln und Fleisch gekauft werden, sich auch häug Brot im Warenkorb bendet. ˆ Eine Transaktion t erfüllt eine Assoziationsregel X Y, falls gilt: (X Y ) t. D.h. die durch die Assoziationsregel beschriebenen Items kommen allesamt in der Transaktion vor. Der Support einer Assoziationsregel X Y ist der Anteil der Transaktionen t aus D, welche die Regel X Y erfüllen. Oder mit anderen Worten: Der Support ist die relative Häugkeit des gemeinsamen Auftretens aller Items, die in der Assoziationsregel vorkommen. Formal ausgedrückt ergibt sich: support(x Y ) = {t D (X Y ) t} D (2.1) Die Kondenz einer Assoziationsregel X Y misst die Korrektheit der Regel. Sie ist deniert als der Anteil der Transaktionen t aus D, welche die Menge Y enthalten, in der Teilmenge aller Transaktionen aus D, welche die Menge X enthalten. Oder anders ausgedrückt: Eine Assoziationsregel X Y gilt mit der Kondenz c in der Menge von Transaktionen D, wenn c% aller Transaktionen in D, die X enthalten, auch Y enthalten. Die Kondenz einer Regel kann aber auch als bedingte Wahrscheinlichkeit interpretiert werden. In diesem Fall ist sie die bedingte Wahrscheinlichkeit, dass eine Transaktion t alle Items der Menge Y enthält, unter der Bedingung, dass t schon alle Items aus der Menge X enthält. Die Kondenz einer Assoziationsregel lässt sich mit folgender Formel quantizieren: confidence(x Y ) = support(x Y ) support(x) = {t D (X Y ) t} {t D X t} (2.2)

25 2.4 Assoziationsregeln 13 Um den Support und die Kondenz an einem Beispiel zu ermitteln, betrachten wir die kleine Beispieldatenbank aus der Tabelle 2.1 mit den Attributen (genauer gesagt, der Menge von Literalen) Brot, Kartoffeln und Fleisch. Die booleschen Attribute können lediglich die zwei atomaren Werte wahr oder falsch annehmen, was soviel bedeutet, dass der einzelne Artikel in der entsprechenden Transaktion gekauft respektive nicht gekauft wurde. Für eine leichter verständliche Lesbarkeit werden als Attributwerte die selbsterklärenden Werte gekauft und nicht gekauft gewählt. Wenn wir nun daran interessiert sind, bei wie vielen Einkäufen, bei denen Brot und Kartoeln gekauft wurden, auch Fleisch im Warenkorb enthalten war, dann müssen wir die Kondenz der Assoziationsregel {Brot, Kartoeln} {Fleisch} betrachten. Um den Kon- denzwert dieser Regel zu bestimmen, benötigen wir die Formel aus 2.2. In unserem Beispiel entspricht also das Itemset X der Menge {Brot, Kartoeln}, während Y = {Fleisch} ist. Eingesetzt in die Formel erhalten wir: conf idence(x Y ) = conf idence({brot, Kartoeln} {Fleisch}) support({brot, Kartoeln} {Fleisch}) = support({brot, Kartoeln}) {t D ({Brot, Kartoeln} {Fleisch}) t} = {t D {Brot, Kartoeln} t} = 2/6 3/6 = 2 3 Brot und Kartoeln wurden in unserer Beispieldatenbank aus Tabelle 2.1 in den Transaktionen 1, 4 und 5 gemeinsam gekauft. Also gesamthaft in drei von total sechs Transaktionen. Demnach ist support({brot, Kartoeln}) = 3/6. Brot, Kartoeln und Fleisch wurden in unserem Beispiel in den Transaktionen 1 und 5 zusammen gekauft. Also in zwei von insgesamt sechs Transaktionen, was den Support von support({brot, Kartoeln} {Fleisch}) = 2/6 zur Folge hat. Dividieren wir die beiden Werte, erhalten wir den berechneten Kondenzwert von 2/3. In diesem Datenbankbeispiel haben also 33% aller Käufer Brot, Kartoeln und Fleisch gekauft und 66% der Brot und Kartoelkäufer haben auch Fleisch gekauft. Die Regel {Brot, Kartoeln} {Fleisch} ist demnach in 66% der Fälle korrekt AprioriAlgorithmus Die konkrete Data Mining Aufgabe besteht nun darin, in einer Datenbank alle Assoziationsregeln zu nden, die einen Support und eine Kondenz haben, die über benutzerspe- WarenkorbTransaktionen Transaktion Brot Kartoffeln Fleisch 1 gekauft gekauft gekauft 2 gekauft nicht gekauft nicht gekauft 3 nicht gekauft nicht gekauft nicht gekauft 4 gekauft gekauft nicht gekauft 5 gekauft gekauft gekauft 6 nicht gekauft gekauft nicht gekauft Tabelle 2.1: Beispieldatenbank mit Wareneinkäufen.

26 14 Einführung in Data Mining Grundlagen zischen Werten minsup und minconf liegen. Diese Aufgabe kann in zwei Teilaufgaben zerlegt werden [12]: 1. Finde alle Itemsets (d.h. alle Mengen von Items), die einen Support haben, der grösser ist als der vom Benutzer vorgegebene Wert des minimalen Supports minsup. Die gefundenen Itemsets werden häug auftretende Itemsets genannt. Ein banaler Algorithmus muss zur Ermittlung der häug auftretenden Itemsets die Häugkeit aller möglichen Teilmengen der Items I aus der Datenbank D zählen. Wenn die Datenbank aus m Attributen (also Items, die gekauft oder nicht gekauft wurden) besteht, dann gibt es 2 m Teilmengen, deren Häugkeiten bestimmt werden müssen. Da die Anzahl der Items m im Allgemeinen sehr gross sein kann, ist ein solches Vorgehen sehr impraktikabel, da der Rechenaufwand mit m exponentiell steigt. Der Apriori Algorithmus basiert jedoch auf einer MonotonieEigenschaft für häug auftretende Itemsets, wodurch die Anzahl der zu zählenden Teilmengen stark reduziert werden kann. Wir werden die Idee dieses Ansatzes in Kürze erläutern. 2. Verwende nun die im vorherigen Schritt ermittelten häugen Itemsets um Assoziationsregeln zu bilden, die minimale Kondenz minconf haben. Wenn ein Itemset X minimalen Support hat, dann ergibt jede Teilmenge Z von X eine Regel der Form Z (X Z), die ebenfalls minimalen Support hat. Man muss dann lediglich noch überprüfen, ob eine solche Regel auch die vom Benutzer vorgegebene minimale Kondenz erreicht. Im Folgenden wenden wir uns der ersten Teilaufgabe dem Finden von häugen Itemsets genauer zu. Im nächsten Abschnitt beschäftigen wir uns dann detaillierter mit der zweiten Teilaufgabe der Bestimmung von Assoziationsregeln Bestimmung der häugen Itemsets Wie bereits erwähnt, basiert der AprioriAlgorithmus zum Finden der häug auftretenden Itemsets auf der folgenden MonotonieEigenschaft: MonotonieEigenschaft: Jede Teilmenge eines häugen Itemsets muss selbst auch häug sein [20]. Diese Eigenschaft sei an einem kleinen Beispiel demonstriert. Hierzu betrachten wir wiederum die Beispieldatenbank von Einkaufstransaktionen aus Tabelle 2.1. Geben wir beispielsweise als benutzerspezischen minimalen Support den Wert minsup = 0, 3 vor, dann gehört das Itemset {Kartoeln, Fleisch} zu den häug auftretenden Itemsets, da diese beiden Artikel in zwei von sechs Transaktionen zusammen gekauft wurden und somit support({kartoeln, Fleisch}) = 1/3 > minsup = 0, 3 gilt. Die Monotonie Eigenschaft besagt nun, dass wenn das Itemset {Kartoeln, Fleisch} häug ist, auch die Teilmengen {Kartoeln} respektive {Fleisch} häug auftreten. Wenn wir die Datenbank überprüfen, dann ergeben sich Supportwerte von support({kartoeln}) = 2/3 und support({fleisch}) = 1/3. Diese MonotonieEigenschaft ist intuitiv nachvollziehbar, denn wenn in 33% aller Einkäufe sowohl Kartoeln wie auch Fleisch gekauft wurden, dann sind logischerweise auch in mindestens 33% aller Fälle Kartoeln (mit oder ohne Fleisch), oder Fleisch (mit oder ohne Kartoeln) gekauft worden. Um nun diese Eigenschaft bei der ezienten Ermittlung aller relevanten Itemsets auszunutzen, müssen zuerst alle häug auftretenden Itemsets, in aufsteigender Reihenfolge bezüglich der Anzahl Items, bestimmt werden. Das heisst, es werden zuerst die 1

27 2.4 Assoziationsregeln 15 elementigen Itemsets bestimmt, deren Support den vorgegebenen Schwellwert minsup übersteigen, dann alle 2elementigen, 3elementigen etc., deren Supportwerte über dem spezischen Wert minsup liegen. Die 1elementigen häugen Itemsets können durch simples Zählen der entsprechenden Items in der Datenbank entdeckt werden. Bei der Ermittlung der 2elementigen häug auftretenden Itemsets müssen dann nicht mehr sämtliche 2elementigen Teilmengen in der Datenbank durchgezählt werden, sondern nur noch solche, die durch Kombination von zwei 1elementigen häugen Itemsets hervorgehen. Allgemein werden zum Finden von k+1elementigen häug auftretenden Itemsets nur solche k + 1elementige Itemsets gezählt, die durch einen Verbund (join) von kelementigen Itemsets gebildet werden können, von denen man schon weiss, dass sie häug in der Datenbank vorkommen. 2 Diese Art der Kandidatengenerierung ist ein Kernstück des AprioriAlgorithmus. Um die Vorgehensweise zur Generierung von Kandidaten und anschliessend die Ermittlung der häug auftretenden Itemsets nach dem AprioriAlgorithmus an einem Beispiel zu illustrieren, betrachten wir die Tabelle 2.2. Wir gehen im Folgenden von einem benutzerspezischen minimalen Support von minsup = 0, 3 aus. Das Beispiel wurde in Anlehnung an [20] erstellt. Im ersten Schritt werden anhand der Einkaufstransaktionen aus Tabelle 2.2(a) alle 1 elementigen Kandidaten generiert und ihr Support berechnet. Die ermittelten Kandidaten mit berechnetem Support sind in Tabelle 2.2(b) abgebildet. Von diesen Kandidaten werden alle eruiert, deren Support grösser als minsup ist (in unserem Beispiel beträgt minsup = 0, 3). Sämtliche Kandidaten, welche diese Bedingung erfüllen, werden zu häu- g auftretenden Itemsets. Sie sind in Tabelle 2.2(c) aufgelistet. Item d gehört nicht zu den häug auftretenden Itemsets, da es nur in der Transaktion 1 vorkommt und darum lediglich einen Support von support({d}) = 0, 25 hat und den geforderten Schwellwert von supmin = 0, 3 nicht erreicht. Im zweiten Schritt werden diejenigen 2elementigen Kandidaten generiert, welche durch Kombination von häug auftretenden 1elementigen Itemsets gebildet werden können. Das Resultat der Kandidatengenerierung ist in Tabelle 2.2(d) zu sehen. Es ist zu beachten, dass aufgrund der oben erwähnten MonotonieEigenschaft das Item d für die Generierung der 2elementigen Teilmengen nicht berücksichtigt wird. Es werden also lediglich 2elementige Kombination der Items a, b, c und e gebildet. Der AprioriAlgorithmus berechnet nun auch für diese Kandidaten den Support, indem die Transaktionen aus Tabelle 2.2(a) durchlaufen werden und gezählt wird, wie häug die generierten Kandidaten darin vorkommen. Alle Kandidaten, die den geforderten minimalen Support erreichen, sind in Tabelle 2.2(e) aufgelistet und wurden vom Algorithmus als häuge 2elementige Itemsets markiert. Die 3elementigen Kandidaten werden durch die Verbundoperation (join) der zuvor markierten häug auftretenden 2elementigen Itemsets gebildet. Bei der Ermittlung dieser Kandidaten kommt nun das in der Fussnote 2 erwähnte pruning zum Einsatz. Bilden wir beispielsweise aus den ersten beiden Einträgen der Tabelle 2.2(e) den natürlichen Verbund ({a, b} {b, c}), so erhalten wir den 3elementigen Kandidaten {a, b, c}. Dieser kann aufgrund der MonotonieEigenschaft aber unmöglich häug in der Datenbank vorkommen, weil die Teilmenge {a, c} nicht unter den häug auftretenden 2elementigen Itemsets zu nden ist, da {a, c} lediglich einen Support von 0,25 hat und schon im vorherigen Schritt 2 Genau genommen müssen nicht alle so konstruierten Itemsets in der Datenbank auf ihre Häugkeit überprüft werden, da einige sogleich entfernt werden können (pruning).

28 16 Einführung in Data Mining Grundlagen Transaktion Einkaufstransaktionen 1 a, b, d 2 b, c, e 3 a, b, c, e 4 c Gekaufte Artikel (Items) (a) Einkaufstransaktionen zur Ermittlung der häug auftretenden Itemsets Kandidaten Itemset {a} 1/2 {b} 3/4 {c} 3/4 {d} 1/4 {e} 1/2 Support (b) 1elementige Kandidaten Kandidaten Itemset {a,b} 1/2 {a,c} 1/4 {a,e} 1/4 {b,c} 1/2 {b,e} 1/2 {c,e} 1/2 Support (d) 2elementige Kandidaten Kandidaten Itemset {b,c,e} 1/2 Support (f) 3elementige Kandidaten Häuge Itemsets Itemset {a} 1/2 {b} 3/4 {c} 3/4 {e} 1/2 Support (c) 1elementige häug auftretende Itemsets Häuge Itemsets Itemset {a,b} 1/2 {b,c} 1/2 {b,e} 1/2 {c,e} 1/2 Support (e) 2elementige häug auftretende Itemsets Häuge Itemsets Itemset {b,c,e} 1/2 Support (g) 3elementige häug auftretende Itemsets Tabelle 2.2: Kandidatengenerierung und Ermittlung der häug auftretenden Itemsets nach dem AprioriAlgorithmus. Anhand der Einkaufstransaktionen aus 2.2(a) werden die Kandidaten und daraus die häugen Itemsets generiert. Dieser Prozess ist in den Tabellen 2.2(b) bis 2.2(g) veranschaulicht.

29 2.4 Assoziationsregeln 17 verworfen wurde. Demzufolge muss für den Kandidaten {a, b, c} die Datenbank gar nicht erst durchlaufen werden, um den Support zu bestimmen. Er kann sogleich verworfen (pruned) werden. Fährt man nach diesem Prozedere fort, dann bleibt lediglich das Itemset {b, c, e} übrig, welches aufgrund der MonotonieEigenschaft häug auftreten kann und demzufolge in der Datenbank auch wirklich auf die Anzahl Vorkommnisse überprüft werden muss (siehe Tabelle 2.2(f)). Tatsächlich ergibt sich einen Support von support({b, c, e}) = 1/2, womit dieser Kandidat zum 3elementigen häugen Itemset wird (Tabelle 2.2(g)). Analog würde man zur Ermittlung der 4elementigen Kandidaten fortfahren. Da die Liste der 3elementigen häugen Itemsets aber lediglich aus einem Eintrag besteht, können keine 4elementigen Kandidaten gebildet werden, womit die Subroutine des Apriori Algorithmus zur Bildung der häug auftretenden Itemsets terminiert Bestimmung der Assoziationsregeln Um alle Assoziationsregeln mit minimalem Support und minimaler Kondenz zu nden, müssen lediglich die häugen Itemsets betrachtet werden. Gemäss Formel 2.1 (Seite 12) zur Bestimmung des Supports, hat für jede Regel A B, die mit minimalem Support gilt, auch das Itemset {A B} den minimalen Support und ist daher vom AprioriAlgorithmus gefunden worden. Um aus den häug auftretenden Itemsets X alle Regeln zu nden, die ebenfalls minimalen Support haben, muss also lediglich für jede Teilmenge A X die Regel A (X A) gebildet werden. Mit diesem Verfahren ist noch nicht garantiert, dass die gefundenen Regeln auch die geforderte minimale Kondenz haben. Zur Prüfung der Kondenz einer Regel genügt es aber, den Support aller häugen Itemsets zu kennen; denn die Kondenz einer Regel A (X A), mit A X, kann berechnet werden als: confidence(a (X A)) = support(x) support(a) (2.3) Falls während der Bestimmung der häugen Itemsets die ermittelten Daten (Itemset mit zugehörigem Support) beispielsweise in einer Hashtabelle gespeichert wurden, dann sind bei der Berechnung der Kondenz einer Regel keine neuen Konsultationen des Datenbestandes nötig, da die notwendigen Informationen zur Berechnung bereits vorhanden sind. Es kann noch weiter optimiert werden, da es nicht notwendig ist, alle möglichen Regeln auf ihre Kondenz zu überprüfen. Wenn eine Regel A (X A) nicht die minimale Kondenz hat, dann kann auch keine Regel der Form A (X A ) mit A A die geforderte minimale Kondenz haben. Dies liegt daran, dass der Support einer Teilmenge von A höchstens grösser sein kann als der Support von A. Somit wird die Kondenz der Regel A (X A ) höchstens kleiner als die Kondenz der Regel A (X A), da der Term support(a) respektive support(a ) in der Formel 2.3 im Nenner vorkommt. Hat beispielsweise die Regel {q, x, y} {z} nicht die minimale Kondenz, dann können auch die Regeln {x, y} {z, q}, {q, y} {z, x}, {q, x} {z, y}, {q} {z, x, y}, {x} {z, q, y} und {y} {z, q, x} nicht die minimale Kondenz haben und brauchen gar nicht erst betrachtet zu werden.

30 18 Einführung in Data Mining Grundlagen Performanz des AprioriAlgorithmus Die Laufzeit des AprioriAlgorithmus hängt stark von den Eigenschaften der gegebenen Transaktionsmenge (Datenbank D) ab. Theoretisch können von exponentiell vielen Teilmengen alle auch tatsächlich häug sein, mit entsprechenden Folgen für das Laufzeitverhalten der Berechnungen. Ein Kunde eines Warenhauses kauft in der Realität aber nicht annähernd das ganze Sortiment, womit auch die Grösse der häugen Itemsets klein ist und mit wachsender Anzahl Elemente (Items) sehr rasch abnimmt. Sind diese Annahmen gegeben, weist der Algorithmus eine ungefähr lineare Laufzeit in der Grösse der Transaktionsmenge auf [28]. Der vom Benutzer gewählte minimale Support wirkt sich ebenfalls auf die Gesamtlaufzeit aus. Senkt man den minimalen Support auf die Hälfte, so führt dies in Simulationsprogrammen zu einer Verdoppelung der Laufzeit [28]. Die gewählte minimale Kondenz beeinusst die Laufzeit nur geringfügig, da sie lediglich in der Regelgenerierungsphase von Bedeutung ist. Und zu diesem Zeitpunkt werden ohnehin nur noch wenige häuge Itemsets in Betracht gezogen Quantitative Assoziationsregeln Da das Assoziationslernen nur mit Literalen umgehen kann, sind wir bislang stets davon ausgegangen, dass die Attribute der betrachteten Datenbank nur boolesche Werte annehmen. Dies stellt allerdings eine drastische Einschränkung dar, da in realen Anwendungen die Attribute zumindest einen kategorischen Datentyp (z.b. Name, Wohnort, Beruf) oder sogar numerische Werte (z.b. Einkommen, Alter) haben. Die Idee des hier vorgestellten Verfahrens beruht darauf, eine Datenbank mit kategorischen und numerischen Attributen so zu transformieren, dass ein ähnliches Verfahren wie für boolesche Datenbanken angewendet werden kann. Dazu werden die originalen Attribute in einer neuen Relation auf boolesche Attribute abgebildet. Danach wird jeder Datensatz d der ursprünglichen Tabelle in einen neuen Datensatz d der neu angelegten Tabelle umgewandelt. Ein kategorisches Attribut mit diskreten Werten kann prinzipiell sehr einfach auf eine Menge boolescher Attribute abgebildet werden. Für jeden Wert w 1,..., w k des kategorischen Attributs A wird jeweils ein neues boolesches Attribut A 1,..., A k deklariert. Für einen Datensatz d wird der Wert von A i genau dann gleich 1 gesetzt, wenn der Wert des Attributs A im ursprünglichen Datensatz d den Wert w i hat. Ansonsten nimmt A i den Wert 0 an. Numerische Attribute mit einem grossen Wertebereich werden zuerst in disjunkte Intervalle eingeteilt (diskretisiert). Anschliessend wird analog wie für kategorische Attribute für jedes so gebildete Intervall ein boolesches Attribut eingeführt. Mit einer solchen Abbildung kann man konzeptionell das Finden quantitativer Assoziationsregeln auf das Finden von einfachen Assoziationsregeln zurückführen. Ein Beispiel für diese Typumwandlung ist in Tabelle 2.3 gegeben. Die Einteilung des Wertebereichs eines numerischen Attributs in Intervalle ist allerdings nicht ganz unproblematisch, weil dabei Informationen verloren gehen. Man muss sich über folgende Probleme im Klaren sein [14]: 1. Minimaler Support: Wenn die Intervalle für ein numerisches Attribut zu klein gewählt werden, dann kann der Support für jedes einzelne Intervall unter den vorgegebenen minimalen Support zu liegen kommen. Im Extremfall enthält jedes Intervall

31 2.4 Assoziationsregeln 19 Personen ID Alter Geschlecht weiblich weiblich männlich weiblich männlich (a) Datenbank D mit kategorischen und numerischen Attributen Personen ID A:20-29 A:30-39 A:40-49 G:weiblich G:männlich (b) Transformierte Datenbank D mit booleschen Attributen Tabelle 2.3: Umwandlung einer Relation mit kategorischen und numerischen Attributen in eine neue Relation mit booleschen Attributen. nur ein Tupel der Datenbank. Mit einer solchen Abbildung gehen zwar keine Informationen verloren, aber bei n Datensätzen beträgt der Support jedes einzelnen Intervalls nur gerade 1/n. Werden die Intervalle zu gross gewählt, dann erreichen zu viele Intervalle den minimalen Support Minimale Kondenz: Wenn die Intervalle für ein numerisches Attribut zu gross sind (das heisst, man bildet zu wenig Intervalle), dann haben viele Assoziationsregeln keine genügend grosse Kondenz. Eine mögliche Lösung dieser Probleme ist die folgende: Man zerlegt den Wertebereich des numerischen Attributs zwar in viele Intervalle, aber berücksichtigt bei der Ermittlung der häugen Itemsets zusätzlich alle Bereiche, die durch Verschmelzen benachbarter Intervalle entstehen. Im Sinne der Ezienz ist dieser Ansatz allerdings teuer zu bezahlen [14]: 1. Hohe Laufzeit: Wenn ein Attribut k diskrete Werte (oder k Intervalle) besitzt, dann gibt es durchschnittlich k 2 Bereiche, die einen bestimmten Wert enthalten. Die Anzahl zu überprüfenden Items (und folglich auch die Laufzeit des Algorithmus) wird dadurch entsprechend hoch. 2. Viele Regeln: Wenn ein Wert (oder Intervall) eines Attributs minimalen Support hat, dann hat auch jeder Bereich, der den Wert (oder das Intervall) umschliesst, minimalen Support. Dies hat zur Folge, dass sehr viele (und meist redundante) Itemsets und Regeln generiert werden. Weiterführende Informationen zu quantitativen Assoziationsregeln ndet man in [14] und [20]. 3 Diese Problematik wird weiter hinten (Abschnitt 3.5.4) im Zusammenhang mit der Ermittlung von charakteristischen Datensätzen oensichtlich.

32 20 Einführung in Data Mining Grundlagen Hierarchische Assoziationsregeln In praktischen Anwendungen von einfachen Assoziationsregeln entsprechen die Items in den Transaktionen meist einzelnen Waren. Im Allgemeinen haben jedoch Assoziationsregeln, welche aus einzelnen Waren gebildet wurden, meist einen sehr geringen Support, was folgende Konsequenzen hat [13]: ˆ Der AprioriAlgorithmus ndet mit hohem minimalen Support nur sehr wenige einfache Assoziationsregeln. ˆ Wenn der minimale Support niedriger gewählt wird, dann ndet der Apriori Algorithmus eine sehr grosse und daher unüberschaubare Menge von Regeln. Oftmals stehen in praktischen Anwendungen jedoch zusätzlich ItemTaxonomien zur Verfügung, welche die Elemente hierarchisch in Warengruppen zusammenfassen. Solche Taxonomien können verwendet werden, um auch Assoziationen zwischen abstrakteren Items, d.h. zwischen Warengruppen, zu nden. Solche Regeln sind meist nicht nur interessanter, sondern umfassen auch eine grössere Anzahl Elemente, da Itemsets auf der Ebene von Warengruppen im Allgemeinen einen höheren Support haben [20]. Für weiterführende Informationen zu hierarchischen Assoziationsregeln sei an dieser Stelle auf [13] und [20] verwiesen. Vertiefende Literatur zum Assoziationslernen im Allgemeinen ndet man auch in [20], [40], [28] und [12]. 2.5 Clustering Clusteringverfahren kommen zum Zuge, wenn es keine Klassenzugehörigkeit (oder ein numerischer Wert) vorherzusagen gibt, sondern wenn die Instanzen eines Datenbestandes in zusammengehörende Gruppen eingeteilt werden sollen. Clusteringalgorithmen gehören somit wie das Assoziationslernen aus dem vorherigen Abschnitt zur Sparte des unüberwachten (unsupervised) Lernens. Ester und Sander [20] denieren das Ziel von Clusteringverfahren folgendermassen:... Daten (semi)automatisch so in Kategorien, Klassen oder Gruppen (Cluster) einteilen, dass Objekte im gleichen Cluster möglichst ähnlich und Objekte aus verschiedenen Clustern möglichst unähnlich zueinander sind Ähnlichkeit zwischen Datensätzen Die Ähnlichkeit zwischen Objekten wird dabei meist durch eine Distanzfunktion modelliert, die für Paare von Objekten deniert ist. Die Abstände zwischen zwei Objekten werden folgendermassen interpretiert: ˆ kleine Distanzen ähnliche Objekte ˆ grosse Distanzen unähnliche Objekte Die konkrete Denition einer Distanzfunktion hängt dabei vom Datentyp der zu vergleichenden Datensätzen und der beabsichtigten Anwendung ab. Im Folgenden werden ein paar typische Distanzfunktionen vorgestellt. Für zwei Datensätze x = (x 1,..., x n ) und

33 2.5 Clustering 21 y = (y 1,..., y n ) mit numerischen Attributwerten x i respektive y i bedient man sich oft einer der folgenden Distanzfunktionen [20]: Euklidische Distanz: dist(x, y) = (x 1 y 1 ) (x n y n ) 2 (2.4a) Manhattan Distanz: Allgemeine L p Metrik: dist(x, y) = x 1 y x n y n (2.4b) dist(x, y) = n p (x i y i ) p (2.4c) Die Euklidische Distanzfunktion aus 2.4a stellt einen Spezialfall der L p Metrik aus 2.4c mit p = 2 dar. Je höher der Wert p gesetzt wird, desto mehr fällt die Diskrepanz der einzelnen Attributwerte ((x i y i ) p ) bei der Beurteilung über die Ähnlichkeit der Objekte ins Gewicht. Eine Abweichung zwischen den Attributwerten x i y i von q fällt mit grossem p stärker ins Gewicht als zwei Abweichungen bei zwei Attributen von je q/2 ( x i y i = q/2 und x j y j = q/2), obwohl der Absolutbetrag der Gesamtabweichung identisch ist. Ausreisser werden durch die Potenzierung mit p also übermässig bestraft. Für Datensätze x = (x 1,..., x n ) und y = (y 1,..., y n ) mit kategorischen Attributwerten x i respektive y i ist die Anzahl ungleicher Attributwerte (x i y i ) ein typisches Mass für die Unähnlichkeit zwischen zwei Datensätzen [20]: Anzahl ungleicher Werte: dist(x, y) = i=1 n δ(x i, y i ), mit δ(x i, y i ) = i=1 { 0 wenn (x i = y i ), 1 wenn (x i y i ). (2.5) Bei diesem Mass werden sämtliche Abweichungen zwischen zwei kategorischen Attributen gleich stark gewichtet. Entweder haben zwei Datensätze bei einem bestimmten Attribut denselben Wert, womit die Abweichung 0 ist, oder die Attributwerte unterscheiden sich, womit die Abweichung 1 beträgt. Demzufolge wird beispielsweise die Dierenz zwischen grünen und blauen Augen als gleich gross betrachtet, wie der Unterschied zwischen Mann und Frau. Aufgrund dieses kleinen Beispiels wird bereits ersichtlich, dass die Güte einer Clusteranalyse stark von der Adäquatheit der Distanzfunktion abhängt Arten von Clusteringverfahren Clusteringverfahren werden konzeptionell nach folgenden Arten unterschieden [40]: ˆ Partitionierende Clusteringverfahren ˆ Hierarchische Clusteringverfahren ˆ Probabilistische Clusteringverfahren ˆ Inkrementelle Clusteringverfahren Partitionierende Verfahren zerlegen eine Datenmenge so in k Cluster, dass jeder Cluster mindestens ein Objekt enthält und jedes Objekt genau zu einem Cluster gehört.

34 22 Einführung in Data Mining Grundlagen Im Gegensatz dazu erzeugen hierarchische Clusteringverfahren keine disjunkte Zerlegung der Datenmenge, sondern eine hierarchische Darstellung der Daten, aus der man die Clusterstruktur ableiten kann. Die oberste Ebene teilt die Datenmenge auf einige Cluster auf, welche ihrerseits den entsprechenden Datenanteil wiederum in verschiedene Cluster unterteilen können. Es ergibt sich somit eine Art Stammbaum, wie er aus der Biologie bekannt ist. Bei probabilistischen Verfahren werden jedem Datensatz d i k Wahrscheinlichkeitswerte (p i1,..., p ik ) zugewiesen. Diese Werte sind als Zugehörigkeitswahrscheinlichkeiten zu den einzelnen Clustern zu verstehen. Ein bestimmter Datensatz d j gehört demnach mit der Wahrscheinlichkeit p jc zum Cluster c. Die Unterscheidung von inkrementellen Verfahren hat nichts mit der Repräsentation der Daten zu tun, sondern mit der Art und Weise, wie eine Clusterstruktur zustande kommt. Während die meisten Clusteringverfahren (mehrmals) über die ganze Datenmenge iterieren müssen, bis sie die Clusterstruktur bestimmt haben, können inkrementelle Methoden das Clustering sukzessive aufbauen. Es ist somit möglich, dem Clusteringalgorithmus zu einem späteren Zeitpunkt neue Lerninstanzen vorzuweisen, um die Struktur weiter zu verfeinern, ohne den Algorithmus auf dem ganzen Datenbestand erneut ausführen zu müssen Clustering durch Varianzminimierung Eine bekannte Clusteringtechnik ist das Clustering durch Varianzminimierung. Bei diesem Verfahren wird die Datenmenge so in Gruppen eingeteilt, dass die Varianz innerhalb der einzelnen Clustern minimal wird. Diese Clusteringtechnik ist zudem ein typischer Vertreter des im vorherigen Abschnitt vorgestellten partitionierenden Verfahrens. Voraussetzung für die Anwendung von varianzminimierenden Algorithmen ist, dass die Datensätze aus numerischen Attributen bestehen, deren Dierenzen sinnvoll interpretierbar sind. Als Ähnlichkeitsmass und somit zur Bestimmung der Varianz wird die Euklidische Distanz aus Formel 2.4a verwendet. Bei einem Clustering durch Varianzminimierung wird jeder Cluster C durch einen so genannten Centroid µ C repräsentiert, welcher anschaulich den Mittelpunkt aller Datensätze im Cluster C darstellt [20]. Formal kann der Centroid µ C folgendermassen ausgedrückt werden: µ C = ( x 1 (C),..., x d (C)), mit x j (C) = 1 x p j (2.6) n C x j (C) ist dabei der Mittelwert des jten Attributs aller Datensätze in Cluster C. n C ist die Anzahl der Datensätze in C. Das Ziel ist nun, die gegebenen Datensätze so in k Klassen zu zerlegen, dass die Summe der quadrierten Distanzen jedes Punktes p zum Centroid seines Clusters µ Ci minimal wird: k i=1 p C p C i dist(p, µ Ci ) 2 min (2.7) Die innere Summe misst für einen Cluster C i die quadrierten Euklidischen Distanzen seiner Datensätze (p C i ) zum Centroiden µ Ci. Die äussere Summe wiederholt dieses Vorgehen für alle Cluster k. Je kleiner diese Gesamtsumme für eine Menge von k Cluster

35 2.5 Clustering 23 ist, desto kompakter (und somit besser) sind durchschnittlich die einzelnen Cluster des Clusterings. In Abbildung 2.2 ist je ein Beispiel für ein gutes und schlechtes Clustering gegeben. Die Datensätze bestehen in diesem Beispiel lediglich aus zwei numerischen Attributen, damit sie im zweidimensionalen Raum dargestellt werden können. Zur Veranschaulichung der Distanzen zwischen Datenpunkten und ihren Centroiden sind alle Datensätze mit dem jeweiligen Clustermittelpunkt verbunden. Die Beträge dieser Strecken müssen allerdings noch quadriert werden, um die quadrierten Euklidischen Distanzen zu erhalten. Der zu minimierende Wert aus Formel 2.7 entspricht aber anschaulich der Summe der dargestellten Streckenlängen. Es ist leicht ersichtlich, dass die Zerlegung aus Abbildung 2.2(a) weniger kompakt ist als diejenige aus 2.2(b). Die Clustereinteilung aus 2.2(b) ist sogar optimal, d.h. für k = 3 minimiert diese Clustereinteilung die Summe der quadrierten Distanzen jedes einzelnen Punktes zum Centroid seines Clusters. Ziel des Algorithmus zum Finden eines Clusterings durch Varianzminimierung ist nun, unter allen möglichen Aufteilungen eine optimale Zerlegung automatisch zu konstruieren. Ein solcher Algorithmus beginnt dabei mit einer zufälligen Zerlegung der Datenmenge, indem er sämtliche Instanzen des Datenbestandes zufällig in k Klassen einteilt. Im Anschluss daran werden die Centroide dieser initialen Cluster berechnet. Die auf diese Weise ermittelte Einteilung ist im Allgemeinen nicht optimal, da für einige Punkte der Abstand zum Centroid ihrer Cluster grösser ist als der Abstand zum Centroid eines anderen Clusters. Daher werden in einem weiteren Schritt neue Clustereinteilungen gebildet, indem jeder Punkt dem Cluster mit dem nächstliegenden Centroid zugeordnet wird. Im Anschluss werden die Mittelpunkte wiederum neu berechnet. Aber auch diese Einteilung muss noch nicht optimal sein. Daher wird dieses Prozedere solange wiederholt, bis sich die Clustereinteilungen nicht mehr verändern. In Abbildung 2.3 ist die Idee eines varianzminimierenden Algorithmus für zwei Iterationen grasch dargestellt. Zu Beginn wird die Datenmenge zufällig in k Cluster aufgeteilt (in diesem Beispiel beträgt k = 2), womit beispielsweise eine Zerlegung wie in Abbildung 2.3(a) resultiert. Danach werden die Centroide gemäss der Formel 2.6 berechnet. Die ermittelten Centroide sind in Abbildung 2.3(b) als rote Punkte ersichtlich. Nun wird jeder Punkt dem nächstliegenden Centroid zugeordnet, was zur neuen Einteilung (Clustering) aus 2.3(c) führt. Jetzt beginnt das Prozedere wieder von vorne, nämlich mit der Ermittlung der neuen Centroide, wie in 2.3(d) zu sehen ist. Dieses Verfahren wird solange wiederholt, bis sich die Zerlegung der Daten nicht mehr verändert. Dann ist im Sinne der Varianzminimierung das optimale Clustering gefunden Variante kmeans Der wohl bekannteste und am häugsten angewendete Algorithmus, der nach dem Verfahren der Varianzminimierung arbeitet, ist kmeans [34]. Der wesentliche Unterschied des kmeans Algorithmus zur obigen (allgemeinen) Methode ist, dass bei der Neuberechnung der Datensätze zu den Centroiden diese Centroide direkt aktualisiert werden, wenn ein Datensatz seine Clusterzugehörigkeit ändert. Damit erübrigt sich der zweite Schritt, d.h. die separate Neuberechnung der Clustermittelpunkte. Das Ergebnis und die Laufzeit des kmeans Algorithmus hängen stark von der initialen Zerlegung der Datensätze ab. Hinzu kommt, dass das Verfahren reihenfolgenabhängig ist. Wenn dieselben Daten in einer anderen Reihenfolge durchlaufen werden, dann kann das

36 24 Einführung in Data Mining Grundlagen (a) Schlechtes Clustering. Es könnten bessere Clustermittelpunkte gewählt werden. (b) Optimales Clustering. Die Summe der Abstände zu den jeweiligen Clustermittelpunkten ist minimal. Abbildung 2.2: Beispiel für ein schlechtes und gutes Clustering (für k = 3) im Sinne der Varianzminimierung [20]. resultierende Clustering stark variieren. Des Weitern konvergiert kmeans in der Regel nicht gegen ein globales Minimum, sondern lediglich gegen ein lokales. Der Aufwand pro Iteration beträgt O(n), wobei im Normalfall die Anzahl benötigter Iterationen relativ klein ist (ca. 5-10). Infolge des verwendeten Distanzmasses (Euklidische Distanzfunktion) reagiert das Verfahren sehr empndlich gegenüber Ausreissern, da grosse Distanzen durch das Quadrieren überproportional berücksichtigt werden [20] Clustering durch Erwartungsmaximierung EMAlgorithmus Der EMAlgorithmus (expectationmaximization) [17] ist ein typisches probabilistisches Clusteringverfahren. Wie wir in Abschnitt gesehen haben, wird bei einem probabilistischen Verfahren die Datenmenge nicht in disjunkte Cluster zerlegt, sondern die einzelnen Instanzen gehören mit einer bestimmten Wahrscheinlichkeit zu den jeweiligen Clustern. Das Ziel dabei ist, für eine gegebene Datenmenge die Cluster so zu ermitteln, dass der Erwartungswert für eine bestimmte Wahrscheinlichkeitsverteilung maximiert wird. Typischerweise wird dafür die Gaussverteilung (auch als Normalverteilung bekannt) verwendet, da man aus der statistischen Schätztheorie weiss, dass sich jede Verteilung durch eine Mischung von Gaussverteilungen approximieren lässt [21]. Eine Menge von k Clustern wird demnach durch eine Mischung von Gaussverteilungen M = (C 1,..., C k ) aus k Komponenten beschrieben. Man nimmt also an, dass die Daten durch eine Mischung von k Gaussverteilungen entstanden sind. Hinzu kommt, dass die Cluster nicht gleich wahr-

37 2.5 Clustering 25 (a) Initiale Zerlegung (b) Berechnung der Centroide (rote Punkte) (c) Zuordnung aller Punkte zum nächsten Centroid (neue Clustereinteilung) (d) Berechnung der neuen Centroide aufgrund der neuen Clustereinteilung Abbildung 2.3: Zwei Iterationsschritte bei der Ermittlung der optimalen Cluster (für k = 2) eines varianzminimierenden Algorithmus [9]. scheinlich sind, sondern dass eine Wahrscheinlichkeitsverteilung ihre relative Gewichtung (Population) angibt. Im Folgenden wird die Idee des EMAlgorithmus anhand eines einfachen Beispiels aus [40] illustriert. Aus Gründen der Verständlichkeit gehen wir von Instanzen aus, die lediglich aus einem numerischen Attribut als Merkmal bestehen. Des Weitern nehmen wir an, dass zwei zugrunde liegende Cluster (A und B) existieren und dass in beiden Clustern das numerische Attribut normalverteilt ist allerdings mit unterschiedlichem Mittelwert und Varianz: µ A und σ A für Cluster A, respektive µ B und σ B für Cluster B. In Abbildung 2.4 sind die Normalverteilungen mit den gegebenen Parametern visualisiert. Aus diesen beiden Verteilungen werden nun zufällige Stichproben gezogen. Mit der Wahrscheinlichkeit p A erfolgt die Ziehung aus Cluster A und mit der Wahrscheinlichkeit p B aus Cluster B (wobei p A + p B = 1). In Tabelle 2.4 ist eine solche Zufallsziehung mit den Parametern p A = 0, 6 und p B = 0, 4 abgebildet. Nun stellen wir uns vor, dass uns lediglich die Stichproben aus Tabelle 2.4 bekannt sind ohne die eektiv zugrunde liegenden Verteilungen und den jeweiligen Klassenzugehörigkeiten. Anhand dieser Stichproben sollen nun die Parameter der zugrunde liegenden Verteilungen bestimmt werden, also µ A, σ A, µ B, σ B und p A (p B ist mit der Bestimmung

38 26 Einführung in Data Mining Grundlagen 0.6 Normalverteilungen Dichte A B Attributwerte Abbildung 2.4: Mischung Modell (mixture model) für zwei Verteilungen bestehend aus einem numerischen Attribut mit den Gaussverteilungen für Cluster A von µ A = 50, σ A = 5 und für Cluster B von µ B = 65, σ B = 2 [40]. Stichproben A 51 B 62 B 64 A 48 A 39 A 51 A 43 A 47 A 51 B 64 B 62 A 48 B 62 A 52 A 52 A 51 B 64 B 64 B 64 B 64 B 62 B 63 A 52 A 42 A 45 A 51 A 49 A 43 B 63 A 48 A 42 B 65 A 48 B 65 B 64 A 41 A 46 A 48 B 62 B 66 A 48 A 45 A 49 A 43 B 65 B 64 A 45 A 46 A 40 A 46 A 48 Tabelle 2.4: Zufällige Stichproben mit den Parametern p A = 0, 6 und p B = 0, 4 aus den Normalverteilungen von Abbildung 2.4 im Umfang von 51 Ziehungen. Die Buchstaben geben die Klassenzugehörigkeit (Cluster) an [40].

39 2.5 Clustering 27 von p A implizit gegeben, da p A + p B = 1). Diese Bestimmung der Parameter wird Mischung Problem (nite mixture problem) genannt [40]. Wenn wir wissen, aus welcher Verteilung jede Instanz der Stichprobe stammt, dann ist die Bestimmung der fünf Parameter einfach. Wir brauchen lediglich die Mittelwerte und Varianzen für die Stichproben aus Cluster A und B separat nach folgenden Formeln zu berechnen: µ A = xa 1 + xa xa n n µ B = xb 1 + xb xb m m σa 2 = (xa 1 µ A) 2 + (x A 2 µ A) (x A n µ A ) 2 n 1 σb 2 = (xb 1 µ B) 2 + (x B 2 µ B) (x B m µ B ) 2 m 1 p A = n n + m (2.8) x A i (x B i ) bezeichnet dabei den Attributwert der iten Stichprobe aus Cluster A (Cluster B) während n (m) die Anzahl Instanzen aus Cluster A (Cluster B) in der Stichprobe ist. Der Parameter p A ergibt sich demnach aus dem relativen Anteil von AInstanzen in der Stichprobe also dem Anteil der Datenmenge, der zum Cluster A gehört. Mit den soeben geschätzten Parametern ist es einfach, für eine gegebene Instanz die Wahrscheinlichkeiten für die Zugehörigkeit zu den einzelnen Clustern zu berechnen. Beispielsweise beträgt für eine Instanz x die Wahrscheinlichkeit, dass sie aus Cluster A stammt: P [A x] = P [x A] P [A] P [x] = f(x; µ A, σ A ) p A P [x] (2.9) f(x; µ A, σ A ) entspricht der Dichtefunktion 4 von Cluster A (siehe Graph der Normalverteilung in Abbildung 2.4) und ist wie folgt deniert: f(x; µ A, σ A ) = (x µ 1 A ) 2 2σ e A 2 2πσA In den soeben angestellten Überlegungen sind wir davon ausgegangen, dass bekannt ist, aus welchen Verteilungen (Clustern) die Instanzen der Stichproben stammen. Somit konnten wir die Parameter µ, σ und p anhand der Werte aus den Stichproben schätzen. Im Allgemeinen kennen wir aber weder die Verteilungen noch die Parameter des Mischung Modells. Somit bedienen wir uns der Idee von einer zufälligen initialen Zuordnung, wie sie bereits aus Abschnitt von der iterativen Varianzminimierung bekannt ist. Wir beginnen also mit einer zufälligen Wahl der Verteilungsparameter und berechnen daraus für jede Instanz die resultierenden Zugehörigkeitswahrscheinlichkeiten zu den einzelnen Clustern. Im Anschluss werden die soeben berechneten Wahrscheinlichkeiten für die bessere Schätzung der Parameter verwendet. Mit den neu geschätzten Parametern 4 Streng genommen ist f(x; µ A, σ A) P [x A], da die Wahrscheinlichkeit 0 beträgt, dass x einen bestimmten reellen Wert annimmt, da die Wahrscheinlichkeit nur für Intervalle berechnet werden kann. Durch den späteren Normalisierungsprozess [40] entfällt dieser Term aber, womit das Resultat trotzdem korrekt ist.

40 28 Einführung in Data Mining Grundlagen werden nun erneut für alle Instanzen die Zugehörigkeitswahrscheinlichkeiten zu den einzelnen Clustern ermittelt, bevor wiederum eine zuverlässigere Schätzung der Verteilungsparameter möglich ist. Aufgrund dieser iterativen Vorgehensweise rührt der Name EM. Im ersten Schritt der ErwartungsPhase erfolgt die Berechnung der Zugehörigkeitswahrscheinlichkeiten der Instanzen zu den Clustern also die Ermittlung der erwarteten Klassenzugehörigkeit. In einem zweiten Schritt der MaximierungsPhase werden die Verteilungsparameter so geschätzt, dass die Wahrscheinlichkeit für die gegebenen Daten maximiert wird. Die in Formel 2.8 aufgestellten Gleichungen zur Schätzung der Parametern müssen nun angepasst werden, da es sich nun um Zugehörigkeitswahrscheinlichkeiten zu den Clustern handelt. Die Wahrscheinlichkeiten können dabei als Gewichte aufgefasst werden. Wenn w i die Wahrscheinlichkeit angibt, mit der eine Instanz x i zum Cluster A gehört, dann können Mittelwert und Varianz neu wie folgt berechnet werden: µ A = w 1x 1 + w 2 x w n x n w 1 + w w n σ 2 A = w 1(x 1 µ A ) 2 + w 2 (x 2 µ A ) w n (x n µ A ) 2 w 1 + w w n Die Wahrscheinlichkeit w i entspricht dabei dem unter 2.9 berechneten Wert P [A x]. Weiter gilt zu beachten, dass im Gegensatz zur Formel 2.8 nun alle Instanzen bei der Berechnung von Mittelwert und Varianz berücksichtigt werden. Es stellt sich nun noch die Frage, wann dieses iterative Verfahren zur Maximierung des Erwartungswertes terminiert. Ein varianzminimierender Algorithmus wie beispielsweise kmeans endet, wenn sich die Clusterzugehörigkeit der Instanzen von der einen zur nächsten Iteration nicht mehr verändert. Beim EMAlgorithmus gibt es zwar auch einen solchen Fixpunkt, wo sich die Parameter und Clusterwahrscheinlichkeiten nicht mehr ändern, aber der Algorithmus konvergiert lediglich gegen ein solches Optimum, ohne es je vollständig zu erreichen. Mit der Funktion overall likelihood [40] existiert allerdings ein Mass, mit welchem die Güte einer Mischung von Gaussverteilungen quantiziert werden kann: (p A P [x i A] + p B P [x i B]) max (2.10) i Je grösser der Wert dieses Masses, desto wahrscheinlicher sind die gegebenen Daten, unter der Annahme, dass sie durch Mischung der beiden Normalverteilungen A und B entstanden sind. Intuitiv handelt es sich bei dem Term p A P [x i A] + p B P [x i B] um die Wahrscheinlichkeit, mit der bei einer gegebenen Mischung aus Normalverteilung A und B ein Punkt x in der Datenmenge vorkommt. Beim Clustering durch Erwartungsmaximierung wird demnach versucht, die Verteilungsparameter so zu bestimmen, dass der Wert von overall likelihood maximal wird. Mit anderen Worten sucht man also dasjenige Modell (Mischung aus Normalverteilungen), mit dem die gegebenen Daten am besten vereinbar sind. Daraus leitet sich auch die Antwort der weiter oben postulierten Terminierungsfrage des EMAlgorithmus ab: Die Iteration zur Erwartungsmaximierung wird solange wiederholt, bis sich die Güte der beiden Modelle (gemessen anhand des Wertes aus Formel 2.10) nur noch um einen benutzerspezischen Wert ɛ unterscheiden. Typischerweise steigt der Wert von overall likelihood mit den ersten paar Iterationen sehr schnell an und konvergiert somit ziemlich bald gegen einen Fixpunkt [40].

41 2.6 Data Mining mit Weka Data Mining mit Weka Weka [11] ist nicht nur die Bezeichnung für einen neuseeländischen, besonders neugierigen Vogel, es ist auch der Name eines OpensourceProjektes der Universität Waikato aus Neuseeland, das unter der Lizenz von GNU GPL [5] vertrieben wird. Weka steht für Waikato Environment for Knowledge Analysis und bezeichnet ein JavaFramework für das Data Mining. Das WekaFramework stellt Data Mining Algorithmen verschiedener Lernformen zur Verfügung. Einerseits gibt es eine Vielzahl von Klassikatoren wie zum Beispiel Stützvektormaschinen, neuronale Netze und verschiedene regelbasierte oder auf Entscheidungsbäumen basierende Verfahren. Andererseits unterstützt dieses Projekt auch Data Mining Techniken aus der Sparte des unüberwachten Lernens, wie beispielsweise verschiedene Clusteringverfahren und Assoziationsregeln. Zudem implementiert die WekaSoftware eine Reihe von Filtern zur Unterstützung der Datenaufbereitung, um beispielsweise für eine gegebene Menge von Texten die Worthäugkeiten zu bestimmen, oder um numerische Attribute zu transformieren. Als universelles Datenformat kommt in Weka ein so genanntes Attribute Relation File Format (ARFF) zum Einsatz. Hierbei handelt es sich um ein einfaches Textformat, ähnlich den CSVDateien, welches eine einzige Tabelle aufnehmen kann. Im Unterschied zu den CSVDateien enthält eine ARFFDatei einen Dateikopf (header), welcher das Datenformat beschreibt. In diesem Dateikopf werden die Attributnamen und die Attributtypen deniert ähnlich zur Schemadenition bei relationalen Datenbanken. Die folgenden vier Attributtypen existieren in Weka: String Attribute: Attribute dieses Typs können beliebigen Text speichern. Ein einziger Attributwert kann somit den Inhalt eines ganzen Dokuments enthalten. Numerische Attribute: Numerische Attribute dienen zur Speicherung von numerischen Merkmalen beliebigen Typs. Es erfolgt keine Unterscheidung in ganzzahlige und reellwertige Datentypen. Nominale Attribute: Mit einem nominalen Attribut können kategorische Merkmale gespeichert werden. Hierzu müssen im Dateikopf die erlaubten Attributwerte (Kategorien) deniert werden, die dieses Attribut annehmen darf. Datum Attribute: Attribute dieses Typs sind String Attribute mit einer bestimmten Formatvorgabe. Beispielsweise wird im Dateikopf ein Format der Art yyyymm ddthh:mm:ss deniert. Ein gültiger Attributwert wäre in diesem Fall beispielsweise T12:00:00. Für die Anwendung der unterschiedlichen Komponenten stehen verschiedene Schnittstellen bereit. Es existieren sowohl ein JavaAPI, um die WekaBibliotheken in eigenen Applikationen einzubinden, als auch mehrere grasche Benutzerschnittstellen (GUIs). Namentlich gibt es einen so genannten Explorer für einfache Datenanalysen, einen Experimenter für umfangreiche Evaluierungen und eine Workow Umgebung. Zudem lassen sich die Komponenten auch auf der Kommandozeile einsetzen. Für eine vollständige Dokumentation der Schnittstellen ist auf die WekaInternetseite [11] verwiesen, die auch die Software zum freien Runterladen bereithält.

42

43 Kapitel 3 Ermittlung charakteristischer Datensätze In den vorangehenden Abschnitten haben wir uns den Grundlagen von Data Mining gewidmet. Dabei wurden vorwiegend Clusteringverfahren (Abschnitt 2.5) und Methoden zum Aunden von Assoziationsregeln (Abschnitt 2.4) besprochen. Nun wollen wir diese Basisalgorithmen dazu nutzen, um Methoden zur Ermittlung von charakteristischen Datensätzen zu entwickeln. Es werden drei Methoden vorgestellt, die sich während der Test und Evaluationsphase als weitgehend domänenunabhängig bewährt haben. Das sind einerseits zwei Verfahren, welche auf ClusteringAlgorithmen aufbauen und andererseits eine Methode, die sich dem AprioriAlgorithmus zum Finden von Assoziationsregeln bedient. Bei der Vorstellung dieser Verfahren wird zu Beginn jeweils die notwendige Datenaufbereitung erläutert, dann die Funktionsweise der Methode erklärt und anschliessend werden Testergebnisse evaluiert und interpretiert. In einem abschliessenden Fazit wird auf Vor, Nachteile und sonstige Einschränkungen der entsprechenden Methode eingegangen. 3.1 Wahrnehmung von charakteristischen Daten Bevor man sich an das Aunden von charakteristischen Datensätzen eines gegebenen Datenbestandes macht, stellt sich die Frage, durch was sich ein typischer Datensatz überhaupt auszeichnet. Was sind die Eigenschaften, die einen charakteristischen Datensatz ausmachen? Eine abschliessende und vollumfängliche Denition von repräsentativen Datensätzen gibt es wohl nicht, aber zumindest gibt es einige Merkmale, die für eine Menge von k Datensätzen gelten sollten, damit sie als charakteristisch und typisch für die Gesamtmenge angesehen werden kann: 1. Die Menge von Repräsentanten ist eine (echte) Teilmenge des betrachteten Datenbestandes. 2. Diese Teilmenge umfasst wesentlich weniger Elemente als der Gesamtdatenbestand. 3. Die Teilmenge soll die Informationsverteilung des originalen Datenbestandes im richtigen Verhältnis wiedergeben. D.h. die relative Häugkeit von bestimmten Merk-

44 32 Ermittlung charakteristischer Datensätze malen des Datenbestandes soll in der repräsentativen Menge möglichst gut approximiert werden. 4. Gleichzeitig sollte die Redundanz der einzelnen Elemente so klein wie möglich gehalten werden, ohne jedoch die Informationsverteilung des zugrunde liegenden originalen Datenbestandes verfälscht zu repräsentieren. Aus einer etwas anderen Perspektive kann man repräsentative Datensätze auch anhand der repräsentativen Demokratie aus der Politik betrachten: Repräsentative Demokratie: Die repräsentative Demokratie ist eine Form der indirekten Demokratie, in der Volksvertreter (Abgeordnete) gewählt und ins Amt berufen werden, die souverän und ohne direkte Eingrismöglichkeit des Volkes die politischen Entscheidungen treen. [10] Auch hier kommt zum Ausdruck, dass es sich bei den Volksvertretern um eine Teilmenge der Gesamtheit handelt. Durch die Wahl wird sichergestellt, dass die einzelnen Abgeordneten (grösstenteils) die Ansichten ihrer Wähler vertreten und somit die Kräfteverhältnisse (Informationsverteilung) der Gesamtheit angemessen widerspiegeln. Dadurch wird die relative Häugkeit von bestimmten Merkmalen (hier die Parteistärke) durch die Abgeordneten richtig approximiert Ein Beispiel zu repräsentativen Daten Wir wollen den Begri der Repräsentativität an einem konkreten Beispiel erläutern und in diesem Zusammenhang auch auf die Problematik der subjektiven Wahrnehmung von charakteristischen Datensätzen eingehen. Wir betrachten hierzu die Tabelle 3.1(a), welche aus zwölf Einträgen von berufstätigen Personen besteht. Beim Anblick dieser Datensätze fällt auf, dass die weiblichen Personen gegenüber den männlichen mit einem Verhältnis von sieben zu fünf stärker vertreten sind. Des weitern ist ersichtlich, dass die Mehrheit aller Personen einen Beruf im Gesundheitswesen oder im handwerklichen Sektor ausüben (je fünf), während lediglich zwei Personen im Dienstleistungsbereich tätig sind. Zudem fällt auf, dass der grösste Teil der berufstätigen Personen aus dem Sektor Gesundheitswesen Frauen sind (vier von fünf), während andererseits die meisten Personen aus dem handwerklichen Bereich Männer sind (vier von fünf). Als letzter Punkt ist zu erwähnen, dass die männlichen Vertreter im Schnitt mehr Berufserfahrung haben (durchschnittlich 15,6 Jahre) als ihre weiblichen Kolleginnen (durchschnittlich 8,3 Jahre). In Tabelle 3.1(b) sind unter anderem diese Attributstatistiken wiedergegeben. Anhand der soeben gemachten Überlegungen zu den Eigenschaften dieses kleinen Datenbestandes wenden wir uns jetzt der Frage der Repräsentativität zu. Welches der zwölf Tupel aus Tabelle 3.1(a) repräsentiert nun den gesamten Datenbestand am besten? Oder allgemeiner formuliert: Welche k Datensätze repräsentieren den Datenbestand am besten? Wir werden sehen, dass diese Frage bereits in diesem einfachen Beispiel mit nur drei Attributen 1 und zwölf Datensätzen nicht eindeutig beantwortet werden kann. Wir spielen nun das Szenario der Ermittlung von k Repräsentanten für verschiedene Werte von k durch. Jeweils aus (subjektiver) Sicht des Menschen gesehen losgelöst 1 Das Attribut ID zählt im Sinne von Data Mining nicht zum Datenbestand, da es keine systematische Information beinhaltet. Deshalb ist hier von drei Attributen die Rede.

45 3.1 Wahrnehmung von charakteristischen Daten 33 Datensätze ID Geschlecht Berufssektor Berufserfahrung (nominal) (nominal) (numerisch (Jahre)) 1 Weiblich Gesundheitswesen 7 2 Weiblich Gesundheitswesen 10 3 Weiblich Gesundheitswesen 5 4 Weiblich Gesundheitswesen 15 5 Weiblich Handwerk 9 6 Weiblich Dienstleistung 5 7 Weiblich Dienstleistung 7 8 Männlich Handwerk 20 9 Männlich Handwerk Männlich Handwerk Männlich Handwerk Männlich Gesundheitswesen 16 (a) BeispielDatenbestand von berufstätigen Personen Attributstatistiken Merkmal Anzahl Durchschnitt Berufserfahrung Weiblich 7 8,3 Männlich 5 15,6 Gesundheitswesen 5 10,6 Handwerk 5 14,2 Dienstleistung 2 6,0 Weiblich, Gesundheitswesen 4 9,3 Weiblich, Dienstleistung 2 6,0 Weiblich, Handwerk 1 9,0 Männlich, Handwerk 4 15,5 Männlich, Gesundheitswesen 1 16,0 (b) Statistiken zu Attribut(kombination)en Tabelle 3.1: BeispielDatenbestand zur Veranschaulichung von repräsentativen Datensätzen mit ausgewählte Statistiken zu Attribut(kombination)en. von konkreten Implementierungsvorschlägen, wie diese Ermittlung von Repräsentanten maschinell und automatisch erfolgen könnte. Für k setzen wir zu Beginn den Wert 1, d.h. wir möchten den typischsten Datensatz aus der Gesamtmenge ermitteln. Wenn ich nach dem repräsentativsten Datensatz dieser Menge gefragt werde, dann sind meine Überlegungen, gestützt auf Tabelle 3.1 mit den Datensätzen und den zugehörigen Statistiken, folgendermassen: 1. Sieben von zwölf Personen sind weiblich, also sollte nach meinem Empnden der Repräsentant weiblichen Geschlechts sein. 2. Die Berufssektoren Gesundheitswesen und Handwerk teilen sich gegenüber Dienstleistung die Mehrheit. Die Repräsentantin sollte wenn möglich aus dem Bereich Gesundheitswesen oder Handwerk kommen. 3. Da von den sieben Frauen vier im Gesundheitswesen tätig sind, ist eine Repräsen-

46 34 Ermittlung charakteristischer Datensätze tantin wünschenswert, die diese beiden Eigenschaften vereint. 4. Die gemittelte Anzahl Jahre Berufserfahrung über alle Personen beträgt 11,4 Jahre. Betrachtet man allerdings nur die vier weiblichen Vertreterinnen aus dem Gesundheitswesen, dann beträgt die durchschnittliche Berufserfahrung lediglich 9,3 Jahre. Da ich vorhin zum Schluss gekommen bin, das für mich der repräsentative Datensatz aus der Kombination weiblich / Gesundheitswesen bestehen sollte, ist jetzt auch ein Wert für die Berufserfahrung wünschenswert, der typisch für diese Teilgruppe ist. Daher sollte die Berufserfahrung der Repräsentantin näher bei 9,3 wie bei 11,4 Jahren liegen. 5. Somit fällt meine Wahl des repräsentativsten Datensatzes auf den Eintrag mit ID=2 (weiblich / Gesundheitswesen / 10). Wenn ich zwei Repräsentanten dieses Datenbestandes ermittle, dann komme ich auf folgendes Ergebnis: 1. Der repräsentative Datensatz von vorher ist gesetzt. Jetzt sollte aber ein Vertreter männlichen Geschlechts hinzukommen, um das Verhältnis von Frauen zu Männern der Gesamtmenge (7 / 5 = 1,4) in der Teilmenge der k Repräsentanten möglichst gut zu approximieren. 2. Da die meisten Männer in unserem Beispiel einen handwerklichen Beruf ausüben, sollte der zweite Repräsentant ein männlicher Handwerker sein. 3. Die durchschnittliche Anzahl Jahre Berufserfahrung der Teilgruppe männlich / Handwerker liegt bei 15,5 Jahren. Der neue Repräsentant sollte demnach eine Berufserfahrung in diesem Bereich aufweisen. 4. Anhand dieser Überlegungen fällt die Wahl für den zweiten Repräsentanten auf den Eintrag mit ID=9 (männlich / Handwerk / 15). Bislang el mir die Wahl von typischen Datensätzen relativ leicht. Wenn ich aber drei Repräsentanten aus der Datenmenge ermitteln sollte, dann wird meine Entscheidung bereits etwas zweifelhaft: 1. Die bisherigen zwei Repräsentanten sind gesetzt. Um das Verhältnis von Frauen zu Männern der Gesamtmenge (7 / 5 = 1,4) in der Teilmenge der k Repräsentanten möglichst gut wiederzugeben, sollte als nächstes wieder eine Vertreterin weiblichen Geschlechts hinzukommen. 2. Nun stellt sich die Frage, aus welchem Berufssektor die weibliche Person stammen soll. Zur Auswahl stehen Gesundheitswesen, Handwerk und Dienstleistung. Die Sparte Handwerk ist für mich auszuschliessen, da lediglich eine Frau in diesem Bereich tätig ist. Somit kommt noch Dienstleistung oder erneut Gesundheitswesen in Frage. In diesem Fall entscheide ich mich für Dienstleistung, um möglichst viel Information des gesamten Datenbestandes in der Teilmenge der Repräsentanten zu beinhalten und die Redundanz innerhalb dieser Menge klein zu halten. Andererseits kann man auch argumentieren, dass ein Datensatz der Form weiblich / Dienstleistung nicht typisch für die gesamte Datenmenge ist, da lediglich zwei von zwölf Personen in diesem Sektor tätig sind und dabei gleichzeitig die Berufserfahrung mit fünf (respektive sieben) Jahren die untere Grenze darstellt. Man sieht also, dass die Repräsentativität von Datensätzen mit ziemlich viel Subjektivität verbunden sein kann. Insbesondere fällt hier die Wahl für kleine Werte von k nicht

47 3.2 Allgemeine Datenaufbereitung 35 leicht, da die Menge der typischen Datensätze doch massgeblich durch diesen einen zusätzlichen Repräsentanten beeinusst wird. Beispielsweise fällt in unserem Fall für einen Wert von k = 5 die Entscheidung zur Wahl von typischen Datensätzen relativ einfach aus. Je zwei Datensätze der Form weiblich / Gesundheitswesen respektive männlich / Handwerk, mit einer Berufserfahrung nahe dem jeweiligen Mittelwert, und der Datensatz weiblich / Dienstleistung / 7. Somit bleibt in der Menge der Repräsentanten das Verhältnis von weiblich zu männlich sowie von Gesundheitswesen zu Dienstleistung zu Handwerk bestmöglich bewahrt. Abschliessend kann festgehalten werden, dass eine repräsentative Menge die Häugkeit von bestimmten Eigenschaften der Gesamtmenge möglichst gut approximieren sollte. 3.2 Allgemeine Datenaufbereitung Nachdem wir uns über die Eigenschaften von repräsentativen Instanzen Gedanken gemacht haben, gilt es nun, Datensätze mit diesen gewünschten Merkmalen mittels Data Mining automatisch zu ermitteln. Vom KDDProzess aus Abschnitt 2.2 ist bekannt, dass die Daten in geeigneter Form vorliegen müssen, um Data Mining Algorithmen erfolgreich anwenden zu können. Beispielsweise müssen bei einem varianzminimierenden Clusteringverfahren wie in Abschnitt erläutert die Attributtypen numerisch sein. Attribute, deren Wertebereich aus unstrukturiertem Fliesstext besteht (z.b. Bemerkungen, Annotationen), können für ein varianzminimierendes Clustering nicht sinnvoll verwendet werden. Andererseits ist die Voraussetzung für die Anwendung des AprioriAlgorithmus aus Abschnitt 2.4, dass sämtliche Attribute als boolesche Datentypen (Literale) vorliegen. Im hier betrachteten Fall stammen die Daten aus einer DB2 Datenbank [6] und werden von SIRUP [41] mit entsprechenden Schnittstellen verfügbar gemacht. DB2 kann keine Skalentypinformation zu den einzelnen Attributen speichern. Daher liegen sämtliche Attributwerte in der Form von Strings (z.b. Varchar, Character,... ), als numerische Werte (z.b. Integer, Double, Decimal,... ), als Zeitformat (z.b. Data, Timestamp) oder als Lob 2 (z.b. Clob, Blob) vor. Auf den ersten Blick scheint es nahe liegend zu sein, alle Attribute, die in DB2 als numerische Werte abgespeichert sind, auch als solche für das Data Mining zu interpretieren. Für Attribute wie beispielsweise Einkommen zur Speicherung des jährlichen Salärs eines Mitarbeiters trit diese Annahme auch zu. Häug werden in einer Datenbank aber auch Attributwerte codiert gespeichert. Zum Beispiel kann in einer Relation, wie in Tabelle 3.2 dargestellt, ein numerisches Attribut Geschlecht vorliegen, dessen Werte wie folgt zu verstehen sind: 0 = männlich, 1 = weiblich, 2 = unbekannt. Ferner kann ein numerisches Attribut Region existieren, dessen Wertebereich 1, 2 und 3 ist und eine Fremdschlüsselbeziehung zu einer anderen Relation darstellt. Die Werte sind beispielsweise folgendermassen zu referenzieren: 1 = Deutschschweiz, 2 = Westschweiz und 3 = Tessin. In diesen beiden geschilderten Fällen ist die Annahme falsch, numerische Attribute einer Datenbank auch als solche für den Data Mining Prozess zu betrachten, da es sich offensichtlich um zwei nominale Attribute handelt. Beispielsweise kann der Mittelwert des Attributs Region von 1,75 nicht sinnvoll interpretiert werden. 2 Lob steht für Large Object.

48 36 Ermittlung charakteristischer Datensätze Mitarbeiter Geschlecht Funktion Region Einkommen (integer) (varchar) (integer) (integer) Vertreter 1 65'000 0 Aussendienst 2 80'000 1 Aussendienst 3 90'000 2 Sekretariat 1 55' Tabelle 3.2: Tabelle mit codiertem Attributwert. Die Werte des Attributs Region sind folgendermassen zu interpretieren: 1 = Deutschschweiz, 2 = Westschweiz und 3 = Tessin. Diejenige von Geschlecht: 0 = männlich, 1 = weiblich, 2 = unbekannt. Es handelt sich in beiden Fällen um nominale Attribute, obwohl sie als numerische Datentypen abgespeichert sind Datenkonvertierung Lediglich die Datentypen und Wertebereiche von Attributen zu kennen reicht also nicht immer aus, um erfolgreich Data Mining anwenden zu können. Es sind daher zusätzliche Informationen zu den Skalentypen notwendig, um keine falschen Annahmen treen zu müssen. SIRUP bietet zu diesem Zweck für jedes Attribut Metainformationen an. Diese enthalten unter anderem Angaben bezüglich des Skalentyps der einzelnen Attribute und werden von den SIRUPDatenanbietern erfasst. SIRUP unterscheidet folgende Skalen: ˆ Nominalskala ˆ Ordinalskala ˆ Intervallskala ˆ Verhältnisskala ˆ Absolutskala Wie in Abschnitt 2.6 kurz erwähnt, stehen in Weka die Datentypen Nominal (für kategorische Attribute), Numeric (für numerische Attribute), String (für beliebigen Text) und Date (für Datumswerte) zur Verfügung. Innerhalb dieser Typen wird keine weitere Unterscheidung nach unterschiedlichen Skalentypen gemacht. Die Konvertierung von SIRUPAttributen in WekaAttribute ist daher unweigerlich mit Informationsverlust behaftet. Tabelle 3.3 zeigt die Abbildung von SIRUPSkalentypen in WekaAttribute. 3 Natürlich macht es wenig Sinn, jedes SIRUPAttribut mit Nominal oder Ordinalskala bedingungslos in einen nominalen Datentyp von Weka zu konvertieren, um anschliessend für das Data Mining zu nutzen. Beispielsweise sind Primärschlüsselattribute nominal skaliert. Ihr Wert ist aber häug willkürlich gewählt (oder vom System generiert) und stellt in diesem Fall oensichtlich keinen systematischen Informationsgewinn dar. Daher sollten solche Attribute vor der Anwendung von Data Mining Algorithmen gelöscht werden. Primärschlüsselattribute erkennt man daran, dass sie nominal skaliert sind und die Anzahl unterschiedlicher Werte der Gesamtzahl Datensätze (Tupel) einer Tabelle entsprechen. 3 Die DB2 Datentypen Lob und Date werden nicht konvertiert, da sie später für die Data Mining Algorithmen ohnehin nicht verwendet werden können.

49 3.2 Allgemeine Datenaufbereitung 37 Abbildung von Skalentypen SIRUPSkalentyp Nominalskala Ordinalskala Intervallskala Verhältnisskala Absolutskala WekaAttribut Nominal Nominal Numeric Numeric Numeric Tabelle 3.3: Konvertierung von SIRUPSkalentypen in WekaAttribute. Weka fasst die Intervall, Verhältnis und Absolutskala zu einem einzigen Typ Numeric zusammen. Ebenfalls werden Nominal und Ordinalskala nicht unterschieden. Beide werden mit dem Typ Nominal repräsentiert. Ein anderes Beispiel von nutzlosen, nominal skalierten Attributen ist ein Merkmal Adresse zur Speicherung einer Wohnadresse (Strasse und Hausnummer). Im Gegensatz zum Primärschlüssel stellt dieses Merkmal zwar einen systematischen Zusammenhang mit den vorliegenden Daten dar, aber ein solches Attribut hat höchstwahrscheinlich einen sehr grossen Wertebereich. Im Extremfall wenn keine zwei Angestellte im selben Haus wohnen gibt es so viele unterschiedliche Ausprägungen wie Angestellte. Ein solches Attribut beinhaltet für Data Mining keine nutzbare Information, da die Werte zu stark streuen. Das andere Extrem ist ein Attribut ohne jegliche Varianz also eine Konstante, die für alle Datensätze denselben Wert annimmt. Auch ein solches Merkmal trägt keinen Informationsgewinn für das maschinelle Lernen bei und sollte während der Datenaufbereitung verworfen werden. Es gilt demnach das Verhältnis von Anzahl unterschiedlicher Attributwerte zu Anzahl Datensätze zu berücksichtigen, um zu entscheiden, welche Attribute verworfen und welche als nominal zu interpretieren sind. Gibt es beispielsweise in einem Datenbestand, bestehend aus 10'000 Datensätzen, ein Attribut Sektor mit drei unterschiedlichen Ausprägungen, dann beträgt das Verhältnis 3 / = 0,0003. Ein solches Attribut sollte sehr wohl als nominales aufgefasst und dementsprechend für Data Mining genutzt werden. Im selben Datenbestand ein Merkmal Beruf mit 9000 unterschiedlichen Ausprägungen weist ein Verhältnis von lediglich 0,9 auf. Daraus lässt sich im Sinne des maschinellen Lernens kein hilfreiches Wissen extrahieren. Die Grenze zwischen nominalen Merkmalen und Attributen zur Speicherung von beliebigem, unstrukturiertem Text ist also iessend. In der Implementierung der in Kürze vorgestellten Verfahren kann mittels eines Parameters der Schwellwert dieses Verhältnisses bestimmt werden. Wird beispielsweise als Schwellwert 0,25 gewählt, dann werden vor der Anwendung von Data Mining alle nominalen Attribute gelöscht, deren Verhältnis Anzahl unterschiedlicher Attributwerte zu Anzahl Datensätze über dem Wert 0,25 liegt. Die hier gemachten Überlegungen zur Datenaufbereitung sind allgemeiner Natur und unabhängig vom konkreten Data Mining Verfahren. Auf die spezische Datenaufbereitung, abhängig vom verwendeten Algorithmus, wird an entsprechender Stelle nochmals eingegangen.

50 38 Ermittlung charakteristischer Datensätze 3.3 Ermittlung charakteristischer Datensätze anhand von kmeans Gestützt auf den bislang gemachten Überlegungen zur Datenaufbereitung und zur De- nition von Repräsentativität wird nun ein Verfahren zur Ermittlung von charakteristischen Datensätzen vorgestellt, welches auf dem kmeans Clusteringalgorithmus aus Abschnitt beruht. Die Idee des hier entwickelten Verfahrens ist, die aufbereiteten Daten in eine möglichst gute Anzahl Cluster zu zerlegen, um anschliessend aus jedem Cluster eine anteilige Anzahl Repräsentanten als Vertreter dieser Gruppe zu bestimmen. Was unter aufbereiteten Daten, möglichst gute Anzahl Cluster und anteilige Anzahl Repräsentanten zu verstehen ist, wird im Laufe dieses Abschnitts erläutert Verwendete Distanzmasse Da kmeans auf dem Prinzip der Varianzminimierung beruht und zu diesem Zweck Abstände zwischen Objekten ermittelt werden gilt es nun ein Distanzmass zu denieren, welches zur Messung der Ähnlichkeit zwischen Datensätzen verwendet wird. In Abschnitt wurden einige gängige Distanzmasse erläutert. In dem hier vorgestellten Verfahren wird für numerische Attribute die für kmeans typische Euklidische Distanz verwendet, um die Ähnlichkeit zweier Instanzen zu messen, während für nominale Merkmale die Anzahl ungleicher Attributwerte genommen wird: Euklidische Distanz für numerische Attribute: dist(x, y) = (x 1 y 1 ) (x m y m ) 2 = m (x i y i ) 2 (3.1a) Anzahl ungleicher Werte für nominale Attribute: dist(x, y) = m δ(x i, y i ), mit δ(x i, y i ) = i=1 i=1 { 0 wenn (x i = y i ), 1 wenn (x i y i ). (3.1b) An dieser Stelle muss erwähnt werden, dass der ursprünglich in [34] vorgestellte kmeans Algorithmus skalare Eingabedaten voraussetzt, deren Distanzen sinnvoll interpretierbar sind. Diese Voraussetzung trit in diesem Fall nicht zu, da auch kategorische Attribute erlaubt sind. In diesem Sinne darf streng genommen nicht mehr von kmeans die Rede sein, da für kategorische Attribute keine Durchschnittswerte existieren und daher keine Clustermittelpunkte berechnet werden können. Mit kmodes [29] existiert allerdings ein Algorithmus, der sehr viele Analogien zu kmeans aufweist, aber für kategorische Attribute deniert ist. Anstelle des Clustermittelpunktes (Centroid) wird bei kmodes einfach der Modus (mode) eines Clusters berechnet. Dabei ist das Ziel des Clusterings weitgehend identisch wie bei kmeans, d.h. die Summe der Distanzen jedes Objekts zum Clustermodus soll minimiert werden, damit ein möglichst kompaktes Clustering entsteht. Als Distanzmass kommt in diesem Fall ein Mass für kategorische Attribute zur Anwendung. Durch die Kombination dieser Verfahren resultiert somit ein Algorithmus, der eine Mischung aus kmeans und kmodes darstellt und sowohl mit numerischen als auch kategorischen Attributen umgehen kann. Für numerische Attribute wird die Euklidische

51 3.3 Charakteristische Datensätze mittels kmeans 39 Distanz gemäss Formel 3.1a zur Bestimmung der Ähnlichkeit zweier Datensätze genommen, während für nominale Attribute die Abstände nach Formel 3.1b berechnet werden. Diese erweiterte Variante von kmeans ist ähnlich zum kprototype Algorithmus [30]. Korrekterweise darf bei dieser erweiterten Form von kmeans nicht mehr einfach von Clustermittelpunkten gesprochen werden, sondern von Clustermittelpunkten für numerische und Clustermodi für kategorische Attribute. Aus Gründen der leichteren Lesbarkeit ist im Folgenden aber weiterhin vom Clustermittelpunkt (oder Centroid) die Rede. Dabei ist, jeweils in Abhängigkeit des Kontexts, der Mittelpunkt oder der Modus gemeint. Ferner ist im weiteren Verlauf dieser Arbeit mit kmeans immer diese erweiterte Variante gemeint, die sowohl mit numerischen als auch kategorischen Attributen umgehen kann Normalisierung numerischer Attribute Die Notwendigkeit einer guten Datenaufbereitung wurde bereits mehrmals erwähnt. Da bei kmeans Distanzen zwischen Objekten ermittelt werden, hängt dieses Verfahren stark von der Skalierung der Daten ab. Um eine ungewollte Gewichtung der numerischen Attribute bei der Berechnung der Euklidischen Distanz zu vermeiden, ist während der Datenaufbereitung eine Transformation der numerischen Werte notwendig. In dem hier vorgestellten Verfahren kommt als Normalisierung eine lineare Skalierung nach [37] zum Einsatz. Jedes numerische Attribut wird normalisiert, indem sämtliche Werte (v 1,..., v n ) gemäss folgender Formel zu (v 1,..., v n) transformiert werden: v i = v i min(v 1,..., v n ) max(v 1,..., v n ) min(v 1,..., v n ) (3.2) Dabei entspricht n der Anzahl Attributwertausprägungen des entsprechenden numerischen Attributs. Durch den Term max(v 1,..., v n ) min(v 1,..., v n ) im Nenner wird erreicht, dass der Wertebereich nach der Normalisierung im Intervall von 0 bis 1 liegt. Ein grosser Vorteil dieser Normalisierungsmethode ist, dass sie keine Verzerrung der Wertverteilung mit sich bringt. Jegliche in den Originaldaten enthaltene Information bleibt in den normalisierten Werten unverfälscht enthalten. Diese Methode funktioniert aber nur, wenn die Minimal und Maximalwerte aller numerischen Attribute zum Zeitpunkt der Normalisierung bekannt sind. Wird beispielsweise die Normalisierungsfunktion aus 3.2 anhand einer Teilmenge des Gesamtdatenbestandes ermittelt, dann kann dies zur Folge haben, dass die gefundenen Extremalwerte nicht dem globalen Minimum respektive Maximum entsprechen. Wenn zu einem späteren Zeitpunkt neue Daten zum Normalisieren hinzukommen, dann kann es sein, dass die transformierten Werte aus dem Intervall von 0 bis 1 fallen. Dieser geschilderte Fall tritt vor allem in Data Mining Anwendungen auf, wo anhand existierender Daten ein Modell gebildet wird, um später auf neuen Daten eine Aussage aufgrund des existierenden Modells zu machen. Da in dem hier vorgestellten Anwendungsbereich die gesamte Datenmenge zum Zeitpunkt der Datenaufbereitung bekannt ist und zu einem späteren Zeitpunkt keine neuen Daten für das existierende Modell hinzukommen, stellt dieser Umstand kein Problem dar. Bedingt durch die Normalisierung und die verwendeten Distanzmasse aus dem vorherigen Abschnitt trägt nun jedes einzelne Attribut (egal ob nominal oder numerisch) einen Distanzbetrag zwischen 0 und 1 zum Gesamtabstand zweier Datensätze bei. Somit liegt der Wertebereich des Abstands zwischen zwei Datensätzen mit m Attributen im Intervall von 0 bis m. Je näher die Attributwerte zweier verschiedener Datensätze beieinander

52 40 Ermittlung charakteristischer Datensätze liegen, desto kleiner wird die Distanz und desto ähnlicher sind demnach die Objekte. Im Extremfall wenn die zwei Datensätze für alle Attribute identische Werte haben beträgt der Abstand 0 und die Objekte sind gleich. Das andere Extrem wenn sämtliche Attribute maximal verschieden sind resultiert als Distanz der Wert m, womit sich die Objekte um den maximal möglichen Betrag unterscheiden. Ein anschauliches Beispiel zur Illustration der Notwendigkeit einer Normalisierung für die Bestimmung von Distanzen zwischen Datensätzen ist in Tabelle 3.4 zu sehen. In 3.4(a) sind vier Personen mit Angaben zu Körpergrösse und Gewicht aufgelistet. Zu beachten ist dabei die unterschiedliche Skalierung der Attribute. Während die Angaben zur Körpergrösse in Zentimeter gespeichert sind, wird das Gewicht in Gramm angegeben. Wenn man anhand dieser Daten die Dierenz und somit im Sinne eines Clusterings die Ähnlichkeit zweier Personen berechnet, so erhält man die in 3.4(b) berechneten Werte. Zur Ermittlung dieser Abstände wurde das im vorherigen Abschnitt erwähnte Euklidische Distanzmass verwendet. Die ermittelte Distanz zwischen der Person Müller und Meier berechnet sich demnach wie folgt: ( ) 2 + ( ) 2 = 1000, 002. Es ist ersichtlich, dass ohne Normierung der Attribute der Abstand zwischen Meier und Hauser am höchsten ausfällt. Nun normalisieren wir die numerischen Attribute mittels der linearen Skalierung aus Formel 3.2. Es resultieren die transformierten Daten gemäss Tabelle 3.4(c). Die normalisierte Körpergrösse von Hauser berechnet sich beispielsweise so: ( )/( ) = 0, 815. Wenn wir nun, analog zum vorherigen Fall, die Abstände zwischen zwei Personen auf den normalisierten Daten berechnen, dann erhalten wir die Werte aus 3.4(d). Durch die Normalisierung werden nun beide numerischen Attribute gleich stark gewichtet. Dies hat zur Folge, dass die Dierenz zwischen Meier und Keller und nicht mehr zwischen Meier und Hauser am höchsten ausfällt. Dieses Resultat scheint auch den wahren Gegebenheiten eher zu entsprechen; denn der Grössenunterschied von 27 cm (bei 1,5 kg Gewichtsdierenz) ist wohl markanter einzuschätzen als der Grössenunterschied von 5 cm (bei 2 kg Gewichtsdierenz) Ermittlung der geeigneten Anzahl Cluster Nachdem die Daten aufbereitet wurden und nun auch ein Distanzmass zur Bestimmung der Abstände zwischen Datensätzen deniert ist, kann das Clustering nach dem varianzminimierenden Algorithmus kmeans erfolgen. Wir erinnern uns aus Abschnitt an die Tatsache, dass für den kmeans Algorithmus die Anzahl zu bildender Cluster vorgängig als Parameter zu spezizieren ist. Da in unserem Fall die Daten aus beliebigen Anwendungsbereichen und Datenquellen stammen, kann dieser Parameter nicht als gegeben betrachtet werden, sofern man die Güte des resultierenden Clusterings nicht dem Zufall überlassen möchte. Es macht auch wenig Sinn, vom Benutzer die Anzahl zu generierender Cluster als Eingabeparameter zu verlangen, da wir ein möglichst allgemeingültiges und automatisiertes Verfahren zum Aunden von charakteristischen Datensätzen anstreben. Zudem ist diese Information den meisten Benutzern nicht bekannt, da sie die zugrunde liegende Struktur in den Daten nicht kennen. Genau aus diesem Grund möchten sie auch Repräsentanten eines Datenbestandes präsentiert bekommen. Um ein möglichst gutes Clustering für unterschiedliche Datenbestände sicherzustellen, ist eine automatisierte Methode erforderlich, mit der eine geeignete Anzahl Cluster bestimmt

53 3.3 Charakteristische Datensätze mittels kmeans 41 Originale Daten Name Grösse Gewicht (ID) (in cm) (in g) Müller '000 Meier '000 Hauser '000 Keller '500 (a) Originale Attributwerte Normalisierte Daten Name Grösse Gewicht (ID) (skaliert) (skaliert) Müller 0,926 0,5 Meier 1,0 1,0 Hauser 0,815 0,0 Keller 0,0 0,25 (c) Normalisierte Attributwerte Namen (ID's) Originale Abstände Distanz (dimensionslos) Müller Meier 1000,002 Müller Hauser 1000,013 Müller Keller 500,625 Meier Hauser 2000,006 Meier Keller 1500,243 Hauser Keller 500,484 (b) Euklidische Abstände basierend auf den originalen Attributwerten Namen (ID's) Normalisierte Abstände Distanz (dimensionslos) Müller Meier 0,505 Müller Hauser 0,512 Müller Keller 0,959 Meier Hauser 1,017 Meier Keller 1,250 Hauser Keller 0,852 (d) Euklidische Abstände basierend auf den normalisierten Attributwerten Tabelle 3.4: Einuss der Skalierung bei der Ermittlung von Distanzen zwischen Datensätzen. Um alle numerischen Attribute gleich stark zu gewichten ist eine Normalisierung der Wertebereiche von Nöten. Als Distanzmass wird die Euklidische Distanz aus Formel 3.1a (Seite 38) verwendet. werden kann. Gemäss [20] ist eine oft angewendete Vorgehensweise die folgende: 1. Bestimme für k = 2,..., n 1 jeweils eine Partitionierung gemäss dem angewendeten Clusteringverfahren. 2. Wähle danach aus der Menge der Ergebnisse das beste Clustering aus. Dazu wird allerdings ein Mass für die Güte eines Clusterings benötigt, welches unabhängig von der Anzahl Cluster k ist. Wir erinnern uns, dass für eine gegebene Anzahl Cluster die Kompaktheit (und somit die Güte) eines varianzminimierenden Clusterings mit der Summe der quadrierten Distanzen jedes Punktes zum Centroid seines Clusters gemessen wird (siehe Formel 2.7 auf Seite 22). Dieses Mass ist bezüglich verschiedener Werte von k allerdings ungeeignet. Die quadrierten Distanzen werden zwangsläug kleiner, je grösser der Wert von k ist. Das liegt daran, dass die Abstände von Objekten zu ihren Clustermittelpunkten umso kleiner werden, je mehr Cluster vorhanden sind. Im Extremfall wenn die Anzahl Cluster k der Anzahl Datensätze n entspricht repräsentiert jedes Objekt einen eigenen Cluster und ist somit gleichzeitig sein eigener Clustermittelpunkt. Die Summe der quadrierten Distanzen jedes Punktes zum Centroid seines Clusters beträgt in diesem Fall 0. Ein geeignetes Mass für das kmeans Verfahren ist der so genannte Silhouettenkoe-

54 42 Ermittlung charakteristischer Datensätze zient [31] eines Clusterings. Dazu werden verallgemeinerte Abstände folgendermassen deniert: Sei C M = {C 1,..., C k } die Menge aller Cluster in einer Menge von Objekten O, wobei C C M und o C. Dann ist der durchschnittliche Abstand des Objekts o zu einem beliebigen Cluster C i C M gegeben durch: dist(o, C i ) = dist(o, p) 1 C i p Ci Daraus denieren wir a(o) und b(o) wie folgt: a(o) = dist(o, C) b(o) = min Ci C M,C i Cdist(o, C i ) a(o) bezeichnet somit den durchschnittlichen Abstand des Objekts o zu seinem Cluster C, während b(o) den durchschnittlichen Abstand des Objekts o zum Nachbarcluster misst d.h. zu dem Cluster, dem o zugeordnet würde, wenn es seinen Cluster nicht gäbe. Anhand der beiden Abstände a(o) und b(o) kann nun die Silhouette s(o) eines Objekts o C deniert werden: { 0 wenn C = 1, d.h. a(o) = 0, s(o) = b(o) a(o) max{a(o),b(o)} sonst. Für die Silhouette eines Objekts o gilt: 1 s(o) 1. Sie ist ein Mass dafür, wie gut die Zuordnung des Objekts o zu seinem Cluster C ist. Die Werte s(o) sind folgendermassen zu interpretieren: ˆ s(o) 0, d.h. a(o) b(o): o liegt ungefähr zwischen seinem eigenen und dem Nachbarcluster. ˆ s(o) 1, d.h. a(o) < b(o): o liegt näher beim eigenen Cluster und ist gut klassiziert. ˆ s(o) 1, d.h. a(o) > b(o): o liegt näher beim Nachbarcluster und ist schlecht klassiziert. Je grösser der Wert s(o), desto besser ist die Zuordnung des Objekts o zu seinem Cluster. Der durchschnittliche Wert der Silhouetten s(o) aller Objekte o eines Clusters C kann somit als Mass für die Güte des Clusters aufgefasst werden. Dieser Wert wird auch Silhouettenweite genannt und wird wie folgt ermittelt: ( ) s(c) = s(o) o C Berechnet man die Silhouettenweite für alle Cluster C i C M und summiert diese Werte, dann erhält man schliesslich den Silhouettenkoezient des Clusterings C M : s(c M ) = s(p) 1 O p C i C i C M Der Silhouettenkoezient ist ein Mass für die Güte eines Clusterings, welches unabhängig von der Anzahl k der Cluster ist. Je grösser also der Wert s(c M ), desto besser ist das Clustering. Kaufmann & Rousseeuw [31] schlagen folgende Interpretation des Silhouettenkoezienten vor: 1 C

55 3.3 Charakteristische Datensätze mittels kmeans 43 ˆ 0, 70 < s(c M ) 1, 00: starke Clusterstruktur ˆ 0, 50 < s(c M ) 0, 70: brauchbare Clusterstruktur ˆ 0, 25 < s(c M ) 0, 50: schwache Clusterstruktur ˆ s(c M ) < 0, 25: keine Clusterstruktur Ein Nachteil dieser Methode ist die Laufzeit. Da für jedes Objekt o O die Distanz zu allen anderen Objekten q O (mit q o) berechnet werden muss, ist die Laufzeit pro Clustering C M von der Ordnung O(n 2 ). Da diese Berechnung theoretisch für alle möglichen Anzahl Cluster k (k = 2,..., n 1) ausgeführt wird, beträgt die Laufzeitkomplexität sogar O(n 3 ). In der konkreten Implementierung des hier vorgestellten Verfahrens ist die zu ermittelnde Anzahl Cluster k auf den Bereich zwischen 2 und 10 beschränkt. Im Sinne des Silhouettenkoezienten ist damit nicht garantiert, dass das beste k gefunden wird. Da wir später aus den Clustern eine bestimmte Anzahl Repräsentanten ermitteln werden, die im Allgemeinen ziemlich klein ist, scheint diese Einschränkung auf maximal zehn Cluster aber vernünftig. Bei mehr Clustern wird es schwierig zu entscheiden, welche Cluster nun welchen Beitrag an charakteristischen Datensätzen zu liefern haben Optimierung durch wiederholtes Clustering Im Prinzip haben wir mit ˆ der Datenaufbereitung (Normalisierung von numerischen Attributen, Konvertierung von textuellen Attributen mit wenig unterschiedlichen Werten in nominale Attribute), ˆ der Denition des zu verwendenden Distanzmasses für die Varianzminimierung und ˆ dem Silhouettenkoezienten zur Ermittlung einer geeigneten Anzahl Cluster alle Schritte gemacht, die für eine Erfolg versprechende Anwendung des kmeans Algorithmus unabdingbar sind. Allerdings erinnern wir uns aus Abschnitt (Seite 23) an die Tatsache, dass der kmeans Algorithmus von der Reihenfolge der Instanzen abhängt. Dies folgt aus dem Umstand, dass in den einzelnen Iterationen nur lokal optimiert wird und daher das Resultat des Clusterings sehr abhängig vom ersten Schritt dem initialen Clustering ist. Aus der Statistik ist bekannt, dass bei wiederholtem Ziehen von Stichproben aus einer Datenmenge der Mittelwert der Stichproben auf natürliche Weise zum wahren Mittelwert konvergiert [21]. Diese Tatsache wird genutzt, indem der kmeans Algorithmus für eine gegebene Anzahl Cluster k mehrere Male, jeweils mit einer zufälligen Wahl der initialen Clustermittelpunkte, angewendet wird. Von den resultierenden, unterschiedlichen Partitionierungen wird diejenige behalten, welche die grösste Kompaktheit hat also die Summe der quadrierten Distanzen jedes Punktes zum Centroid seines Clusters am kleinsten ist. Somit kann für einen gegebenen Wert k eine gute (kompakte) Aufteilung der Daten in k Cluster ermittelt werden. Anhand des vorhin beschriebenen Silhouettenkoezienten wird nun dasjenige Clustering ausgewählt, welches den Wert des Koezienten maximiert. In Quellcode 3.1 ist der beschriebene Algorithmus zur Ermittlung des besten Clusterings in JavaSyntax abgebildet.

56 44 Ermittlung charakteristischer Datensätze public KMeans getbestkmeans ( int maxnumofclusters, int numofiterations, Instances data ) { KMeans bestkmeans ; double b e s t S i l h o u e t t e C o e f f = 0. 0 ; // p a r t i t i o n the data in k c l u s t e r s for ( int k = 2 ; k <= maxnumofclusters ; k++) { KMeans kmeansleasterror = new KMeans ( ) ; Random random = new Random(100); double l e a s t E r r o r = Double.MAX_VALUE; // determine f o r a g iven k a compact c l u s t e r i n g // ( one with a small squared e r r o r ) for ( int i = 0 ; i < numofiterations ; i ++) { KMeans kmeans = new KMeans ( ) ; kmeans. setseed ( random. nextint ( ) ) ; kmeans. setnumclusters ( k ) ; kmeans. b u i l d C l u s t e r e r ( data ) ; Double squarederror = kmeans. getsquarederror ( ) ; i f ( squarederror < l e a s t E r r o r ) { l e a s t E r r o r = squarederror ; kmeansleasterror = kmeans ; } } // the s i l h o u e t t e c o e f f i c i e n t f o r the most // compact c l u s t e r i n g found f o r the a c t u a l k double s i l h o u e t t e C o e f f = kmeansleasterror. g e t S i l h o u e t t e C o e f f i c i e n t ( ) ; i f ( s i l h o u e t C o e f f > b e s t S i l h o u e t t e C o e f f ) { bestcoeff = s i l h o u e t C o e f f ; bestkmeans = kmeansleasterror ; } } return bestkmeans ; } Quellcode 3.1: Algorithmus zur Ermittlung des besten kmeans Clusterings. Die innere Schleife veranlasst das Clustering der Daten in k Cluster mit zufälliger Reihenfolge der Daten. Dies wird numofiterations mal wiederholt, jeweils mit einer anderen Zufallsreihenfolge. Die äussere Schleife iteriert über den Bereich der betrachteten Anzahl Cluster k und berechnet für das beste (kompakteste) gefundene Clustering je k (von der inneren Schleife ermittelt) den Silhouettenkoezient. Das Clustering mit dem höchsten Silhouettenkoezient wird zurückgeliefert. Aus Gründen der Reproduzierbarkeit der Resultate wird der Zufallszahlengenerator immer mit dem Wert (seed) 100 initialisiert.

57 3.3 Charakteristische Datensätze mittels kmeans Ermittlung der anteiligen Repräsentantenzahl je Cluster Der Grundstein für die Ermittlung von charakteristischen Datensätzen ist mit dem Clustering des Datenbestandes gelegt. Nun gilt es zu ermitteln, welche Cluster wie viele Repräsentanten zum Gesamtergebnis beitragen. Diese Anzahl je Cluster wird von nun an anteilige Repräsentantenzahl oder auch anteilige Anzahl Repräsentanten genannt. Um diese Frage zu beantworten, rufen wir uns nochmals in Erinnerung, was gemäss Abschnitt 3.1 unter charakteristischen Datensätzen zu verstehen ist: Die Menge der k Repräsentanten sollte einerseits möglichst viel Information des Gesamtdatenbestandes beinhalten und gleichzeitig die Informationsverteilung des Gesamtdatenbestandes möglichst exakt wiedergeben. Aufgrund der Tatsache, dass bei einem partitionierenden Clustering die Datenmenge so in Cluster eingeteilt wird, dass Objekte im gleichen Cluster möglichst ähnlich und Objekte aus verschiedenen Clustern möglichst unähnlich zueinander sind, wird folgende Behauptung aufgestellt: Wenn aus jedem Cluster ein relativer Anteil charakteristischer Datensätze entsprechend der jeweiligen Clustergrösse (Anzahl Instanzen in diesem Cluster) entnommen wird, dann widerspiegelt die Informationsverteilung der repräsentativen Menge die Gegebenheiten des gesamten Datenbestandes möglichst gut. Damit ist gemeint, dass grosse Cluster mehr Datensätze zur repräsentativen Menge beitragen wie kleine Cluster. Wenn beispielsweise aus jedem Cluster, ohne Berücksichtigung der Clustergrösse, eine xe Anzahl charakteristischer Datensätze dieses Clusters entnommen wird, dann sind in der Menge der Repräsentanten Minderheiten zu stark vertreten. Diese Behauptung wird weiter hinten mit Tests empirisch untermauert. Um also die Clustergrössen bei der Ermittlung der Repräsentanten angemessen zu berücksichtigen, wird für jeden Cluster C i seine anteilige Anzahl Repräsentanten k Ci, die er zur totalen Anzahl Repräsentanten k beiträgt, folgendermassen berechnet: k Ci = k n C i, wobei C i = n und k Ci = k (3.3) Dabei bezeichnet C i die Anzahl Datensätze, die dem Cluster C i zugeordnet sind (Clustergrösse), während n der totalen Anzahl Datensätze im Datenbestand entspricht. Da der kmeans Algorithmus ein partitionierendes Clusteringverfahren ist, wird jeder Datensatz genau einem Cluster zugeordnet. Daher beträgt die Summe der einzelnen Clustergrössen C i der totalen Anzahl Datensätze n des Datenbestandes: C i = n. Daraus folgt, dass die Summe der anteiligen Anzahl Repräsentanten je Cluster k Ci der totalen Anzahl Repräsentanten k entsprechen muss: k Ci = k. Allerdings birgt die Formel 3.3 das Problem, dass sie für die anteilige Repräsentantenzahl k Ci im Allgemeinen keinen ganzzahligen Wert liefert. Da ein Cluster nur eine ganzzahlige Anzahl charakteristischer Datensätze zum Gesamtergebnis beisteuern kann, müssen die Anteile k Ci entsprechend gerundet werden. Wenn aber jeder einzelne Wert einfach auf die nächste Ganzzahl auf- oder abgerundet wird, dann kann es vorkommen, dass die Summe von k Ci nicht mehr der gewünschten Anzahl k entspricht. Diese Problematik sei anhand des folgenden Beispiels illustriert: Wir gehen von einem beliebigen Datenbestand im Umfang von 65 Datensätzen aus (also n = 65), der anhand des kmeans Algorithmus in vier Cluster (C 1,..., C 4 ) zerlegt wurde. Den einzelnen Cluster sind jeweils 30, 20, 10 respektive 5 Datensätze zugeordnet ( C 1 = 30,..., C 4 = 5). Dieser geschilderte Sachverhalt ist in Tabelle 3.5(a) ersichtlich.

58 46 Ermittlung charakteristischer Datensätze Anteilige Anzahl Repräsentanten je Cluster (1) Cluster Clustergrösse Anteilige Anzahl Anteilige Anzahl C i C i Repräsentanten Repräsentanten k Ci (für k = 3) (gerundet) , , , ,23 0 T otal 65 3,00 2 (a) Rundungsproblem bei der Ermittlung zur anteiligen Anzahl Repräsentanten. Die Summe der gerundeten Werte k Ci stimmt nicht mit der Summe der exakten Werte überein. Anteilige Anzahl Repräsentanten je Cluster (2) Anteilige Anzahl Vorherige Anteilige Anzahl Neue Repräsentanten Rundungs- Repräsentanten Rundungsk Ci (für k = 3) dierenz (gerundet) dierenz 1,38 0,00 1 0,38 0,93 0,38 1 0,31 0,46 0,31 1 0,23 0,23 0,23 0 0,00 T otal 3,00 3 (b) Wenn die angefallene Rundungsdierenz von k Ci in die neue Berechnung von k Ci+1 übertragen wird, dann stimmen die Summen von den exakt ermittelten und den gerundeten k Ci zum Schluss überein. Tabelle 3.5: Rundungsproblem bei der Ermittlung zur anteiligen Repräsentantenzahl je Cluster. Um sicherzustellen, dass die gewünschte Anzahl Repräsentanten ermittelt wird, muss zur Berechnung der anteiligen Anzahl Repräsentanten die Rundungsdierenz berücksichtigt werden. Hier an einem Beispiel für k = 3 illustriert. Möchten wir nun drei Repräsentanten aus diesem Datenbestand ermitteln (also k = 3), dann trägt gemäss Formel 3.3 der erste Cluster 1,38 (= k n C 1 = ) Repräsentanten zur Gesamtzahl bei. Diese berechneten Werte von k Ci pro Cluster sind in der dritten Tabellenspalte zu sehen. Da von einem Cluster aber nicht 1,38 Repräsentanten entnommen werden können, werden die Werte ganzzahlig gerundet, was zu den Werten in der letzten Spalte führt. Die Summe der anteiligen Anzahl Repräsentanten muss natürlich wieder dem Gesamtwert k entsprechen. Wie in der untersten Zeile von Tabelle 3.5(a) zu sehen ist, trit dies für die exakten Werte von k Ci auch zu. Durch die unglückliche Abrundung bei drei von vier Clustern, wird in unserem Beispiel jedoch ein Repräsentant zu wenig ermittelt. Um diesem Rundungsproblem bei der Ermittlung der anteiligen Repräsentantenzahl Abhilfe zu schaen, wird die Rundungsdierenz beim Wert k Ci jeweils bei der Berechnung des nächsten Wertes k Ci+1 berücksichtigt. Dies erfolgt dadurch, indem zum Wert k Ci+1 die angefallene Dierenz bei der Rundung von k Ci addiert wird, bevor man den Wert auf die nächste ganze Zahl rundet. In Tabelle 3.5(b) ist dieser Prozess ersichtlich. Für den ersten Cluster kann der Wert für

59 3.3 Charakteristische Datensätze mittels kmeans 47 die anteilige Anzahl Repräsentanten normal berechnet werden. Wie wir bereits weiter oben gesehen haben, resultiert in diesem Fall k C1 = 1, 38. Im Unterschied zu vorher addieren wir nun die Rundungsdierenz von 0,38 zum Resultat der nächsten Berechnung: k C2 = 0, 93, k C2 + 0, 38 = 1, 31. Erst der Wert 1, 31 wird gerundet, was zu einer neuen Rundungsdierenz von 0, 31 führt. Wenn man nach diesem Prozedere fortfährt, dann resultiert nach der letzten Berechnung eine Rundungsdierenz von 0. Somit ist garantiert, dass die gerundete Repräsentantenzahl der ungerundeten Repräsentantenzahl entspricht Auswahl der anteiligen Repräsentanten aus den Clustern Da wir jetzt wissen, wie viele Repräsentanten jeder Cluster zum Gesamtergebnis beiträgt, stellt sich nun die Frage, welche Datensätze innerhalb der Cluster eektiv ausgewählt werden. Kurz gesagt bestimmen folgende zwei Kriterien, ob ein Datensatz als typischer Vertreter seines Clusters zur Diskussion steht: ˆ Distanz zum Clustermittelpunkt ˆ Distanz zu bereits ausgewählten Repräsentanten dieses Clusters Einerseits wird also angestrebt, dass ein typischer Datensatz möglichst nahe beim Clustermittelpunkt liegt. Somit wird sichergestellt, dass als Repräsentanten nur typische Vertreter dieses Clusters in Frage kommen. Die Wahrscheinlichkeit, einen untypischen Ausreisser auszuwählen, beschränkt sich daher auf ein Minimum. Andererseits wird bei den Selektionskriterien gleichzeitig versucht, den Abstand zu bereits ausgewählten Repräsentanten dieses Clusters zu maximieren. Etwas bildlich gesprochen wird somit erreicht, dass sich die auserwählten k Ci Instanzen eines Clusters gleichmässig um den Mittelpunkt verteilen. Somit ist auch eine gewisse Diversität innerhalb der charakteristischen Datensätze gewährleistet eine Notwendigkeit, um möglichst viel Information des Gesamtdatenbestandes zu repräsentieren. Um diese beiden Kriterien quantitativ erfassbar zu machen, wird eine Funktion V (d i ) deniert. Sie liefert den repräsentativen Wert eines Datensatzes d i in Abhängigkeit seiner Entfernung zum Clustermittelpunkt und der Entfernung zu bereits gewählten Repräsentanten dieses Clusters: r R V (d i ) = α C dist(d i, r) dist(d i, µ C ) max (3.4) R C Der Term dist(d i, µ C ) gibt die Entfernung des betrachteten Datensatzes d i zu seinem P Clustermittelpunkt µ C an. Der Ausdruck R C misst die durchschnittliche Distanz von d i zu den bereits auserwählten Repräsentanten R C dieses Clusters. In beiden Termen wird mit denselben Distanzmassen gemessen, die bereits für das Clustering der Datenmenge zur Anwendung kamen (siehe Abschnitt 3.3.1). α ist ein Diversitätfaktor. Anhand dieses Faktors kann der durchschnittlichen Distanz zu den anderen Repräsentanten eine andere Gewichtung zur Bestimmung des repräsentativen Wertes beigemessen werden, wie der Distanz zum Clustermittelpunkt. r R C dist(d i,r) Das Ziel ist nun, denjenigen Datensatz d i aus Cluster C als Repräsentanten zu wählen, der den repräsentativen Wert V (d i ) maximiert. Dieses Vorgehen wird solange wiederholt, bis k C typische Datensätze des entsprechenden Clusters bestimmt sind. Anschliessend wird das Verfahren für die verbleibenden Cluster analog angewendet.

60 48 Ermittlung charakteristischer Datensätze Bei der Berechnung des repräsentativen Wertes und somit bei der Wahl der charakteristischen Datensätze hat der Diversitätfaktor α einen massgeblichen Einuss. Die Werte von α sind dabei wie folgt zu interpretieren: α = 0: Die Entfernung zu bereits existierenden Repräsentanten dieses Clusters wird bei der Wahl des nächsten typischen Datensatzes dieser Gruppe nicht berücksichtigt. Somit werden diejenigen k C Instanzen ausgewählt, die am nächsten beim Clustermittelpunkt µ C liegen. Die Diversität innerhalb der Menge der Repräsentanten beschränkt sich auf ein Minimum. α 1: Die durchschnittliche Entfernung zu bereits ausgewählten Repräsentanten des Clusters wird bei der Wahl des nächsten typischen Datensatzes dieser Gruppe in etwa gleich stark gewichtet, wie die Entfernung zum Clustermittelpunkt. α > 1: Bei der Wahl des nächsten typischen Datensatzes wird der durchschnittlichen Entfernung zu den bereits existierenden Repräsentanten des Clusters mehr Beachtung geschenkt, als der Distanz zum Clustermittelpunkt. Somit streuen die k C auserwählten Repräsentanten stärker um den Clustermittelpunkt als für kleine Werte von α. Wird der Wert für α zu gross angesetzt, dann werden Ausreisser des Clusters als typische Datensätze gewählt. In Quellcode 3.2 ist der Algorithmus des in diesem Abschnitt beschriebenen Verfahrens zur Wahl der repräsentativen Datensätze in JavaSyntax aufgeführt Zurück zu einem bekannten Beispiel Nun ist alles erarbeitet, was zur Ermittlung von typischen Datensätzen mittels kmeans nötig ist. Fassen wir kurz zusammen, welche Schritte bis hierhin angefallen sind: 1. Datenaufbereitung (Erkennung und Konvertierung von kategorischen Attributen, Normalisierung numerischer Attribute) 2. Festlegung eines Distanzmasses 3. Ermittlung der richtigen Anzahl Cluster für die Partitionierung der Datenmenge 4. Finden eines guten Clusterings durch mehrmaliges Ausführen des Algorithmus (weil kmeans reihenfolgenabhängig ist) 5. Aufteilung der Anzahl gewünschter Repräsentanten k auf die verschiedenen Cluster 6. Bestimmung der k C Repräsentanten je Cluster Um die Funktionstüchtigkeit dieses Verfahrens an einem kleinen Beispiel zu illustrieren, rufen wir uns den Datenbestand von Tabelle 3.1 (Seite 33) in Erinnerung. Wir wollen nun den entwickelten Algorithmus für verschiedene Werte von k auf diesem Datenbestand anwenden, um anschliessend die erhaltenen Ergebnisse mit den erwarteten zu vergleichen. Welche Repräsentanten für verschiedene Werte von k erwartet werden, wurde in Abschnitt besprochen. Nach Anwendung der Schritte 1 bis 4 hat das Verfahren für diesen Datenbestand eine optimale Anzahl Cluster von drei ermittelt (in Tabelle 3.6(b) ersichtlich) und die Datensätze den jeweiligen Clustern zugeordnet (letzt Spalte der Tabelle 3.6(a)). Nun werden für k = 1,..., 12 die charakteristischen Datensätze gemäss Schritt 5 und 6 ermittelt. Die Tupel sind nach ihrer Wahl zum Repräsentanten (erste Spalte) aufgelistet. D.h. der oberste

61 3.3 Charakteristische Datensätze mittels kmeans 49 double alpha = ; public Representatives getrepresentatives ( Clustering c l u s t ) { Representatives allreps = new Representatives ( ) ; Representatives clusterreps = new Representatives ( ) ; for ( Cluster c : c l u s t ) { clusterreps = getrepsforcluster ( c ) ; allreps. addall ( clusterreps ) ; } return allreps ; } private Representatives getrepsforcluster ( Cluster c l u s t e r ) { Representatives reps = new Representatives ( ) ; for ( int i = 1 ; i <= c l u s t e r. numofrepfraction ; i++) { double highestvalue = Double.NEGATIVE_INFINITY; Instance bestinstance ; for ( Instance candidate : c l u s t e r ) { i f (! reps. contains ( candidate ) ) { double repvalue = calculaterepvalue ( candidate, reps, c l u s t e r ) ; i f ( repvalue > highestvalue ) { highestvalue = repvalue ; bestinstance = candidate ; } } } reps. add ( bestinstance ) ; } return reps ; } private calculaterepvalue ( Instance inst, Representatives alreadyreps, Cluster c l u s t e r ) { double disttocentroid = c l u s t e r. c a l c u l a t e D i s t ( inst, c l u s t e r. centroid ) ; i f ( alreadyreps. g e t S i z e ( ) = = 0) { return ( disttocentroid * ( 1)); } double disttootherreps = 0. 0 ; for ( Instance repinst : alreadyreps ) { disttootherreps = disttootherreps + c l u s t e r. c a l c u l a t e D i s t ( inst, r epinst ) ; } double avgdist = disttootherreps / alreadyreps. g e t S i z e ( ) ; return ( alpha * avgdist disttocentroid ) ; } Quellcode 3.2: Algorithmus zur Ermittlung von repräsentativen Datensätzen anhand des kmeans Verfahrens. In der Implementierung wird als Standardwert des Diversitätfaktors α der Wert 0,75 gewählt.

62 50 Ermittlung charakteristischer Datensätze Eintrag wird vom Algorithmus als typischster Datensatz (k = 1) angesehen, gefolgt vom Eintrag an zweiter Stelle (für k = 2) und so weiter. Wenn wir diese algorithmisch ermittelten Repräsentanten mit den vom Menschen erwarteten Ergebnissen aus Abschnitt vergleichen, fällt die Übereinstimmung sehr gut aus. Die ersten beiden Datensätze werden vom Algorithmus und vom Menschen identisch gewählt. Beim dritten Repräsentant stellt sich dann die Frage, ob wirklich bereits eine Person aus dem Sektor Dienstleistung als typischer Datensatz ausgewählt werden soll. Diese Diskussion wurde ja bereits in Abschnitt geführt. In solchen Fällen kann zu einem gewissen Grad mit dem Diversitätfaktor α Einuss genommen werden. Wie wir wissen, wird mit einem höher angesetzten α erreicht, dass die Unähnlichkeit (Distanz) zu bereits gewählten Instanzen eines Clusters stärker gewichtet wird, wenn es um die Wahl des nächsten typischen Datensatzes dieses Clusters geht. Allerdings lässt sich in diesem Fall auch mit einer Erhöhung von α nicht vermeiden, dass ein Datensatz mit der Eigenschaft Dienstleistung in der Menge von drei Repräsentanten vorkommt. Dies rührt daher, weil die beiden Personen aus dem Sektor Dienstleistung einem eigenen Cluster C 1 zugeordnet sind. Der Algorithmus zur Ermittlung der anteiligen Anzahl Repräsentanten ergibt in unserem Fall (für k = 3) den ungerundeten Wert k C1 = 0, 5 ( ). Da es sich um den ersten Cluster handelt, gibt es keine Rundungsdierenzen von vorherigen Berechnungen. Somit wird der Wert k C1 auf 1 aufgerundet, womit dieser Cluster, unabhängig des Wertes von α, einen Repräsentanten zum Gesamtergebnis beiträgt. In unserem Beispiel bewirkt eine Erhöhung des Diversitätfaktors auf einen Wert grösser als 1 aber, dass die Tupel mit ID = 12 (respektive ID = 5) bereits in der Menge von vier (respektive fünf) Repräsentanten vorkommen, obwohl sie innerhalb ihrer Cluster Ausreisser sind. Dies ist darauf zurückzuführen, dass nun nicht mehr die Distanz zum Clustermittelpunkt das Hauptkriterium zur Auswahl der Datensätze darstellt, sondern die Distanz zu bisherigen Repräsentanten stärker gewichtet wird. Es ist demnach nicht empfehlenswert, für α einen zu hohen Wert zu setzen es sei denn, man möchte mit möglichst wenigen Datensätzen einen möglichst grossen Bereich des Informationsraumes des betrachteten Datenbestandes abdecken (ohne Rücksichtnahme auf die unverhältnismässige Informationsverzerrung) Test mit Iris Datenbestand und Einuss des Diversitätfaktors α Die prinzipielle Funktionstüchtigkeit der entwickelten Methode wurde anhand des Minibeispiels vom vorherigen Abschnitt gezeigt. Nun gilt es aber zu prüfen, was dieses Verfahren für umfangreichere Datenbestände taugt. Hierzu kommt als erstes der Schwertlilien (Iris) Datenbestand von [24] und [15] zum Einsatz. Der Datensatz besteht aus vier numerischen und einem nominalen Attribut. In den ersten beiden Merkmalen wird die Länge und Breite der Kelchblätter (sepallength, sepalwidth), im dritten und vierten Merkmal die Länge und Breite der Kronenblätter (petallength, petalwidth) gemessen. Die Angaben erfolgen in Zentimetern. Das fünfte Merkmal (nominal) gibt die IrisArt an (setosa, versicolor, virginica). Der Datenbestand besteht insgesamt aus 150 Datensätzen und wurde der umfangreichen Datensammlung der Forschungsgruppe für maschinelles Lernen der Universität Kalifornien, Irvine (UCI) [18] entnommen. Eine Übersicht der Attributstatistiken pro IrisArt ist in Tabelle 3.7 zu sehen.

63 3.3 Charakteristische Datensätze mittels kmeans 51 Ermittlung von charakteristischen Datensätzen Rep.- ID Geschlecht Berufs- erfah- Cluster Wahl sektor rung C i 1 2 Weiblich Gesundheitswesen Männlich Handwerk Weiblich Dienstleistung Männlich Handwerk Weiblich Gesundheitswesen Weiblich Gesundheitswesen Männlich Handwerk Weiblich Gesundheitswesen Männlich Handwerk Weiblich Dienstleistung Männlich Gesundheitswesen Weiblich Handwerk 9 2 (a) Partitionierung des Datenbestandes aus Tabelle 3.1 in drei Cluster mit anschliessender Auswahl der Repräsentanten. Die Datensätze sind nach berechneter Repräsentativität geordnet. Silhouettenkoezient für verschiedene k Anzahl Beste Quadra- Silhouetten- Cluster (k) tische Distanz Koeffizient 2 4,56 0,72 3 2,50 0,74 4 1,50 0,73 5 1,30 0,63 6 0,31 0,71 7 0,15 0,65 8 0,07 0,51 9 0,07 0, ,02 0,28 (b) Prozess zur Ermittlung der optimalen Anzahl Cluster gemäss dem Silhouettenkoezient Tabelle 3.6: Mit drei Clustern wird gemäss dem Silhouettenkoezient der Datenbestand aus Tabelle 3.1 (Seite 33) am besten partitioniert (3.6(b)). Die Einteilung der Datensätze in die ermittelten Cluster und die Wahl der Repräsentanten ist in 3.6(a) ersichtlich. Für die Berechnung der Repräsentanten aus identischen Clustern wurde ein Diversitätfaktor α = 0, 75 gewählt.

64 52 Ermittlung charakteristischer Datensätze Iris Attributstatistik Attribut- Iris- Iris- Iris- Statistik Setosa Versicolor Virginica Sepallength min 4,30 4,90 4,90 max 5,80 7,00 7,90 avg 5,01 5,94 6,58 Sepalwidth min 2,30 2,00 2,20 max 4,40 3,40 3,80 avg 3,42 2,77 2,97 Petallength min 1,00 3,00 4,50 max 1,90 5,10 6,90 avg 1,46 4,26 5,55 Petalwidth min 0,10 1,00 1,40 max 0,60 1,80 2,50 avg 0,24 1,32 2,03 Tabelle 3.7: Attributstatistiken zum Iris Datenbestand. Jede IrisArt ist mit je 50 Datensätzen im Datenbestand vertreten. Pro IrisArt ist für jedes Attribut der Minimal-, Maximal- und der Durchschnittswert aufgeführt. Gleichzeitig soll anhand dieses Datenbestandes auch der Einuss des Diversitätfaktors α demonstriert werden. Es wird für unterschiedliche Werte von α jeweils dieselbe Anzahl Repräsentanten k berechnet, um die Auswirkung des Diversitätfaktors auf das Ergebnis zu verdeutlichen. Da alle IrisArten gleich häug im Datenbestand vorkommen, erwarten wir in der Menge von typischen Datensätzen eine ausgewogene Verteilung dieser drei Arten. Vorzugsweise sollten die jeweiligen Repräsentanten auch typische Attributwerte (nahe beim Mittelwert) für ihre Art aufweisen. Das Verfahren ermittelt hier das beste Clustering (mit höchstem Silhouettenkoezient) bei einer Partitionierung der Daten in drei Cluster. Die drei Iris Arten werden dabei perfekt aufgeteilt. D.h. in jedem Cluster sind nur Datensätze der gleichen IrisArt vorhanden. Durch den Aufteilungsmechanismus der Anzahl Repräsentanten k auf die verschiedenen Cluster ist somit sichergestellt, dass in der resultierenden repräsentativen Menge die IrisArten gleich stark vertreten sind. 4 Für drei unterschiedliche Werte des Diversitätfaktors α wurden jeweils neun charakteristische IrisDatensätze berechnet. In Tabelle 3.8 sind die drei ermittelten repräsentativen Mengen aufgelistet. Wie soeben erklärt ist ersichtlich, dass in allen Mengen die drei IrisArten tatsächlich gleich häug vertreten sind. Wir wenden uns nun den Attributwertverteilungen innerhalb der drei IrisArten zu. In 3.8(a) ist das Ergebnis für α = 0, 25 zu sehen. Es fällt auf, dass die Repräsentanten innerhalb der gleichen IrisArt sehr ähnliche Attributwerte aufweisen. Aufgrund des niedrig angesetzten α war dieses Resultat auch zu erwarten. Die einzelnen Werte liegen zudem sehr nahe beim eektiven Mittelwert, was aus einem Vergleich mit den Attributstatisti- 4 Exakt gleich häug kommen sie natürlich nur dann vor, wenn k ohne Rest durch drei teilbar ist.

65 3.3 Charakteristische Datensätze mittels kmeans 53 Repräsentanten aus Iris (α = 0, 25) ID Iris- Sepal- Sepal- Petal- Petal- Art Length Width Length Width 7 Setosa 5,0 3,4 1,5 0,2 39 Setosa 5,1 3,4 1,5 0,2 40 Setosa 5,0 3,5 1,3 0,3 71 Versicolor 6,1 2,8 4,0 1,3 55 Versicolor 5,7 2,8 4,5 1,3 99 Versicolor 5,7 2,8 4,1 1,3 147 Virginica 6,5 3,0 5,2 2,0 112 Virginica 6,8 3,0 5,5 2,1 104 Virginica 6,5 3,0 5,8 2,2 (a) Neun charakteristische Datensätze mit α = 0, 25 Repräsentanten aus Iris (α = 0, 75) ID Iris- Sepal- Sepal- Petal- Petal- Art Length Width Length Width 7 Setosa 5,0 3,4 1,5 0,2 40 Setosa 5,0 3,5 1,3 0,3 49 Setosa 5,0 3,3 1,4 0,2 71 Versicolor 6,1 2,8 4,0 1,3 55 Versicolor 5,7 2,8 4,5 1,3 78 Versicolor 6,0 2,9 4,5 1,5 147 Virginica 6,5 3,0 5,2 2,0 102 Virginica 7,1 3,0 5,9 2,1 149 Virginica 5,9 3,0 5,1 1,8 (b) Neun charakteristische Datensätze mit α = 0, 75 Repräsentanten aus Iris (α = 1, 25) ID Iris- Sepal- Sepal- Petal- Petal- Art Length Width Length Width 7 Setosa 5,0 3,4 1,5 0,2 15 Setosa 5,7 4,4 1,5 0,4 41 Setosa 4,5 2,3 1,3 0,3 71 Versicolor 6,1 2,8 4,0 1,3 60 Versicolor 5,0 2,0 3,5 1,0 50 Versicolor 7,0 3,2 4,7 1,4 147 Virginica 6,5 3,0 5,2 2,0 118 Virginica 7,7 2,6 6,9 2,3 106 Virginica 4,9 2,5 4,5 1,7 (c) Neun charakteristische Datensätze mit α = 1, 25 Tabelle 3.8: Vergleich der ermittelten Repräsentanten des Iris Datenbestandes für verschiedene Werte von α. Es wurden jeweils neun charakteristische Datensätze mit einem Diversitätfaktor von α = 0, 25, α = 0, 75 respektive α = 1, 25 berechnet. Die zugehörigen Statistiken zum Datenbestand sind in Tabelle 3.7 ersichtlich.

66 54 Ermittlung charakteristischer Datensätze ken aus Tabelle 3.7 ersichtlich wird. Daraus können wir schliessen, dass die Clustermittelpunkte sehr nahe bei den tatsächlichen Mittelwerten liegen. Wenn wir die ermittelte repräsentative Menge für α = 0, 75 aus Tabelle 3.8(b) betrachten, dann fällt auf, dass die Attributwerte innerhalb derselben IrisArt bereits etwas mehr streuen. Insgesamt liegen die einzelnen Werte aber immer noch nahe beim eektiven Mittelwert. In Tabelle 3.8(c) wird der Einuss eines hohen Diversitätfaktors oensichtlich. Die Attributwerte innerhalb derselben IrisArt streuen nun markant um den Mittelwert. Betrachtet man beispielsweise die Attributwerte von Petallength der Repräsentanten der IrisArt virginica, dann fällt auf, dass die Werte 6,9 und 4,5 bereits Extremwerte innerhalb dieser IrisArt darstellen. Dies geht aus einem Vergleich mit der entsprechenden Attributstatistik aus Tabelle 3.7 hervor. Es ist nochmals anzumerken, dass die Repräsentanten desselben Clusters methodenbedingt jeweils gleichmässig um die Clustermittelpunkte streuen. D.h. nachdem aus einem Cluster eine Instanz ausgewählt wurde, die auf einer bestimmten Seite des Mittelpunktes liegt, dann wird als nächste repräsentative Instanz dieses Clusters ein Datensatz berücksichtigt, der auf der gegenüberliegenden Seite des Mittelpunktes liegt. Dies folgt daher, weil auf der gegenüberliegenden Seite der durchschnittliche Abstand zu den bisherigen Repräsentanten dieses Clusters am grössten ist und gleichzeitig die Distanz zum Clustermittelpunkt trotzdem möglichst klein ausfällt. Schliesslich sollte man sich nochmals bewusst werden, dass der erste gewählte repräsentative Datensatz eines Clusters, unabhängig des Wertes von α, immer derselbe ist, da noch keine Distanz zu bisherigen Repräsentanten dieses Clusters existiert und somit die Entfernung zum Clustermittelpunkt das einzige Kriterium darstellt. Diese Tatsache ist ebenfalls in Tabelle 3.8 zu sehen. Jeweils der erste aufgeführte Datensatz pro IrisArt ist in allen drei repräsentativen Mengen identisch Test mit CreditApproval Datenbestand Der folgende Testdatenbestand beinhaltet Kreditkarteninformationen. Da die Daten aus realen Applikationen stammen, wurden die Attributnamen und Attributwerte zu bedeutungslosen Symbolen umbenannt, um die Anonymität zu gewährleisten. Zudem ist nicht angegeben, woher die Daten ursprünglich stammen. Diese Testdaten werden aber ebenfalls von der renommierten Datensammlung der Forschungsgruppe für maschinelles Lernen der Universität Kalifornien, Irvine (UCI) [18] angeboten. Der Datenbestand besteht aus 690 Datensätzen, welche durch 16 Attribute charakterisiert sind. Dabei sind zehn Attribute nominal und sechs numerisch. Das letzte nominale Attribut gibt die Klassenzugehörigkeit (+ oder ) an. In ungefähr 5% aller Datensätze gibt es fehlende Attributwerte. Dieser Testdatenbestand deckt somit ein ziemlich breites Spektrum ab. In Tabelle A.1 (Seite 105) sind die Statistiken für die numerischen und in Tabelle A.2 (Seite 106) sind die Statistiken für die nominalen Attribute aufgeführt. Die statistischen Merkmale sind dabei für alle Datensätze mit positiver Klassenzugehörigkeit und für alle Datensätze mit negativer Klassenzugehörigkeit separat ausgewiesen. Da sich bislang ein Wert des Diversitätfaktors von 0,75 als guter Kompromiss zwischen Redundanzminimierung und Wahl von typischen Datensätzen herausgestellt hat, ermitteln wir mit α = 0, 75 fünf charakteristische Datensätze des CreditApproval Datenbestandes. Das Ergebnis ist

67 3.3 Charakteristische Datensätze mittels kmeans 55 in Tabelle 3.9 zu sehen. In der repräsentativen Menge sind drei Datensätze mit negativem Klassenwert und zwei mit positivem Klassenwert vertreten. Betrachtet man die Verteilung dieses Attributs (siehe Tabelle A.2(j)), dann widerspiegelt dieses Verhältnis den Gesamtdatenbestand sehr gut. Bei der Diskussion der ermittelten Repräsentanten richten wir unser Augenmerk zuerst auf die numerischen Attribute und ziehen dabei die jeweiligen Statistiken aus Tabelle A.1 herbei. Beim Attribut A2 fällt nichts Besonderes auf. Die fünf Repräsentanten weisen bei diesem Attribut ähnliche Werte auf, die zudem relativ nahe beim tatsächlichen Mittelwert ihrer Klasse liegen. Bei den Attributen A3, A8, A11 und A15 fällt auf, dass die zwei Repräsentanten mit positivem Klassenwert bei allen Attributen tendenziell höhere Werte haben, als die drei Repräsentanten mit negativer Klassenzugehörigkeit. Dieser Umstand ist auch wünschenswert, wenn man die Statistiken der jeweiligen Attribute innerhalb der beiden Klassen separat betrachtet. Bei allen fünf Repräsentanten liegen diese Attributwerte zudem ziemlich nahe bei den eektiven Mittelwerten. Einzig beim Attribut A11 scheint es merkwürdig, dass die drei negativen Datensätze allesamt den Minimalwert von 0 haben. Allerdings weisen 297 von insgesamt 383 negativen Instanzen bei diesem Attribut den Wert 0 auf. Daher ist dieser Minimalwert durchaus als repräsentativ zu betrachten. Beim Merkmal A14 hat man den Eindruck, dass die Repräsentanten mit negativer Klassenzugehörigkeit höhere Werte aufweisen. Betrachtet man die Verteilung dieses Attributs innerhalb der beiden Klassen, dann ist dies auch in der Grundgesamtheit so. Insgesamt können wir festhalten, dass bei den numerischen Merkmalen die Gesamtmenge durch die fünf charakteristischen Datensätze ziemlich gut repräsentiert wird. Betrachten wir nun die Ausprägungen der nominalen Attribute innerhalb der charakteristischen Datensätzen. Bei den Attributen A1, A6, A7 und A13 fällt auf, dass alle Repräsentanten dieselben Attributwerte aufweisen. Wie wir den Wertverteilungen aus Tabelle A.2 entnehmen können, handelt es sich zwar bei allen Merkmalen um die jeweils häugste Ausprägung, allerdings wäre gerade bei A1 und A6 etwas mehr Diversität wünschenswert, da dort andere Attributwerte ebenfalls mit einer beträchtlichen Häugkeit vertreten sind. Auch wenn wir 10 oder 15 Repräsentanten nach diesem Verfahren ermitteln, nimmt die Diversität bei diesen Attributen nicht zu. Mit einem höheren Diversitätfaktor (α 1) wird dies in unserem Fall erreicht, allerdings ist dann bereits in der Menge von fünf Repräsentanten ein Ausreisser vertreten (mit den Werten A5 = gg und A7 = o). Hier fällt das Fazit etwas ernüchternd aus. Aber zumindest sind, trotz mangelnder Diversität, jeweils die häugsten Attributwerte vertreten. Bei den Attributen A4 und A5 unterscheidet sich lediglich der dritte Repräsentant (#3) von den anderen vier Datensätzen. Beim Vergleich der Histogramme dieser beiden Attribute fällt auf, dass die Ausprägung A4 = y (respektive A5 = p) mit einem Verhältnis von 163 zu 519 gegenüber A4 = u (respektive A5 = g) relativ häug vorkommt. Zudem haben 118 von den 163 Instanzen mit diesen Merkmalswerten eine negative Klassenzugehörigkeit. Es ist daher wünschenswert, dass der dritte Repräsentant als Vertreter der negativen Klasse diese Werte vereint wiedergibt. Bei den Verteilungen der Attribute A9 und A10 ist ersichtlich, dass die Werte A9 = t und A10 = t sehr typisch für positive Instanzen sind, während die Ausprägungen A9 = f und A10 = f charakteristisch für Instanzen mit negativer Klassenzugehörigkeit sind. Diese Besonderheit wird in der repräsentativen Teilmenge ebenfalls gut wiedergegeben.

68 56 Ermittlung charakteristischer Datensätze Repräsentanten aus CreditApproval Repräsentant #1 #2 #3 #4 #5 Attribut ID A1 b b b b b A2 40,58 32,33 22,92 23,58 20,42 A3 5,00 2,50 3,17 1,79 7,00 A4 u u y u u A5 g g p g g A6 c c c c c A7 v v v v v A8 5,00 1,25 0,17 0,54 1,63 A9 t f f f t A10 t f f f t A A12 f t f t f A13 g g g g g A A CLASS Tabelle 3.9: Fünf charakteristische Datensätze des CreditApproval Datenbestandes mit einem Diversitätfaktor α = 0, 75 ermittelt. Jede Spalte stellt einen charakteristischen Datensatz dar, während die Zeilen die einzelnen Attributwerte wiedergeben. Die Datensätze sind nach ihrer Wahl zum Repräsentanten geordnet. D.h. das Tupel in Spalte #1 wird als erster Repräsentant gewählt, gefolgt vom Tupel in Spalte #2 usw. Statistiken zu diesem Datenbestand sind in den Tabellen A.1 (Seite 105) und A.2 (Seite 106) ersichtlich. Beim letzten noch nicht besprochenen Attribut A12 fällt die Bilanz etwas durchzogen aus. In der repräsentativen Teilmenge sind zwar insgesamt drei f Werte vertreten, womit das eektive Verhältnis der Grundgesamtheit gut approximiert wird. Allerdings widerspiegeln die zwei twerte der insgesamt drei Vertreter der negativen Klasse die tatsächlichen Gegebenheiten nicht richtig. Abschliessend können wir festhalten, dass die Resultate für diesen Datenbestand akzeptabel sind, aber nicht mehr so überzeugend wie zuvor für den Iris Datenbestand. Dies lässt sich primär auf die hohe Dimensionalität der Daten zurückführen, welche einen entscheidenden Einuss auf das Clustering haben kann. In diesem Fall beträgt der Silhouettenkoezient für das beste Clustering lediglich 0,3. Da dieser Wert nicht auf eine bestechend gute Partitionierung der Daten schliessen lässt, fallen die Resultate zwangsläug bescheidener aus. Ferner stellen wir fest, dass sich die Evaluation der Ergebnisse nicht mehr glasklar durchführen lässt, da dieser Datenbestand mit 16 Attributen und 690 Instanzen um ein vielfaches komplexer und daher unüberschaubarer ist, als noch zuvor der Iris Datenbestand Test mit Mushroom Datenbestand Als letzte Testdaten betrachten wir den Mushroom Datenbestand, der sich aus 8124 Tupeln zu Pilzdaten zusammensetzt. Die Einträge sind durch 22 nominale Attribute cha-

69 3.3 Charakteristische Datensätze mittels kmeans 57 rakterisiert und werden mittels eines Klassenattributs in giftige (poisonous) und essbare (edible) Pilze unterschieden. Die Attributwertverteilungen pro Klassenwert sind in den Tabellen A.3 bis A.6 (Seite 107 bis 110) abgebildet. Auch dieser Datenbestand stammt aus der Datensammlung von UCI [18]. Wir ermitteln aus diesem Datenbestand wiederum fünf Repräsentanten mit einem Diversitätfaktor von α = 0, 75. Das Resultat ist in Tabelle 3.10 abgebildet. Mit drei essbaren und zwei giftigen Pilzen wird in der repräsentativen Menge das eektive Verhältnis bestmöglich approximiert. Die fünf charakteristischen Datensätze vertreten zudem bei praktisch allen Merkmalen die für ihren Klassenwert (edible, poisonous) typischen Werte. Betrachten wir beispielsweise die Werteverteilung des Attributs Gill Color aus Tabelle A.4(d) von Seite 108: Für essbare Pilze sind hier die Ausprägungen white (956), brown (936) und pink (852) am häugsten. Die drei Vertreter der essbaren Pilze repräsentieren genau diese drei Werte. Für die giftigen Pilze sind die Ausprägungen bu (1728), pink (640), chocolate (528) und gray (504) am typischsten. Die beiden auserwählten giftigen Pilze der repräsentativen Menge haben die Werte bu respektive gray. Aus dem Blickwinkel einer gewissen Diversität sind auch diese Werte wünschenswert. Denn somit sind die insgesamt fünf häugsten Ausprägungen durch die fünf Datensätze repräsentiert und dies jeweils in Kombination mit dem Klassenwert, für den diese Ausprägung am typischsten ist. Diese gemachten Überlegungen treen für die meisten Attribute annäherungsweise zu. Am wenigsten gut werden nach meiner Ansicht die Attribute Cap Shape und Population wiedergegeben. Beim Merkmal Cap Shape haben alle drei Vertreter der essbaren Pilze die Ausprägung convex, obwohl der Werte at beinahe gleich häug vorkommt. Beim Attribut Population ist für einen Vertreter der essbaren Pilze die Ausprägung solitary anstelle von scattered wünschenswert. Insgesamt repräsentieren die Ergebnisse die Gegebenheiten des Datenbestandes aber gut. Ausserordentliche Missstände fallen bei keinem Merkmal auf. Zudem resultieren ähnliche Ergebnisse, wenn man 10 oder 15 Repräsentanten nach diesem kmeans Verfahren ermittelt Fazit Anhand der verschiedenen Tests wurde ersichtlich, dass dieses Verfahren zur Ermittlung charakteristischer Datensätze prinzipiell sehr gut funktioniert. Allerdings ist diese Methode entscheidend von der Güte des Clusterings abhängig. Wenn sich die Datenmenge gut partitionieren lässt (hoher Silhouettenkoezient), dann werden auch die daraus ermittelten Datensätze als repräsentativ empfunden. Wenn der Datenbestand aber keine klare Struktur aufweist und der Clusteringalgorithmus keine gute Partitionierung der Datenmenge vornehmen kann, dann bleibt auch die Qualität der ermittelten Repräsentanten zu einem gewissen Grad dem Zufall überlassen. Gemäss [20] funktionieren unter Umständen iterativ optimierende Clusteringverfahren wie kmeans nicht gut, wenn eine oder mehrere der folgenden Eigenschaften in den Daten vorhanden sind: ˆ Cluster sind nicht kugelförmig, sondern haben stark unterschiedliche Ausdehnung in verschiedene Richtungen des Raumes (sie folgen beispielsweise natürlichen Strukturen wie Flussläufen) ˆ Cluster haben stark unterschiedliche Grösse

70 58 Ermittlung charakteristischer Datensätze Attribut Repräsentanten aus Mushroom Repräsentanten ID Class edible edible edible poisonous poisonous Cap Shape convex convex convex convex at Cap Surface scaly smooth brous scaly scaly Cap Color white brown gray yellow brown Bruises yes no yes no no Odor anise none none foul foul Gill Attach. free free free free free Gill Spacing close crowded close close close Gill Size broad broad broad broad narrow Gill Color white brown pink gray bu Stalk Shape enlarging tapering tapering enlarging tapering Stalk Root club equal bulbous bulbous??? SS Above Ring smooth smooth smooth silky silky SS Below Ring smooth smooth smooth silky smooth SC Above Ring white white white pink white SC Below Ring white white white pink white Veil Type partial partial partial partial partial Veil Color white white white white white Ring Number one one one one one Ring Type pendant evanescent pendant large evanescent Spore Color black brown brown chocolate white Population scattered scatterd several several several Habitat grasses grasses woods woods leaves Tabelle 3.10: Fünf charakteristische Datensätze des Mushroom Datenbestandes mit einem Diversitätfaktor α = 0, 75 ermittelt. Jede Spalte stellt einen charakteristischen Datensatz dar, während die Zeilen die einzelnen Attributwerte wiedergeben. Statistiken zum Datenbestand sind in den Tabellen A.3 bis A.6 (Seite 107 bis 110) ersichtlich. ˆ Cluster haben stark unterschiedliche Punktdichte Eine weitere Problematik dieser Methode ist die Laufzeit. Der entscheidende Teil ist hierbei das Verfahren zur Ermittlung der optimalen Anzahl Cluster anhand des Silhouettenkoezienten. Wir erinnern uns aus Abschnitt 3.3.3, dass hierfür jede Instanz mit jeder anderen verglichen werden muss, was zu einer quadratischen Laufzeit führt. Für den Mushroom Datenbestand äussert sich dieser Umstand mit einer Laufzeit von 65 Minuten für das Finden des optimalen Clusterings. Die anschliessende Wahl der Repräsentanten liegt dann nur noch im Sekundenbereich. 5 In der konkreten Implementierung dieses Verfahrens wird daher die Möglichkeit geboten, ein ermitteltes Clustering auf der Festplatte zu speichern, um zu einem späteren Zeitpunkt anhand der bereits partitionierten Daten ezient neue Repräsentanten berechnen zu können. Auf diese Funktionalität wird in Kapitel 5 mit den Ausführungen zur graschen Benutzerschnittstelle genauer eingegangen. 5 Sämtliche Tests wurden auf einem PC mit 2,5 GHz Intel Pentium 4 Prozessor, 512 MB Hauptspeicher und 80 GB Festplatte durchgeführt.

71 3.4 Charakteristische Datensätze mittels EM 59 Daneben muss aber auch festgehalten werden, dass die Resultate selbst bei einem schlechten Clustering nicht degenerieren. D.h. bei einer unbefriedigenden Partitionierung der Datenmenge kommt es trotzdem nicht vor, dass in der berechneten repräsentativen Menge plötzlich nur Ausreisser enthalten sind. Natürlich gilt dies nur unter der Voraussetzung, dass der Wert des Diversitätfaktors angemessen gewählt wurde (vorzugsweise α < 1). 3.4 Charakteristische Datensätze mittels EM Im Folgenden wird ein Verfahren zur Ermittlung von charakteristischen Datensätzen vorgestellt, welches auf dem EMClusteringalgorithmus aus Abschnitt beruht. Die Idee dieser Methode weist ziemlich viele Analogien zu dem vorhin besprochenen kmeans Ansatz auf. Aus diesem Grund wird diese Methode relativ knapp behandelt. Der Schwerpunkt liegt hauptsächlich beim Vergleich der Repräsentanten, die anhand des kmeans und des hier vorgestellten Verfahrens ermittelt werden Generelle Idee Die Idee dieser Methode beruht darauf, das Clustering des Datenbestand dem EM Algorithmus zu überlassen, um anschliessend aus jedem Cluster eine anteilige Anzahl Datensätze als Vertreter ihrer Gruppe zu bestimmen. Die Vereinigung dieser anteiligen Vertreter ergibt dann die Menge der charakteristischen Datensätze. Die Grundidee ist somit weitgehend identisch mit derjenigen aus dem vorhin besprochenen kmeans Verfahren. Der Hauptunterschied zum kmeans Ansatz liegt in den Auswahlkriterien zur Bestimmung der Repräsentanten eines Clusters. Wie wir aus Abschnitt wissen, ist der EM Algorithmus ein probabilistisches Clusteringverfahren. Die Datenmenge wird also nicht partitioniert, sondern die einzelnen Instanzen gehören mit bestimmten Wahrscheinlichkeiten zu den jeweiligen Clustern. Die einzelnen Cluster werden primär auch nicht durch Mittelpunkte charakterisiert, sondern durch Wahrscheinlichkeitsverteilungen (genauer gesagt Gaussverteilungen). Dies führt dazu, dass die Auswahlkriterien vom kmeans Verfahren nicht übernommen werden können, da sich diese auf Clustermittelpunkte beziehen. Wie die neuen Kriterien deniert sind, wird in Kürze erläutert werden Ermittlung der geeigneten Anzahl Cluster Die von SIRUP bereitgestellten Daten werden wie in Abschnitt 3.2 beschrieben aufbereitet. Dieser Teil erfolgt analog wie beim kmeans Verfahren. Zusätzlich werden fehlende Attributwerte durch den Modus (für nominale) respektive den Durchschnittswert (für numerische Attribute) ersetzt. Eine Normalisierung der numerischen Attribute ndet in diesem Fall nicht statt, da bei probabilistischen Clusteringverfahren keine Distanzen zwischen Datensätzen ermittelt werden. Nachdem die Daten passend für ein Clustering mit dem EMAlgorithmus vorliegen, stehen wir wieder vor dem Problem, dass die richtige Anzahl Cluster nicht bekannt ist. Da der Silhouettenkoezient nur für varianzminimierende Clusteringverfahren anwendbar ist, kommt in diesem Fall eine so genannte Kreuzvalidierung (cross validation) [40] zur Anwendung. Dieses Verfahren funktioniert folgendermassen:

72 60 Ermittlung charakteristischer Datensätze 1. Zu Beginn wird die Anzahl Cluster auf 1 gesetzt. 2. Der Datenbestand wird zufällig in zehn gleich grosse Teile (folds) zerlegt. 3. Die Clusterbildung erfolgt für neun Teile (Trainingsdaten) des Datenbestandes. Der verbleibende Teil (Testdaten) wird benötigt, um anschliessend die Güte des Clusterings mittels dem Mass loglikelihood (siehe Formel 2.10 auf Seite 28) zu bestimmen. 6 Dieses Verfahren wird zehn mal angewendet, wobei jedes Mal ein anderer Teil (Testdaten) für die anschliessende Messung zurückbehalten wird. Somit wird erreicht, dass am Ende jede Instanz im Datenbestand einmal für die Evaluierung des Modells verwendet wurde. Nun wird der Durchschnitt der zehn gemessenen Werte ermittelt. 4. Falls sich dieser Durchschnittswert von loglikelihood gegenüber vorher erhöht hat, dann wird die Anzahl Cluster k inkrementiert und das Prozedere beginnt mit diesem neuen Wert wieder beim zweiten Schritt. Andernfalls nimmt man k als geeigneten Wert für die Anzahl Cluster und bildet das denitive Modell mit diesem Wert anhand der gesamten Datenmenge. Detaillierte Informationen zur Kreuzvalidierung ndet man beispielsweise in [40] oder in der konkreten Implementierung in Weka [11] Optimierung der Initialisierung Da der EMAlgorithmus, wie auch kmeans, zu den lokal optimierenden Clusteringverfahren gehört, ist auch er reihenfolgenabhängig. Es gilt demnach, eine möglichst gute initiale Parameterbelegung zu nden, um ein möglichst optimales Endresultat zu erhalten. Dies wird erreicht, indem vorgängig eine Partitionierung der Datenmenge mittels kmeans stattndet. Ähnlich wie in Abschnitt beschrieben, wird für eine gegebene Anzahl Cluster ein kmeans Algorithmus mit verschiedenen initial gewählten Clustermittelpunkten ausgeführt. Das kompakteste Clustering (kleinste quadratische Distanz zu den Mittelpunkten) wird dann ausgewählt. Die Werte dieses Clusterings dienen nun als initiale Parameterbelegung für den EMAlgorithmus (beispielsweise werden die von kmeans ermittelten Clustermittelpunkte als initiale Mittelwerte der jeweiligen Gaussverteilung genommen). Für eine ausführliche Beschreibung der Initialisierung sei auf die Implementierung des EMAlgorithmus in Weka [11] verwiesen Auswahl der anteiligen Repräsentanten aus den Clustern Nachdem der EMAlgorithmus das Clustering der Datenmenge vollendet hat, muss nun die vom Benutzer gewünschte Anzahl charakteristischer Datensätze daraus ermittelt werden. Dabei wird konzeptionell gleich vorgegangen wie beim kmeans Ansatz aus dem vorherigen Abschnitt. Zuerst wird ermittelt, wie viele Datensätze (k Ci ) jeder Cluster C i zur repräsentativen Menge beiträgt, bevor anhand bestimmter Kriterien diese anteiligen k Ci Instanzen aus den entsprechenden Clustern gewählt werden. 6 In der Formel 2.10 von Seite 28 wurde das Mass overall likelihood vorgestellt. In praktischen Implementierungen wird jedoch meist der Logarithmus von overall likelihood genommen, womit das Mass loglikelihood resultiert [40]. Bedingt durch die Rechenregeln mit Logarithmen werden die einzelnen Terme dann nicht mehr multipliziert, sondern summiert: log(a b) = log(a) + log(b).

73 3.4 Charakteristische Datensätze mittels EM 61 Die anteilige Anzahl Repräsentanten k Ci wie folgt berechnet: für einen Cluster C i wird in diesem Verfahren k Ci = w i k, wobei w i = 1 und k Ci = k Dabei ist w i die Wahrscheinlichkeit, welche die relative Population von Cluster C i reektiert (wir erinnern uns aus Abschnitt 2.5.4, dass nicht alle Cluster gleich wahrscheinlich sind). Anschaulich kann der Wert w i aber als der Anteil der Datenmenge aufgefasst werden, der zum Cluster C i gehört. Somit werden die Parallelen zum kmeans Ansatz ersichtlich. Auch dort wurden die Werte k Ci aufgrund der Clustergrössen berechnet. Da aus einem Cluster nur eine ganzzahlige Anzahl Datensätze entnommen werden kann, müssen die Werte k Ci gerundet werden. Dabei tritt dieselbe Problematik auf, wie sie schon beim kmeans Verfahren aufgetreten ist. Durch einfaches Auf und Abrunden kann es geschehen, dass die Summe der Werte k Ci nicht mit dem Wert k übereinstimmt. Um dies zu verhindern, kommt auch hier das in Abschnitt erklärte Verfahren zum Einsatz. Nun wissen wir, wie viele charakteristische Instanzen jeder Cluster zum Gesamtergebnis beizutragen hat. Jetzt gilt es, aus den Clustern die typischen Datensätze auszuwählen. Wie bereits erwähnt, sind bei einem probabilistischen Clustering die Datensätze aber nicht einem einzigen Cluster zugeordnet, sondern sie gehören zu jedem Cluster mit einer bestimmten Wahrscheinlichkeit. Um trotzdem eine eindeutige Zuordnung zu den Clustern zu erhalten also eine Partitionierung der Datenmenge können wir (gedanklich) jede Instanz demjenigen Cluster zuordnen, zu dem sie mit der grössten Wahrscheinlichkeit angehört. Anschliessend werden aus jedem Cluster C i diejenigen k Ci Datensätze ausgewählt, welche die höchste Dichte aufweisen. Mit Dichte ist dabei der Wert der Gaussschen Dichtefunktion des entsprechenden Clusters gemeint. Somit werden also diejenigen Datensätze gewählt, die mit dem Verteilungsmodell dieses Clusters am besten vereinbar sind sprich für diesen Cluster am wahrscheinlichsten sind. Insgesamt tragen durch diese Vorgehensweise die wahrscheinlichsten Cluster die meisten Repräsentanten zum Ergebnis bei, wobei innerhalb der Cluster jeweils die Instanzen mit der höchsten Wahrscheinlichkeit gewählt werden Test mit Iris Datenbestand Wir testen dieses Verfahren nun auf denselben Datenbeständen, die wir bereits von den Tests vom kmeans Verfahren kennen. Als erstes betrachten wir den Iris Datenbestand. Um die Vergleichbarkeit mit dem kmeans Ansatz zu gewährleisten, ermitteln wir ebenfalls neun Repräsentanten dieses Datenbestandes. Das Resultat ist in Tabelle 3.11 zu sehen. Auch hier wurden je drei Datensätze jeder IrisArt ermittelt, was in Anbetracht der Gleichverteilung der IrisArten im Datenbestand sehr wünschenswert ist. Allerdings muss erwähnt werden, dass die Kreuzvalidierung des EMAlgorithmus in diesem Fall die Datenmenge in vier Cluster eingeteilt hat. Dabei wurde hauptsächlich die Art Vvirginica in zwei separate Cluster aufgeteilt. In diesen beiden Gruppen sind aber insgesamt auch drei Datensätze der Art versicolor vertreten, während ein Datensatz des Typs virginica dem Cluster zugeordnet wurde, in dem sich ansonsten ausschliesslich Daten der Art versicolor benden. Im Gegensatz zum kmeans Verfahren, wo die Daten perfekt partitioniert wurden, ist hier also nicht gewährleistet, dass in der repräsentativen Menge die IrisArten für alle Werte von k gleich häug vertreten sind.

74 62 Ermittlung charakteristischer Datensätze Repräsentanten aus Iris ID Iris- Sepal- Sepal- Petal- Petal- Art Length Width Length Width 7 Setosa 5,0 3,4 1,5 0,2 39 Setosa 5,1 3,4 1,5 0,2 49 Setosa 5,0 3,3 1,4 0,2 99 Versicolor 5,7 2,8 4,1 1,3 94 Versicolor 5,6 2,7 4,2 1,3 96 Versicolor 5,7 2,9 4,2 1,3 102 Virginica 7,1 3,0 5,9 2,1 123 Virginica 6,3 2,7 4,9 1,8 143 Virginica 6,8 3,2 5,9 2,3 Tabelle 3.11: Mit dem EMAnsatz ermittelte Repräsentanten des Iris Datenbestandes (für k = 9). Das Ergebnis deckt sich weitgehend mit den Resultaten des kmeans Ansatzes von Tabelle 3.8 (Seite 53). Beim Vergleich der ermittelten Repräsentanten mit den Statistiken dieses Datenbestandes von Tabelle 3.7 (Seite 52) fällt auf, dass auch hier die Attributwerte nahe bei den Mittelwerten der entsprechenden IrisArt liegen. Wenn wir nun noch die Ergebnisse mit den Resultaten vom kmeans Verfahren aus Tabelle 3.8 (Seite 53) vergleichen, dann ist zu sehen, dass die Datenwerte nahe beieinander liegen. Es wurden sogar je drei identische Instanzen wie bei den Resultaten für α = 0, 25 (Tabelle 3.8(a)) und α = 0, 75 (Tabelle 3.8(b)) ermittelt. Insgesamt entsprechen die Resultate für diesen Datenbestand, wie schon beim kmeans Ansatz, den Erwartungen Test mit CreditApproval Datenbestand Das Verfahren wurde auch auf dem CreditApproval Datenbestand angewendet. Damit die Ergebnisse wiederum mit dem kmeans Ansatz verglichen werden können, wurde auch hier dieselbe Anzahl charakteristischer Datensätze ermittelt. Die fünf berechneten Repräsentanten sind in Tabelle 3.12 aufgeführt. Für den Vergleich mit den berechneten Instanzen des kmeans Ansatzes sei jeweils auf die Tabelle 3.9 (Seite 56) verwiesen. Die zugehörigen Attributstatistiken dieses Datenbestandes sind wiederum in den Tabellen A.1 (Seite 105) und A.2 (Seite 106) ersichtlich. Gleich wie beim kmeans Ansatz benden sich auch hier unter den fünf ermittelten Repräsentanten zwei Vertreter mit positiver Klassenzugehörigkeit und drei mit negativer. Das eektive Verhältnis wird in der repräsentativen Menge somit gut approximiert. Wir richten unser Augenmerk zuerst wiederum auf die numerischen Attribute. Beim Merkmal A2 weisen die beiden Instanzen mit positivem Klassenwert, verglichen mit dem Mittelwert, eher kleine Werte auf. Da die Wertverteilung dieses Attributs aber generell linkssteil ist, und somit die Mehrheit der Datensätze bei diesem Merkmal unter dem Durchschnittswert liegen, kann dieser Umstand als typisch angesehen werden. Anders sieht es bei den Vertretern der negativen Klasse aus. Hier liegen die Werte von A2 leicht über dem Durchschnitt, was in Anbetracht der linkssteilen Verteilung nicht ganz den typischen Werten entspricht.

75 3.4 Charakteristische Datensätze mittels EM 63 Repräsentanten aus CreditApproval Repräsentant #1 #2 #3 #4 #5 Attribut ID A1 b a b b b A2 31,92 18,42 30,17 36,33 29,83 A3 4,46 9,25 1,09 3,79 3,5 A4 u u y u u A5 g g p g g A6 cc q c w c A7 h v v v v A8 6,04 1,21 0,04 1,17 0,17 A9 t t f t f A10 t t f f f A A12 f f f t f A13 g g g g g A A CLASS Tabelle 3.12: Mit dem EMAnsatz ermittelte Repräsentanten des CreditApproval Datenbestandes (für k = 5). Jede Spalte stellt einen charakteristischen Datensatz dar, während die Zeilen die einzelnen Attributwerte wiedergeben. Das Ergebnis ist ähnlich wie die Resultate des kmeans Ansatzes von Tabelle 3.9 (Seite 56). Ähnliches gilt für das Attribut A3. Hier weisen positive Instanzen einen Durchschnittswert von 5,9 auf, während negative Instanzen lediglich einen Wert von 3,84 haben. Ich persönlich empnde es als wichtig, dass in der repräsentativen Menge die Tendenz richtig wiedergegeben wird. Dies ist hier der Fall, da die Datensätze mit positiver Klassenzugehörigkeit bei diesem Merkmal grössere Werte aufweisen, als diejenigen mit negativem Klassenwert. Dasselbe trit für die Attribute A8, A11 und A15 zu. Beim Merkmal A14 werden die wahren Gegebenheiten nicht besonders gut approximiert. Grundsätzlich fallen bei der Analyse der numerischen Attribute aber keine eklatanten Missstände auf. Die einzelnen Werte und Tendenzen sind zudem ähnlich zu den Resultaten aus dem kmeans Verfahren. Betrachten wir nun die nominalen Attribute. Beim Vergleich mit den Ergebnissen des kmeans Ansatzes fällt schnell auf, dass hier bei den Merkmalen A1, A6 und A7 mehr Diversität unter den Repräsentanten vorhanden ist. Die mangelnde Diversität wurde bei den Resultaten von kmeans kritisiert, weil bei diesen drei Attributen relativ häuge Werte nicht in der repräsentativen Menge vertreten waren. Dies ist hier klar besser. Bei den nominalen Attributen A4, A5 A9 A10 gilt dieselbe positive Erkenntnis wie bei den kmeans Resultaten. Beim Merkmal A12 ist bei den charakteristischen Datensätzen die Ausprägung A12 = f zu stark vertreten. Bei A13 ist es in Ordnung, dass alle fünf Instanzen denselben Wert aufweisen, da über 90% der Datensätze diese Ausprägung haben. Ähnliche Ergebnisse resultieren, wenn man anhand dieses Verfahrens 10 oder 15 Repräsen-

76 64 Ermittlung charakteristischer Datensätze tanten des Datenbestandes ermittelt. Auf die detaillierte Ausführung und Interpretation der Resultate wird hier aber verzichtet. Anhand des DatensatzBrowsers der beiliegenden CD kann die gewünschte Anzahl charakteristischer Datensätze selber ermittelt und evaluiert werden. 7 Insgesamt sind aufgrund der höheren Diversität bei den Merkmalen A1, A6 und A7 die hier erzielten Ergebnisse besser einzustufen, wie die Resultate vom kmeans Verfahren Test mit Mushroom Datenbestand In Tabelle 3.13 sind die fünf ermittelten Repräsentanten des Mushroom Datenbestandes nach dem EMVerfahren abgebildet. Wie aus einem Vergleich mit den kmeans Resultaten aus Tabelle 3.10 (Seite 58) und den Attributstatistiken aus den Tabellen A.3 bis A.6 (Seite 107 bis 110) hervorgeht, überzeugt das EMVerfahren beim Mushroom Datenbestand nicht in allen Belangen. Beispielsweise ist beim Attribut Cap Color die häugste Ausprägung brown (insgesamt 2284 mal) nicht in der repräsentativen Menge vertreten, während mit der Kombination poisonous, white (320 mal) eine Minderheit vorkommt. Auch beim Attribut Gill Color wurden mit den Kombinationen edible, purple (444 mal) und poisonous, white (246 mal) zwei weniger typische Ausprägungen gewählt. Unter den zwei Vertretern der essbaren Pilze weist einer beim Merkmal Ring Number den Wert two auf, obwohl die Ausprägung one sieben mal häuger auftritt. Auch bei den Attributen Spore Print Color, Population und Habitat sind Werte vertreten, die nicht zu den häugsten zählen, während markantere Ausprägungen nicht repräsentiert werden. Insgesamt hat für diesen Datenbestand das kmeans Verfahren klar bessere Resultate geliefert Fazit Unter dem Strich sind die Ergebnisse des EMVerfahrens nicht ganz so überzeugend wie diejenigen von kmeans, obwohl beim CreditApproval Datenbestand der EMAnsatz besser abgeschnitten hat. Hinzu kommt, dass die Ermittlung typischer Datensätze mit dem EMVerfahren mehr Zeit beansprucht als mit der kmeans Variante. Beispielsweise benötigt der EMAlgorithmus für den Mushroom Datenbestand über sechs Stunden bis das optimale Clustering mittels Kreuzvalidierung gefunden ist. Allgemein hat der EMAlgorithmus eine Laufzeitkomplexität der Ordnung O(n M #Iterationen), wobei n der Anzahl Datensätze und M der Anzahl Modelle (Verteilungen) entspricht [20]. Über die Anzahl benötigter Iterationen scheinen sich die verschiedenen Autoren nicht einig zu sein. Während in [20] behauptet wird, dass die Anzahl Iterationen im Allgemeinen sehr hoch ist, wird in [40] gesagt, dass der Algorithmus sehr schnell gegen ein lokales Optimum konvergiert und deshalb jeweils nur wenige Iterationen nötig sind. Durch die Kreuzvalidierung zur Ermittlung einer guten Anzahl Cluster wird das ganze Prozedere mehrmals wiederholt, wodurch dieser Berechnungsaufwand etliche Male anfällt. Hinzu kommt der Aufwand für die Ermittlung einer guten initialen Parameterbelegung. 7 Die Funktionalität des DatensatzBrowsers wird in Kapitel 5 behandelt.

77 3.4 Charakteristische Datensätze mittels EM 65 Attribut Repräsentanten aus Mushroom Repräsentanten ID Class poisonous edible poisonous poisonous edible Cap Shape convex at at convex convex Cap Surface brous scaly smooth smooth smooth Cap Color gray red white red gray Bruises no yes yes no no Odor foul none foul shy none Gill Attach. free free free free free Gill Spacing close close close close crowded Gill Size broad broad broad narrow broad Gill Color chocolate purple white bu white Stalk Shape enlarging tapering tapering tapering enlarging Stalk Root bulbous bulbous bulbous?????? SS Above Ring silky smooth smooth silky smooth SS Below Ring silky smooth smooth silky smooth SC Above Ring brown gray white pink white SC Below Ring bu gray white pink white Veil Type partial partial partial partial partial Veil Color white white white white white Ring Number one one one one two Ring Type large pendant pendant evanescent pendant Spore Color chocolate black chocolate white white Population solitary solitary several several numerous Habitat grasses woods grasses paths grasses Tabelle 3.13: Mit dem EMAnsatz ermittelte Repräsentanten des Mushroom Datenbestandes (für k = 5). Jede Spalte stellt einen charakteristischen Datensatz dar, während die Zeilen die einzelnen Attributwerte wiedergeben. Statistiken zum Datenbestand sind in den Tabellen A.3 bis A.6 (Seite 107 bis 110) ersichtlich. Wie zu Beginn dieses Abschnitts erwähnt, wird für die Schätzung einer guten initialen Parameterbelegung die Datenmenge zuerst mit dem kmeans Algorithmus partitioniert, was nochmals eine zusätzliche Laufzeit zur Folge hat. Insgesamt kann durch die Kombination dieser Faktoren eine enorme Laufzeit resultieren, die je nach Beschaenheit der Datenmenge aber unterschiedlich ausfällt und im voraus im konkreten Fall nicht genau abgeschätzt werden kann. Die Annahme einer Normalverteilung sämtlicher Attributwerte stellt eine weitere Problematik dieses Verfahrens dar. Beispielsweise trit dies für nominale Attribute mit wenigen unterschiedlichen Ausprägungen wie dies beim Mushroom Datenbestand grösstenteils der Fall ist nicht zu. Auch bei kleineren Datenbeständen kann diese Annahme verletzt sein, da sich Verteilungen erst mit hinreichend grosser Stichprobe durch Gaussverteilungen approximieren lassen [21]. Im Allgemeinen soll gemäss [20] der EMAlgorithmus bezüglich unterschiedlicher Punktdichte und Grösse der Cluster aber robuster sein als kmeans.

78 66 Ermittlung charakteristischer Datensätze 3.5 Charakteristische Datensätze mittels Apriori Die folgende Methode unterscheidet sich grundsätzlich von den bisherigen zwei. Statt die Datenmenge zuerst durch ein Clustering in möglichst ähnliche Gruppen aufzuteilen, zielt dieses Verfahren darauf ab, häuge Teilmengen innerhalb des Datenbestandes zu lokalisieren, um daraus auf typische Datensätze schliessen zu können. Hierzu wird die Funktionalität des AprioriAlgorithmus aus Abschnitt 2.4 herangezogen. Gleichzeitig stellt dieses Verfahren eine eziente Alternative zu den besprochenen Clusteringverfahren dar allerdings mit gewissen Einschränkungen und Abstrichen, wie im Verlaufe dieses Abschnitts ersichtlich wird Diskretisierung numerischer Attribute Da der AprioriAlgorithmus zur Bildung von Assoziationsregeln kategorische Attribute voraussetzt, ist eine Diskretisierung der numerischen Attribute notwendig. 8 In Abschnitt wurde im Zusammenhang mit quantitativen Assoziationsregeln bereits ein Beispiel vorgestellt, wie der Wertebereich von skalaren Variablen in disjunkte Intervalle eingeteilt werden kann. Grundsätzlich werden zwei Arten von Diskretisierungsverfahren unterschieden [32]: ˆ Partitionierung nach Distanz (equal width binning) ˆ Partitionierung nach Häugkeit (equal frequency binning) Bei der Partitionierung nach Distanz wird der Wertebereich in k Intervalle gleicher Grösse unterteilt. In den so gebildeten Intervallen gleicher Breite sind somit unterschiedlich viele Dateneinträge vorhanden. Bei der Partitionierung nach Häugkeit wird der Wertebereich in k Intervalle mit jeweils ungefähr der gleichen Anzahl auftretender Werte zerlegt. Somit variiert die Intervallbreite, dafür sind in jeder Partition etwa gleich viele Dateneinträge vorhanden. Da wir in unserem Fall an häugen Teilmengen interessiert sind, ist eine Partitionierung nach Häugkeit nicht angebracht, weil dadurch in jedem Intervall in etwa gleich viele Daten zu liegen kommen. Durch eine Partitionierung nach Distanz können aber Wertebereiche (Intervalle) ausndig gemacht werden, die häug vorkommen und somit typisch für die Datenmenge sind. Für die Datenaufbereitung der hier vorgestellten Methode wird daher ein Diskretisierungsalgorithmus verwendet, der ein numerisches Attribut in k Intervalle gleicher Breite partitioniert. Die Ermittlung der Anzahl Intervalle k erfolgt dabei mittels einer Form der Kreuzvalidierung, genannt leaveoneout crossvalidation [11]. Diese Kreuzvalidierung funktioniert folgendermassen: 1. Setze zu Beginn den Wert für die Entropie E = infinity und die Anzahl Intervalle k = Partitioniere den Wertebereich in k gleich breite Intervalle und ermittle die Anzahl Datenwerte (Häugkeit) H i für jedes Intervall. 8 Genau genommen dürfen sogar nur boolesche Attribute vorkommen. Kategorische Attribute können aber sehr einfach und ohne Informationsverlust in boolesche überführt werden (siehe hierzu Abschnitt von Seite 18).

79 3.5 Charakteristische Datensätze mittels Apriori Berechne die kreuzvalidierte Entropie E k über alle Intervalle wie folgt: E k = k i=1 H i log(h i 1) I I bezeichnet dabei die Intervallbreite und berechnet sich aus der Dierenz der entsprechenden Attributextremalwerten dividiert durch die Anzahl Intervalle: (max min)/k. 4. Falls die berechnete Entropie E k kleiner als E ist, setze E = E k und inkrementiere k. Falls k 10 beginne wieder beim zweiten Schritt. Nach diesem Verfahren wird ein numerisches Attribut in diejenige Anzahl Intervalle gleicher Breite zerlegt, für die der Entropiewert am kleinsten ist. Es werden jedoch maximal zehn Intervalle in Betracht gezogen Iterative Variante des AprioriAlgorithmus Nachdem nun sämtliche Merkmale als kategorische Attribute vorliegen, kann mit der Ermittlung von häugen Teilmengen (frequent itemsets) gemäss dem AprioriAlgorithmus begonnen werden. Aus Abschnitt wissen wir, dass der Benutzer für die Bildung von Assoziationsregeln einen Wert für den minimalen Support und die minimale Kondenz vorgeben muss. Da unser Verfahren zur Bestimmung von repräsentativen Datensätzen für beliebige Datenbestände automatisch funktionieren sollte und die Struktur der Datensammlung vorab nicht bekannt ist, sind diese Vorgaben problematisch. Es gibt auch keine allgemein gute initiale Parameterbelegung für die Werte des minimalen Supports und der minimalen Kondenz. Um sicherzustellen, dass genügend häuge Itemsets und Regeln ermittelt werden, können die Werte des minimalen Supports und der minimalen Kondenz sehr tief angesetzt werden. In diesem Fall läuft man aber Gefahr, dass die Anzahl in Betracht gezogener häuger Teilmengen exponentiell ansteigt, mit entsprechenden Auswirkungen auf das Laufzeitverhalten (diese Problematik wurde generell bereits in Abschnitt und erwähnt). Um dies zu verhindern aber trotzdem zu garantieren, dass für jeden Datenbestand ausreichend häuge Teilmengen und Regeln gefunden werden kommt eine iterative Variante des AprioriAlgorithmus zur Anwendung. Bei dieser iterativen Variante werden eine obere und untere Schranke des minimalen Supports und die Anzahl gewünschter Regeln vorgegeben. Der Algorithmus beginnt nun mit der Ermittlung von häugen Itemsets und der Bildung der Assoziationsregeln und wählt dabei zu Beginn als minimalen Support den Wert der vorgegebenen oberen Schranke. Der minimale Support wird nun iterativ solange um einen bestimmten Wert delta verkleinert, bis die gewünschte Anzahl Regeln mit vorgegebener minimaler Kondenz generiert wurde. Falls die untere Schranke für den minimalen Support erreicht wird bevor die gewünschte Anzahl Regeln generiert wurde, dann terminiert das Verfahren mit den bislang ermittelten Regeln. Wenn die untere Schranke für den minimalen Support ausreichend tief gewählt wird, dann garantiert diese iterative Vorgehensweise, dass unabhängig der Beschaenheit des betrachteten Datenbestandes in angemessener Zeit häuge Itemsets und Regeln gefunden werden. Für eine Datensammlung mit vielen unterschiedlichen und gleichverteilten Attributwerten werden diese ermittelten Itemsets und Regeln einen relativ niedrigen Support

80 68 Ermittlung charakteristischer Datensätze aufweisen. Für Datenbestände mit wenigen Attributwertausprägungen wird der Support der generierten Itemsets und Regeln entsprechend höher ausfallen. Der Wert für die Anzahl zu generierender Regeln dient dabei als Abbruchkriterium. In der Implementierung dieses Verfahrens wird für delta und die untere Schranke des minimalen Supports der Wert 0,05 gewählt. Für die Anzahl zu generierender Regeln der Wert Als obere Schranke des minimalen Supports und als minimaler Kondenzwert wird der Wert 1,0 vorgegeben. Somit werden nur perfekte Regeln in Betracht gezogen Bestimmung der charakteristischen Datensätze Nachdem die iterative Variante des AprioriAlgorithmus die Itemsets und Regeln generiert hat, müssen nun anhand dieser Informationen charakteristische Datensätze gefunden werden. Wie bereits weiter oben zum Ausdruck kam, werden hierfür lediglich die Itemsets in Betracht gezogen. Die generierten Regeln dienen nur als Abbruchkriterium des Algorithmus. 9 Es gilt nun, aus der Menge der ermittelten Itemsets die k besten zu nehmen, um anschliessend je Itemset einen Datensatz zu nden, der die Bedingungen des Itemsets erfüllt. Diese gefundenen Datensätze sind dann die k Repräsentanten des Datenbestandes. Die Schwierigkeit liegt darin, aus der Menge der ermittelten Itemsets die k besten zu nden. Einfach die k grössten (viele Elemente mit grossem Support) zu nehmen ist keine gute Idee, da im Allgemeinen sehr viele redundante Itemsets generiert werden. Dadurch beschränkt sich im Endeekt die Diversität in der repräsentativen Menge auf ein Minimum. Es gilt demnach ein Kriterium zu denieren, welches diesem Umstand Rechnung trägt. Dabei muss ein angemessener Kompromiss zwischen folgenden Bedingungen gefunden werden: 1. Grosse Itemsets sind gegenüber kleineren vorzuziehen. Beispielsweise hat ein 5 elementiges Itemset gegenüber einem 4elementigen Vorrang. 2. Gleichzeitig sind Itemsets mit hohem Support jenen mit niedrigem Support vorzuziehen. Ein 5elementiges Itemset mit einem Support von 0,4 ist demnach einem anderen 5elementigen mit einem Support von 0,3 übergeordnet. Strittiger wird die Angelegenheit, wenn das grössere Itemset den tieferen Support aufweist wie das kleinere Itemset. 3. Die k gewählten Itemsets sollten möglichst unterschiedlich sein. D.h. die involvierten Elemente (Attribute mit entsprechenden Ausprägungen) der Itemsets sollten gesamthaft ein möglichst breites Spektrum abdecken. Prinzipiell sollte also erreicht werden, dass grosse Itemsets mit grossem Support gewählt werden, die untereinander möglichst wenig Redundanz aufweisen. Um diese Kriterien mit einem quantizierbaren Mass ausdrücken zu können, wird eine Funktion V (I 1, I 2 ) deniert, die aus diesen Bedingungen den repräsentativen Wert eines Itemsets I 1 gegenüber einem anderen I 2 berechnet: V (I 1, I 2 ) = (deltaelem(i 1, I 2 ) + ω deltav al(i 1, I 2 )) size(i 1) size(i 2 ) support(i 1) support(i 2 ) (3.5) Der Ausdruck deltaelem(i 1, I 2 ) bezeichnet die Anzahl Elemente (Attribute), die in I 1 vorkommen, aber nicht in I 2. Dieser Term ist somit ein Mass für die Verschiedenheit 9 Da als minimaler Kondenzwert 1,0 vorgegeben wurde, sind die Regeln ohnehin ziemlich identisch mit den häugen Itemsets, da die Regeln aus den Itemsets gebildet werden (siehe hierzu Abschnitt von Seite 17).

81 3.5 Charakteristische Datensätze mittels Apriori 69 der beiden Itemsets. Der Term deltav al(i 1, I 2 ) misst, wie viele Elemente in den beiden Itemsets identisch sind, aber unterschiedliche Werte aufweisen. Auch dieser Ausdruck gibt Aufschluss über die Verschiedenheit der beiden Itemsets. Mit dem Faktor ω können die beiden Terme schliesslich unterschiedlich gewichtet werden. Der Quotient size(i 1) gibt das Verhältnis der Itemsetgrössen wieder und support(i 1) das size(i 2 ) support(i 2 ) Verhältnis der Supporte. Da diese Quotienten dieselbe Gewichtung haben, kann eine um x% kleinere Itemsetgrösse durch x% mehr Support kompensiert werden. Beispielsweise kann ein 9elementiges Itemset mit einem Support von 0,5 denselben repräsentativen Wert erreichen wie ein 10elementiges Itemset mit einem Support von 0,45, sofern die restlichen Werte identisch sind. Je grösser nun V (I 1, I 2 ) für zwei Itemsets ausfällt, desto besser ergänzen sie sich, d.h. desto komplementärer sind sie. Dieser Wert kann zu einem gewissen Grad als Analogon zum repräsentativen Wert vom kmeans Verfahren angesehen werden (siehe Formel 3.4 auf Seite 47). Im Unterschied zum kmeans Verfahren, wo der repräsentative Wert für Datensätze berechnet wird, ist hier der repräsentative Wert aber für Paare von Itemsets deniert. In Quellcode 3.3 ist der Algorithmus zur Berechnung des repräsentativen Wertes zwischen zwei Itemsets in JavaSyntax abgebildet. Um die charakteristischen Datensätze zu bestimmen, wird zu Beginn das grösste Itemset mit grösstem Support genommen. Dann wird das erste Tupel, welches die Bedingungen dieses Itemsets erfüllt, als repräsentative Instanz gewählt. Für die Bestimmung des zweiten charakteristischen Datensatzes wird aus der Menge der verbleibenden Itemsets dasjenige ausgewählt, welches den repräsentativen Wert aus Formel 3.5 zum bereits gewählten Itemset maximiert. Nun wird wieder die erste Instanz, welche die Bedingung dieses neuen Itemsets erfüllt und nicht bereits durch ein früheres Itemset gewählt wurde, als nächster Repräsentant genommen. Nachdem dieser Vorgang k mal wiederholt wurde, hat man aus k unterschiedlichen Itemsets k typische Datensätze ermittelt Ein altbekanntes Beispiel Um dieses AprioriVerfahren an einem Beispiel zu demonstrieren, betrachten wir erneut den Datenbestand aus Tabelle 3.1 (Seite 33). Anhand dieser kleinen Datensammlung machten wir uns zu Beginn dieses Kapitels über die Eigenschaften von repräsentativen Datensätzen Gedanken. Wenn man auf diesem Datenbestand den iterativen AprioriAlgorithmus anwendet, dann resultieren die Itemsets aus Tabelle 3.14(a). Aus Gründen der Übersichtlichkeit sind die Itemsets nach Grösse und Support geordnet. Die erste Zeile steht beispielsweise für das 3elementige Itemset bestehend aus den Elementen Geschlecht, Berufssektor und Erfahrung und den Elementwerten Männlich, Handwerk, (5,20). Die letzte Spalte gibt jeweils den absoluten Support des Itemsets an. In diesem Fall beträgt er 4, d.h. vier Datensätze erfüllen die Bedingungen dieses Itemsets. An diesem Beispiel wird auch die Problematik der Diskretisierung oensichtlich. Hier hat der Algorithmus das numerische Attribut lediglich in ein Intervall (5, 20) zerlegt. Somit haben die aufbereiteten Daten bei diesem Attribut alle dieselbe Ausprägung, was zu einem maximalen Informationsverlust führt. Anhand dieser gefundenen Itemsets werden nun die repräsentativen Datensätze abgeleitet. Wie im vorherigen Abschnitt erklärt, wird hierfür als erstes das Itemset mit dem grössten

82 70 Ermittlung charakteristischer Datensätze double omega = 2. 0 ; public double calculaterepvalue ( ItemSet tempitemset, ItemSet repitemset ) { // counter f o r d i f f e r e n t items ( elements ) int deltaelem = 0 ; // counter f o r same items but d i f f e r e n t v a l u e s int deltaval = 0 ; // a l l items o f an i t e m s e t are // r e p r e s e n t e d as ( a t t r i b u t e, v a l u e ) p a i r s for ( Attribute att : data. a t t r i b u t e s ( ) ) { i f ( tempitemset. contains ( att ) ) { // tempitemset c o n t a i n s item i f ( repitemset. contains ( att ) ) { // both i t e m s e t s contain item i f ( tempitemset. getvalue ( att )!= repitemset. getvalue ( att ) ) { // same item ( element ), d i f f e r e n t v a l u e s deltaval++; } else { // same item and same v a l u e s } } else { // r e p I t e m s e t does not contain item deltaelem++; } } else { // tempitemset does not contain item => the s t r u c t u r e // o f r e p I t e m s e t does not matter anymore } } double t o t a l D e l t a = deltaelem + omega * deltaval ; double s i z e R a t i o = ( double ) tempitemset. g e t S i z e ( ) / ( double ) repitemset. g e t S i z e ( ) ; double supportratio = ( double ) tempitemset. getsupport ( ) / ( double ) repitemset. getsupport ( ) ; return t o t a l D e l t a * s i z e R a t i o * supportratio ; } Quellcode 3.3: Algorithmus zur Ermittlung des repräsentativen Wertes von Itemsets gemäss Formel 3.5. In der Implementierung dieses Verfahrens wird als Standardwert von ω der Wert 2 gewählt.

83 3.5 Charakteristische Datensätze mittels Apriori 71 Itemsets ID Geschlecht Berufssektor Erfahrung Support 3elementige Itemsets 1 Männlich Handwerk [5, 20] 4 2 Weiblich Gesundheitswesen [5, 20] 4 3 Weiblich Dienstleistung [5, 20] 2 4 Männlich Gesundheitswesen [5, 20] 1 5 Weiblich Handwerk [5, 20] 1 2elementige Itemsets 6 Weiblich [5, 20] 7 7 Männlich [5, 20] 5 8 Gesundheitswesen [5, 20] 5 9 Handwerk [5, 20] 5 10 Männlich Handwerk 4 11 Weiblich Gesundheitswesen 4 12 Weiblich Dienstleistung 2 13 Dienstleistung [5, 20] 2 14 Männlich Gesundheitswesen 1 15 Weiblich Handwerk 1 1elementige Itemsets 16 [5, 20] Weiblich 7 18 Männlich 5 19 Gesundheitswesen 5 20 Handwerk 5 21 Dienstleistung 2 (a) Generierte Itemsets des Beispieldatenbestandes aus Tabelle 3.1 Repräsentative Datensätze ID Geschlecht Berufssektor Erfahrung Itemset 8 Männlich Handwerk Weiblich Gesundheitswesen Weiblich Dienstleistung Männlich Handwerk Weiblich Gesundheitswesen Männlich Handwerk Weiblich Gesundheitswesen 5 6 (b) Ermittelte Repräsentanten anhand der Itemsets mit höchstem repräsentativen Wert Tabelle 3.14: Illustrierung des AprioriVerfahrens zur Ermittlung charakteristischer Datensätze. In 3.14(a) sind die generierten Itemsets des Beispieldatenbestandes aus Tabelle 3.1 (Seite 33) ersichtlich. Jede Zeile entspricht einem Itemset mit den Elementen der Spalten, wobei die erste Spalte ein Identikator darstellt und die letzte den absoluten Support des entsprechenden Itemsets angibt. Die Einträge sind nach Grösse und Support geordnet. In 3.14(b) sind die anhand der Itemsets ermittelten Repräsentanten abgebildet. In der letzten Spalte ist jeweils die ID des zugrunde liegenden Itemsets aufgeführt.

84 72 Ermittlung charakteristischer Datensätze Support und den meisten Elementen genommen. In unserem Beispiel also der oberste Eintrag, da die Itemsets sortiert sind. Nun wird im Datenbestand (Tabelle 3.1(a)) das erste Tupel gesucht, welches die Bedingungen dieses Itemsets Männlich, Handwerk, (5,20) erfüllt. Das trit für den Datensatz mit ID = 8 zu. Diese Instanz wird somit als erste Repräsentantin des Datenbestandes gewählt. Nun wird gemäss Formel 3.5 vom vorherigen Abschnitt das nächst beste Itemset ermittelt. Also dasjenige, welches zum bereits gewählten den höchsten repräsentativen Wert aufweist. In diesem Fall ist dies das zweite Itemset Weiblich, Sozial, (5,20) mit einem repräsentativen Wert gegenüber dem vorher gewählten Itemset von 4. Dieser Wert berechnet sich wie folgt: 1. Der Term deltaelem(i 1, I 2 ) zur Berechnung der Anzahl unterschiedlichen Elementen in den beiden Itemsets beträgt 0, weil in beiden Itemsets dieselben Elemente (Attribute) vorkommen. 2. Der Ausdruck deltav al(i 1, I 2 ) zur Bestimmung der Anzahl unterschiedlichen Ausprägungen für dieselben Elemente der betrachteten Itemsets beträgt 2. In beiden Itemsets kommen die Elemente Geschlecht, Berufssektor und Erfahrung vor. Allerdings unterscheiden sich die Werte von Geschlecht und Berufssektor der beiden Itemsets. Insgesamt haben also zwei gleiche Elemente unterschiedliche Ausprägungen, was zu deltav al(i 1, I 2 ) = 2 führt. 3. Der Quotient size(i 1) size(i 2 ) sind 3elementig). beträgt ebenfalls 1, da die beiden Itemsets denselben Sup- 4. Der Quotient support(i 1) support(i 2 ) port aufweisen (je 4). beträgt 1, weil beide Itemsets dieselbe Grösse haben (beide 5. Da in der Implementierung ω = 2 gewählt ist, ergibt sich total einen repräsentativen Wert von V (I 1, I 2 ) = ( ) 1 1 = 4. Nun wird für das soeben ermittelte Itemset Weiblich, Sozial, (5,20) wiederum das erste Tupel in der Datenbank gesucht, welches diese Kriterien erfüllt. Das ist in unserem Beispiel der Eintrag mit ID = 1. Da dieser Datensatz noch nicht in der repräsentativen Menge enthalten ist, wird er als zweiter Repräsentant hinzugefügt. Andernfalls würde das nächste Tupel, welches den Kriterien des Itemsets gerecht wird, in Betracht gezogen. Wenn man nach diesem Verfahren zur Ermittlung des nächst besten Itemsets und der entsprechenden Instanz fortfährt, dann werden die Datensätze aus Tabelle 3.14(b) als Repräsentanten gewählt. Die Einträge sind nach ihrer Wahl zum typischen Datensatz geordnet. Der oberste Eintrag wird vom Verfahren zuerst gewählt, gefolgt vom zweiten und so weiter. In der letzten Spalte ist jeweils ein Verweis auf das Itemset angegeben, das für die Auswahl dieses Datensatzes ausschlaggebend war. Wir vergleichen nun die nach diesem AprioriVerfahren gefundenen Datensätze mit den erwarteten Resultaten, die in Abschnitt (Seite 32) diskutiert wurden. Wenn man vom numerischen Attribut Erfahrung absieht, dann stimmen die ermittelten Repräsentanten sehr gut mit den erwarteten überein. Weil durch die Diskretisierung von Erfahrung in lediglich ein Intervall aber sämtliche Information verloren ging, entspricht bei den Repräsentanten die Ausprägung für dieses Merkmal nicht den gewünschten Werten. Bei der Wahl der typischen Datensätze konnte dieses Attribut also nicht sinnvoll berücksichtigt werden, womit die entsprechenden Attributwerte in der repräsentativen Menge dem Zufall überlassen wurden sprich der Reihenfolge der Tupel in der Datenbank, da jeweils

85 3.5 Charakteristische Datensätze mittels Apriori 73 die erste Instanz, welche die Bedingungen des Itemsets erfüllt, gewählt wird. Falls im Datenbestand numerische Attribute vorhanden sind, dann ist bei der Anwendung dieser Methode also Vorsicht geboten Test mit Mushroom Datenbestand Nachdem wir die generelle Funktionsweise dieses Verfahrens gesehen haben, wenden wir diese Methode nun auf den bekannten Testdaten an. Bei der Anwendung auf dem Iris Datenbestand resultieren äusserst zufällige Resultate. Beispielsweise ist in der Menge von neun typischen Datensätzen lediglich eine IrisArt versicolor vertreten. Auch für andere Werte von k (Anzahl Repräsentanten) wirkt das Ergebnis willkürlich. Dieser Umstand ist vor allem auf die Diskretisierung der numerischen Attribute zurückzuführen. Alle numerischen Attribute werden in sieben bis zehn Intervalle zerlegt. Da der Iris Datenbestand aber aus vier numerischen und nur einem nominalen Attribut besteht, summiert sich der Informationsverlust und das Ergebnis fällt unbrauchbar aus. Ähnliches trit für den CreditApproval Datenbestand zu. Auch hier wird das Ergebnis massiv durch die diskretisierten Attribute beeinusst, was zu unbefriedigenden Resultaten führt. Beim Mushroom Datenbestand existieren keine numerischen Attribute, die das Ergebnis beeinussen können. Daher wurden aus diesen Daten nach dem AprioriVerfahren, wie bereits für die beiden Clusteringverfahren, fünf charakteristische Datensätze ermittelt. Die auserwählten Instanzen sind in Tabelle 3.15 aufgelistet. Zusätzlich sind in Tabelle 3.16 die ermittelten besten Itemsets aufgeführt, die für die Wahl der charakteristischen Datensätze ausschlaggebend waren. In der untersten Zeile der Itemsets ist jeweils auf die ID des charakteristischen Datensatzes verwiesen d.h. aufgrund dieses Itemsets wurde der Datensatz mit entsprechender ID zum Repräsentant gewählt. Beim Betrachten der fünf gewählten Itemsets fällt auf, dass alle sehr ähnlich sind. Hier hat das Mass zum repräsentativen Wert aus Formel 3.5 nicht geholfen, die Redundanz innerhalb der Itemsets zu minimieren. Dies ist hauptsächlich darauf zurückzuführen, weil sich kleinere Itemsets nicht gegen grössere durchsetzen konnten. Beispielsweise hat das 10elementige Itemset der ersten Spalte einen beträchtlichen Support von 2240, d.h. über 25% aller Datensätze weisen die Attributkombination dieses Itemsets auf. Dieser hohe Wert ist nur zu erreichen, weil die meisten dieser zehn Attribute wenige Ausprägungen haben und diese wenigen Ausprägungen zudem sehr unterschiedlich häug vorkommen (beispielsweise kommt die Ausprägung Gill Attachment = free 7914 mal vor, während Gill Attachment = attached nur 210 mal vertreten ist). Somit lassen sich durch Kombination solcher extrem häugen Attributwerte viele grosse Itemsets mit hohem Support bilden. Kleinere Itemsets, mit anderen Element(wert)en, können sich trotz mehr Diversität nicht durchsetzen, weil ihr Support nicht ausreicht, um die fehlende Grösse zu kompensieren. Wenn die Formel 3.5 zur Berechnung des repräsentativen Wertes so angepasst wird, dass die Diversität (gegenüber der Grösse und dem Support) mehr gewichtet wird, dann können sehr schnell Itemsets gewählt werden, die eine Minderheit darstellen. Durch den Umstand, dass fünf sehr ähnliche Itemsets gewählt wurden, fällt auch das Resultat der daraus abgeleiteten repräsentativen Menge bescheiden aus. Beispielsweise haben die beiden Vertreter der giftigen Pilze (Class = poisonous) bis auf zwei Merkmale dieselben Ausprägungen, wie der Tabelle 3.15 zu entnehmen ist. In Anbetracht der

86 74 Ermittlung charakteristischer Datensätze Attribut Repräsentanten aus Mushroom Repräsentanten ID Class edible poisonous edible edible poisonous Cap Shape convex convex bell convex convex Cap Surface smooth brous smooth scaly brous Cap Color yellow gray white yellow gray Bruises yes no yes yes no Odor almond foul anise almond foul Gill Attach. free free free free free Gill Spacing close close close close close Gill Size broad broad broad broad broad Gill Color black chocolate brown brown pink Stalk Shape enlarging enlarging enlarging enlarging enlarging Stalk Root club bulbous club club bulbous SS Above Ring smooth silky smooth smooth silky SS Below Ring smooth silky smooth smooth silky SC Above Ring white brown white white bu SC Below Ring white bu white white bu Veil Type partial partial partial partial partial Veil Color white white white white white Ring Number one one one one one Ring Type pendant large pendant pendant large Spore Color brown chocolate brown black chocolate Population numerous solitary numerous numerous solitary Habitat grasses grasses meadows grasses grasses Tabelle 3.15: Charakteristische Datensätze des Mushroom Datenbestandes anhand des AprioriAnsatzes ermittelt (für k = 5). Die Itemsets, die für die Wahl dieser Repräsentanten ausschlaggebend waren, sind in Tabelle 3.16 aufgeführt. Statistiken zum Datenbestand sind in den Tabellen A.3 bis A.6 (Seite 107 bis 110) ersichtlich. hohen Redundanz innerhalb der fünf ermittelten Itemsets ist dieses Resultat nicht verwunderlich. Insgesamt ist das Ergebnis für diesen Datenbestand also nicht ganz zufrieden stellend Fazit Eine Methode zur Ermittlung von charakteristischen Datensätzen, die auf häugen Teilmengen (Itemsets) basiert, ist vom Prinzip her viel versprechend, denn eine häug auftretende Teilmenge ist eigentlich per Denition typisch und repräsentativ für die gesamte Menge. Allerdings wurde mit dem denierten Mass aus Formel 3.5 keine befriedigende Funktion zur Bestimmung des repräsentativen Wertes zwischen zwei Itemsets gefunden. Konzeptionell ist der Ansatz wohl brauchbar, dass eine kleinere Itemsetgrösse mit einem höheren Support kompensiert werden kann, wenn es um die Ermittlung des nächst besten Itemsets geht. Auch die Idee, die Anzahl unterschiedlicher Elemente und die Anzahl unterschiedlicher Elementwerte zu berücksichtigen, scheint mir nicht abwegig zu sein. Al-

87 3.5 Charakteristische Datensätze mittels Apriori 75 Fünf Itemsets aus Mushroom mit grösstem repräsentativen Wert Element Itemsets Class edible poisonous edible edible poisonous Cap Shape Cap Surface Cap Color Bruises yes no yes yes no Odor Gill Attach. free free free free free Gill Spacing close close close close close Gill Size broad broad broad Gill Color Stalk Shape Stalk Root SS Above Ring smooth silky smooth smooth SS Below Ring smooth smooth smooth silky SC Above Ring SC Below Ring Veil Type Veil Color white white white white Ring Number one one one one Ring Type pendant pendant pendant Spore Color Population Habitat Support Datensatz ID Tabelle 3.16: Ermittelte Itemsets des Mushroom Datenbestandes mit höchstem repräsentativen Wert. Jede Spalte stellt ein Itemset mit den Element(wert)en der Zeilen dar. Die zweitletzte Zeile gibt den absoluten Support des jeweiligen Itemsets an. Die unterste Zeile verweist auf die ID des charakteristischen Datensatzes aus Tabelle Beispielsweise hat das 10elementige Itemset der ersten Spalte die Wahl der Instanz mit ID = zum Repräsentanten veranlasst.

88 76 Ermittlung charakteristischer Datensätze lerdings muss das Ganze wohl in einer anderen Form geschehen vielleicht mit einer Art Entropiemass, indem die Attribute aufgrund ihrer Verteilung unterschiedlich gewichtet werden, wenn es um die Wahl der Itemsets geht. Zusätzlich hat ein Verfahren dieser Art auch Vorteile bezüglich der Laufzeit. Für den Mushroom Datenbestand wurden lediglich etwas mehr wie 33 Sekunden benötigt, um die geforderten 7000 Regeln und die hierzu benötigten Itemsets zu generieren (wir erinnern uns aus Abschnitt (Seite 18), dass der AprioriAlgorithmus im Normalfall eine ungefähr lineare Laufzeit in der Grösse der Transaktionsmenge aufweist). Die Zeit für die Ermittlung der fünf Itemsets und den zugehörigen Repräsentanten liegt dann im Bereich von zwei Zehntelsekunden. Die Laufzeitkomplexität für die Bestimmung der besten Itemsets ist aber von einer höheren wie linearen Ordnung, weil alle Itemsets jeweils k mal durchlaufen werden und zusätzlich der repräsentative Wert zu jedem bereits ermittelten Itemset berechnet wird. Da k im Allgemeinen aber klein ist, fällt dies nicht sonderlich ins Gewicht. Selbst für die Berechnung von 50 Repräsentanten wird für diesen Datenbestand nicht mehr wie 2,5 Sekunden benötigt. Ein weiterer interessanter Aspekt dieser Methode ist, dass man mit der Anzahl zu generierenden Regeln ein Abbruchkriterium vorgeben kann. Somit ist ein Kompromiss zwischen Zuverlässigkeit der Resultate und Laufzeit denkbar. Im Endeekt muss man aber festhalten, dass diese Methode in ihrer momentanen Form noch unvollkommen ist, aber durchaus Potential bietet (allerdings unter der Voraussetzung, dass keine numerischen Attribute vorhanden sind). 3.6 Verwandte Arbeiten Während der Ausarbeitung dieser Diplomarbeit wurde mit [35] ein Papier veröentlicht, in dem ebenfalls ein Verfahren zur Ermittlung von repräsentativen Datensätzen vorgestellt wird. Im Folgenden wird dieses Verfahren kurz vorgestellt und in Zusammenhang mit den hier vorgestellten Methoden gebracht. In [35] werden Datensätze nicht durch verschiedene Attribute mit entsprechenden Werten charakterisiert, sondern nur durch die Werte. D.h. jeder Datensatz ist durch eine Menge von Merkmalen (features) beschrieben, ohne zu wissen, von welchem Attribut diese Ausprägung stammt. Pro Merkmal wird dann eine binäre Variable eingeführt, die über das Vorhandensein des entsprechenden Merkmals Aufschluss gibt. Anschliessend wird jede Instanz als Verteilung in der Domäne dieser binären Variablen aufgefasst. In Tabelle 3.17 ist ein Beispiel für diese Transformation und die Auassung der Daten als Verteilung abgebildet. Die ursprünglichen Daten sind in Tabelle 3.17(a) zu sehen. Beispielsweise ist die Instanz e 5 durch die Merkmale f 1, f 5 charakterisiert. Nun wird für jedes Merkmal ein binäres Attribut eingeführt. Falls eine Instanz ein bestimmtes Merkmal aufweist, dann ist der entsprechende Wert beim binären Attribut 1, ansonsten 0. Diese transformierten Daten sind in Tabelle 3.17(b) ersichtlich. Danach wird jedes Tupel als Verteilung in der Domäne der Merkmale aufgefasst, womit die Werte aus Tabelle 3.17(c) resultieren. Es sei nun E = {e 1,..., e n } die Menge aller Instanzen und F = {f 1,..., f m } die Menge der Merkmale. Anhand dieser beiden Mengen können zwei Zufallsvariablen T und A für die Instanzendomäne, respektive die Merkmalsdomäne deniert werden. Wenn man

89 3.6 Verwandte Arbeiten 77 Originale Daten Instanz Merkmale e 1 f 1, f 2, f 3, f 4 e 2 f 2, f 3, f 4 e 3 f 1, f 4, f 5 e 4 f 3, f 4, f 5 e 5 f 1, f 5 Transformierte Daten Instanz f 1 f 2 f 3 f 4 f 5 e e e e e (a) Originale Merkmale der Instanzemiert (b) Merkmale in binäre Variablen transfor- Verteilung Instanz f 1 f 2 f 3 f 4 f 5 e 1 0,25 0,25 0,25 0,25 0,00 e 2 0,00 0,33 0,33 0,33 0,00 e 3 0,33 0,00 0,00 0,33 0,33 e 4 0,00 0,00 0,33 0,33 0,33 e 5 0,50 0,00 0,00 0,00 0,50 (c) Instanzen als Verteilung in der Domäne von Merkmalen aufgefasst Tabelle 3.17: Auassung von Datensätzen als Verteilung in der Domäne von Merkmalen. Die originalen Datensätze (e i ) mit entsprechenden Merkmalen (f i ) sind in Tabelle 3.17(a) aufgeführt. Nach der Transformation der Merkmale in binäre Variablen resultiert 3.17(b). Nun werden die Datensätze als Verteilung in der Domäne der Merkmale aufgefasst, was zu den Werten in 3.17(c) führt. Das Beispiel stammt aus [35]. davon ausgeht, dass alle Instanzen gleich wahrscheinlich sind (also P (T = e i ) = 1 E ), dann können die Werte in Tabelle 3.17(c) als bedingte Wahrscheinlichkeiten P (A T ) aufgefasst werden. Beispielsweise beträgt P (f 1 e 1 ) = 0, 25, also die Wahrscheinlichkeit von Merkmal f 1, gegeben die Instanz e 1. Für eine Teilmenge E i E lässt sich somit eine Funktion für die Wahrscheinlichkeitsverteilung wie folgt denieren: P (A E i ) = e E i P (e) P (E i ) P (A e) = 1 E i e E i P (A e) Aufgrund dieser Wahrscheinlichkeitsverteilung kann nun die Dierenz von zwei Teilmengen E i und E j mittels der relativen Entropie (KullbackLeibler Divergenz) gemessen werden: D KL [E i E j ] = D KL [P (A E i ) P (A E j )] = f F P (f E i ) log P (f E i) P (f E j ) (3.6) Eine hohe relative Entropie bedeutet, dass die zwei Teilmengen sehr unterschiedlich sind, während eine niedrige relative Entropie Aufschluss über die Redundanz zwischen den beiden Teilmengen gibt. Für den Spezialfall, wo die beiden Teilmengen E i und E j lediglich aus je einem Element bestehen, lassen sich mit der relativen Entropie auch zwei einzelne Datensätze auf ihre

90 78 Ermittlung charakteristischer Datensätze Ähnlichkeit vergleichen. Somit lässt sich ein Mass zur Bestimmung der Verwandtheit von zwei Instanzen r und e (mit r E und e E) denieren: D KL [r e] < (min ei E {r}d KL [r e i ]) t max, mit t max 1 Der Ausdruck min ei E {r}d KL [r e i ] liefert die minimale Entropie zwischen r und allen anderen Instanzen aus E. Mit dem Faktor t max kann dieser Wert vergrössert werden. Eine Instanz e ist demnach verwandt (steht in Beziehung) mit Instanz r, wenn die relative Entropie zwischen den beiden (D KL [r e]) innerhalb eines bestimmten Bereichs der minimalen Entropie zwischen r und allen anderen Instanzen in E liegt. Dieser Bereich kann dabei mit dem Parameter t max variiert werden. L(r) steht nun für die Menge der Instanzen aus E, die mit r verwandt sind. Falls t max < 1, dann ist L(r) = {r}. Sei nun R eine repräsentative Teilmenge aus E (also R E), dann kann für jede repräsentative Instanz r i R die verwandte Menge L(r i ) E gemäss obiger Formel ermittelt werden. Anhand der repräsentative Menge R = {r 1,..., r n } lässt sich somit der ganze Instanzenraum E wieder aufspannen durch E = L(r 1 )... l(r n ) E θ. E θ bezeichnet dabei die Menge von Instanzen, die mit keinem Repräsentant r i R verwandt ist. r θ ist ein ktiver Repräsentant von E θ. Somit gilt L(r θ ) = E θ. Nun wird eine Zufallsvariable M über dem Bereich von R = {r 1,..., r n } und r θ deniert. Mit der Transinformation (mutual information) kann der Informationsgehalt gemessen werden, über den die beteiligten Wahrscheinlichkeitsverteilungen wechselseitig (mutual) verfügen. Anhand dieses Masses kann also der Informationsgehalt der repräsentativen Menge M, im Vergleich zum Informationsgehalt des gesamten Datenbestandes (Merkmalsdomäne A), wie folgt ermittelt werden: I(M, A) = H(A) H(A M) Somit lässt sich auch die Dierenz des Informationsgehaltes von zwei repräsentativen Mengen M 1 und M 2 berechnen: I(M 2, M 1 ) = I(M 2, A) I(M 1, A) = H(A M 1 ) H(A M 2 ) Die Ermittlung der repräsentativen Datensätze erfolgt nun nach folgendem Schema: Ausgehend von der leeren repräsentativen Menge R = wird in jeder Iteration diejenige Instanz hinzugefügt, welche die Transinformation der neu resultierenden repräsentativen Menge maximiert. Gleichzeitig wird versucht, die Redundanz gemessen an der relativen Entropie aus Formel 3.6 zwischen der neuen Instanz und den bestehenden Repräsentanten zu minimieren. Wenn diese beiden Faktoren kombiniert werden, dann ergibt sich folgende Funktion: f(r new, R) = I(M new, M) + min r R (D KL [r new r]) Es wird also in jeder Iteration derjenige Datensatz r new der repräsentativen Menge R hinzugefügt, der den Funktionswert f(r new, R) maximiert. Zur Messung der Repräsentativität führen die Autoren die Masse Abdeckung (coverage) und Präzision (accuracy) ein. Die Abdeckung misst den prozentualen Anteil der Klassen, die in der repräsentativen Menge R vorhanden sind. Wenn C die Anzahl unterschiedlicher Klassen des Datenbestandes bezeichnet und C(R) die Anzahl unterschiedlicher Klassen, die in der repräsentativen Menge vertreten sind, dann ist die Abdeckung deniert als: coverage = C(R) C

91 3.6 Verwandte Arbeiten 79 Die Präzision misst den Anteil der Datensätze, welche dieselbe Klassenzugehörigkeit haben wie ihr nächster Repräsentant r i R. Mit dem nächsten Repräsentant ist dabei derjenige Repräsentant gemeint, der die kleinste relative Entropie zur betrachteten Instanz aufweist. Wenn also C(E) die Anzahl Datensätze mit gleicher Klassenzugehörigkeit wie ihr nächster Repräsentant bezeichnet und E der Umfang des Datenbestandes ist, dann ist die Präzision wie folgt deniert: accuracy = C(E) E Diese Masse erlauben zwar die Angabe der Repräsentativität einer ermittelten Menge durch zwei Zahlen, machen aber keine weiteren Aussagen über die tatsächlich gewählten Repräsentanten Vergleich der Ansätze Aufgrund der Transformation der Datensätze in binäre Variablen, kann das Verfahren von [35] nicht ohne weiteres mit numerischen Attributen umgehen. Numerische Merkmale müssen demnach wie beim AprioriVerfahren vorgängig diskretisiert werden, damit diese Methode wie beschrieben angewendet werden kann. Dies hat zwangsläug einen Informationsverlust zur Folge, was sich auch hier mehr oder weniger gravierend auswirken kann (vergleiche hierzu die Problematik der Diskretisierung numerischer Attribute im Zusammenhang mit dem AprioriVerfahren aus Abschnitt 3.5). Die vorgestellten Methoden die auf dem kmeans und dem EMAlgorithmus basieren, können dagegen direkt mit numerischen Attributen umgehen. Durch die beiden quantitativen Masse (Abdeckung und Präzision) lässt sich die Güte repräsentativer Mengen beliebiger Datenbestände sehr einfach angeben und vergleichen. Allerdings machen diese Masse keine weiteren Aussagen über die tatsächlich gewählten Repräsentanten. Beispielsweise können Ausreisser als Repräsentanten gewählt werden, weil diese eine hohe relative Entropie gegenüber bereits existierenden Repräsentanten aufweisen. Dieser Missstand lässt sich mit den beiden vorgeschlagenen Massen nicht zwangsläug aufdecken. Dafür ist keine aufwändige qualitative Evaluation der Resultate für jeden einzelnen Datenbestand notwendig, wie das in dieser Arbeit gemacht wurde. Zudem sagt das Mass zur Bestimmung der Abdeckung (coverage) meiner Ansicht nach nicht viel über die Repräsentativität einer ermittelten Teilmenge aus, da es die unterschiedliche Häugkeit von Klassenausprägungen nicht berücksichtigt. Wenn beispielsweise ein bestimmter Klassenwert sehr selten vorkommt, dann ist diese Ausprägung in einer kleinen repräsentativen Menge auch nicht wünschenswert, da dies die Informationsverhältnisse der Gesamtmenge verfälscht wiedergibt. Durch das Mass coverage wird ein solcher Umstand aber bestraft, da es die Verteilung der Klassenwerte nicht berücksichtigt. Dagegen ist bei wenigen und annäherungsweise gleichverteilten Klassenwerten die Wahrscheinlichkeit ziemlich gross, dass die verschiedenen Klassen zufallsbedingt in der repräsentativen Menge vertreten sind und somit auch das Mass coverage einen hohen Wert erreicht. Beispielsweise beträgt für den Mushroom Datenbestand der auch in [35] zu Testzwecken herangezogen wurde die Wahrscheinlichkeit über 93%, dass bei zufälliger Ziehung von fünf Datensätzen beide Klassenwerte (edible und poisonous) in der Stich-

92 80 Ermittlung charakteristischer Datensätze probe vertreten sind: 4208! 8119! 3916! 8119! 1 P (5 edible) P (5 poisonous) = 1 = 0, ! 8124! 3911! 8124! 1 ( )5 ( )5 = 0, 9367 Somit hat eine zufällige Stichprobe aus dem Mushroom Datenbestand im Umfang von fünf Ziehungen mit der Wahrscheinlichkeit von über 93% eine maximale Abdeckung von coverage = C(R) C = 1, womit die Aussagekraft dieses Masses bescheiden ausfällt. Ferner setzen beide Masse ein Klassenattribut voraus, um die Repräsentativität von Teilmengen zu beurteilen. Die Laufzeitkomplexität dieses entropiebasierten Verfahrens geben die Autoren mit O(k E ) an, wobei k die Anzahl Repräsentanten und E die Grösse des Datenbestand ist. Da in diesem Ansatz aber während der Vorverarbeitung die relative Entropie zwischen allen möglichen Paaren von Datensätzen berechnet wird, ist die Laufzeit trotzdem quadratisch also von derselben Ordnung wie das kmeans Verfahren aus Abschnitt Rückblick In diesem Kapitel wurden mit dem kmeans, dem EM und dem AprioriVerfahren drei verschiedene Methoden zur Ermittlung von charakteristischen Datensätzen vorgestellt. Die Verfahren sind anhand von drei unterschiedlichen Testdatenbeständen getestet und die Ergebnisse evaluiert worden. Mit den Iris Testdaten hatten wir zu Beginn einen einfachen Datenbestand, der sich vorwiegend aus numerischen Attributen zusammensetzte. Der CreditApproval Datenbestand war um einiges umfangreicher und lieferte zudem einen guten Mix aus numerischen und nominalen Attributen. Die Mushroom Testdaten bestanden ausschliesslich aus nominalen Merkmalen und waren mit 8124 Tupel der umfangreichste Datenbestand. Insgesamt wurde mit diesen drei Datenbeständen ein breites Spektrum an möglichen Anwendungsfällen abgedeckt. Die beiden Clusteringverfahren kmeans und EM lieferten für die Testdatenbestände weitgehend gute Resultate, während das AprioriVerfahren nur ansatzweise zufrieden stellende Ergebnisse absetzte und daher noch Entwicklungsbedarf hat. Ein weiteres Problem des AprioriAnsatzes ist der Informationsverlust durch die Diskretisierung numerischer Attribute. Wegen der notwendigen Ermittlung einer guten Anzahl Cluster für die Aufteilung der Datenmenge haben die beiden Clusteringverfahren eine beträchtliche Laufzeit. Die Variante, die auf dem AprioriAlgorithmus beruht, hat diesbezüglich Vorteile. Im weiteren Verlauf dieser Arbeit wird nun auf die Implementierung dieser Verfahren, samt grascher Benutzerschnittstelle, eingegangen.

93 Kapitel 4 Implementierung In diesem Teil der Arbeit wird die Umsetzung und Implementierung der in Kapitel 3 vorgestellten Verfahren erläutert. Dabei wird zuerst eine grobe Übersicht der Komponenten gegeben und anschliessend werden zwei ausgewählte Kernkomponenten genauer vorgestellt. 4.1 Übersicht der Architektur und der Komponenten Die Architektur der entwickelten Software lässt sich grob in fünf Komponenten zerlegen: Recordset Wrapper: Komponente für die Datenkonvertierung. Sie dient dazu, die Datensätze vom SIRUPFormat in WekaDatenstrukturen zu überführen. Preprocessing: Komponente für die Datenaufbereitung. Sämtliche Funktionalität im Zusammenhang mit Datenaufbereitung (wie Normalisierung, Diskretisierung etc.) werden von dieser Komponente ausgeführt. Mining: Komponente für die Mining Strategien. Sie ist für die Ermittlung der charakteristischen Datensätze aufgrund eines bestimmten Verfahrens zuständig. Sie stellt somit die Kernfunktionalität der Applikation dar. Mining Adapter: Komponente, die als Bindeglied zwischen SIRUP und der hier entwickelten Applikation dient. Sie veranlasst die Datenkonvertierung und die Aufrufe der entsprechenden Schnittstellen. Graphical User Interface (GUI): Komponente, die dem Endnutzer den graschen Zugang zur Applikation erlaubt. Diese Komponente wird in Kapitel 5 vorgestellt. Sämtliche Komponenten wurden in der Programmiersprache Java [7] und mit der Entwicklungsumgebung Eclipse [4] programmiert. Getestet wurden die verschiedenen Module mit JUnit [25]. Bei der Entwicklung der verschiedenen Komponenten wurde grossen Wert auf eine gute Modularisierung gelegt. Gemäss [27] zeichnet sich eine gute Modularisierung durch folgende Eigenschaften aus: Kapselnde Dekomposition: Eine Software sollte so in Teile (Module) zerlegt werden, dass jeder Teil mit möglichst wenig Kenntnissen des Ganzen und der übrigen Teile

94 82 Implementierung verstanden werden kann. Gleichzeitig sollte das Ganze ohne Detailkenntnisse über die Teile verstanden werden. Verwendbarkeit: Ein Modul bildet eine Einheit bezüglich Verwendung. Die Verwendung eines Moduls erfordert keine Kenntnisse über seinen inneren Aufbau. Ein Modul beschreibt sein Leistungsangebot für Dritte in Form einer Schnittstelle, welche idealerweise von der Implementierung getrennt ist. Geschlossenheit und Lokalität: Jedes Modul ist eine in sich geschlossene Einheit. Änderungen im Innern eines Moduls, welche seine Schnittstelle unverändert lassen, haben keine Rückwirkungen auf das übrige System. Die Korrektheit eines Moduls sollte wenn möglich ohne Kenntnisse seiner Einbettung ins Gesamtsystem prüfbar sein. 4.2 Detailübersicht ausgewählter Komponenten Nachdem wir eine grobe Übersicht der verschiedenen Komponenten gesehen haben, wenden wir uns nun im Detail den beiden Hauptmodulen der Applikation zu. Das sind einerseits die Komponente zur Datenaufbereitung (Preprocessing) und andererseits die Komponente, welche für die Ermittelung der charakteristischen Datensätze zuständig ist (Mining) Datenaufbereitung Die Komponente für die Datenaufbereitung wurde im Stile eines Kompositums [26] entwickelt. Wie im UMLKlassendiagramm aus Abbildung 4.1 ersichtlich ist, gibt es eine zentrale Schnittstelle (Interface) namens IPreprocessable. Diese Schnittstelle bietet für Drittmodule den Zugang zur DatenaufbereitungsKomponente. Sämtliche Klassen, die Funktionalität im Zusammenhang mit der Datenaufbereitung zur Verfügung stellen, implementieren diese Schnittstelle. Die abstrakte Klasse PreprocessingStrategy stellt das eigentliche Kompositum dieser Komponente dar. Im Wesentlichen verwaltet sie eine Datenstruktur, die sich aus Implementierungen vom Typ IPreprocessable zusammensetzt. Beim Aufruf ihrer Schnittstellenmethode iteriert sie über diese Datenstruktur und veranlasst die Methodenaufrufe aller gespeicherten Objekte wie folgt: public Instances preprocessdata ( i n s t a n c e s ) { for ( IPreprocessable p : p r e p r o c e s s a b l e C o l l e c t i o n ) { i n s t a n c e s = p. preprocessdata ( i n s t a n c e s ) ; } return i n s t a n c e s ; } Die abstrakte Klasse selbst stellt keine zusätzliche Funktionalität zur Datenaufbereitung zur Verfügung. Da sie selbst auch die Schnittstelle IPreprocessable implementiert, kann sie in ihrer Datenstruktur auch andere DatenaufbereitungsKomposita speichern. Somit ist der Aufbau einer Baumstruktur möglich.

95 4.2 Detailübersicht ausgewählter Komponenten 83 Komponenten-Übersicht: Datenaufbereitung << interface >> IPreprocessable +preprocessdata(data:instances):instances RemoveNumericAttributes * NumericAttributesToNominals +preprocessdata(data:instances):instances * +preprocessdata(data:instances):instances PreprocessingStrategy RemoveConstants +preprocessdata(data:instances):instances -Collection:IPreprocessable[*] +addtask(task:ipreprocessable):void +preprocessdata(data:instances):instances NormaliseNumericAttributes +preprocessdata(data:instances):instances RemoveStringAttribute MissingValuesToModesAndMeans +preprocessdata(data:instances):instances +preprocessdata(data:instances):instances StringAttributesToNominals MyPreprocessingStrategy -DEFAULT_THRESHOLD:double= 0.5 -threshold:double << create >>+StringAttributesToNominals():StringAttributesToNominals << create >>+StringAttributesToNominals(threshold:double):StringAttributesToNominals +preprocessdata(data:instances):instances << create >>+MyPreprocessingStrategy():MyPreprocessingStrategy << create >>+MyPreprocessingStrategy(preProc:IPreprocessable):MyPreprocessingStrategy +preprocessdata(data:instances):instances Erstellt mit Poseidon for UML Community Edition. Nicht zur kommerziellen Nutzung. Abbildung 4.1: UMLKlassendiagramm zur DatenaufbereitungsKomponente.

96 84 Implementierung Drittkomponenten wie beispielsweise eine konkrete Mining Strategie ist lediglich die Schnittstelle IPreprocessable bekannt. Welches Objekt (oder besser gesagt, welche Komposition von Objekten) sich zur Laufzeit dahinter bendet, ist für Klienten dieser Komponente irrelevant. Dank dieser einen gemeinsamen Schnittstelle können konkrete DatenaufbereitungsStrategien (Subklassen von PreprocessingStrategy) zur Laufzeit beliebig ausgetauscht werden Mining Strategien Die Komponente für die Mining Strategien stellt die Kernfunktionalität dieser Applikation bereit die Ermittlung von charakteristischen Datensätzen eines ausgewählten Datenbestandes. Der Aufbau und die Klassenhierarchie dieses Moduls ist in Abbildung 4.2 ersichtlich. Bei der Entwicklung dieser Komponente wurde wiederum grossen Wert auf eine gemeinsame Schnittstelle gelegt (IMiningStrategy). Klienten können somit immer auf dieselbe Art und Weise die Funktionalität dieses Moduls in Anspruch nehmen unabhängig davon, welche Implementierung sich hinter der Schnittstelle verbirgt und wie die charakteristischen Datensätze eektiv ermittelt werden. Die abstrakte Klasse MiningStrategy steht zuoberst in der Klassenhierarchie und ist hauptsächlich für die Verwaltung und Organisation der Datenaufbereitung zuständig. Zu diesem Zweck hält sie eine Implementierung des Typs IPreprocessable und veranlasst zur gegebenen Zeit (bevor das Data Mining Modell gebildet wird) die Datenaufbereitung. Diese abstrakte Klasse implementiert bereits einige von der Schnittstelle IMiningStrategy geforderte Funktionalität. Von der Klasse MiningStrategy erben die beiden Klassen ClusterMiningStrategy und AssociatorMiningStrategy. Auch auf dieser Stufe handelt es sich noch um abstrakte Klassen. Die Klasse ClusterMiningStrategy ist primär für die Verwaltung eines Clustering Objekts (wie beispielsweise kmeans) zuständig. 1 Beim Aufruf der Schnittstellenmethode buildmodel(data) beauftragt sie die Superklasse mit der Datenaufbereitung und delegiert anschliessend die Modellbildung in diesem Fall das Clustering der Daten an das entsprechende ClusteringObjekt. Die Modellbildung ist eine Voraussetzung, um später charakteristische Datensätze ermitteln zu können. Zusätzlich stellt diese abstrakte Klasse Methoden zur Informationsabfrage bezüglich der Clustereinteilung der Datensätze bereit. Diese Methoden sind jedoch nicht Bestandteil der Komponentenschnittstelle, da es für diese Art von Information bei AssoziationsStrategien kein Analogon gibt. Die Klasse AssociatorMiningStrategy ist primär für die Verwaltung eines Assoziations Objekts (wie beispielsweise Apriori) zuständig. 2 Beim Aufruf von buildmodel(data) beauftragt sie die Superklasse mit der Datenaufbereitung und delegiert anschliessend die Bildung der Assoziationsregeln an das entsprechende AssoziationsObjekt. Im Übrigen bietet sie noch zwei Hilfsmethoden für ihre Subklassen an. Ansonsten hat sie eine ähnliche Verantwortung wie die Klasse ClusterMiningStrategy. 1 Das Grundgerüst der Clusteringobjekte stammt aus den WekaBibliotheken [11] und wurde den eigenen Bedürfnissen entsprechend angepasst. 2 Das Grundgerüst der Assoziationsobjekte stammt aus den WekaBibliotheken [11] und wurde den eigenen Bedürfnissen entsprechend angepasst.

97 4.2 Detailübersicht ausgewählter Komponenten 85 Übersicht Mining Strategien #preprocessingstrategy:ipreprocessable #originalinstances:instances #preprocessedinstances:instances #ismodelbuilt:boolean #indicesofreps:collection<integer> MiningStrategy <<abstract>> << interface >> IMiningStrategy +buildmodel(data:instances):void +getrepresentatives(k:int):collection<instance> +getindicesofrepresentatives():collection<integer> +getpreprocessedinstances():instances << create >>+MiningStrategy():MiningStrategy <<abstract>> << create >>+MiningStrategy(preprocStrat:IPreprocessable):MiningStrategy <<abstract>> +getpreprocessedinstances():instances +getindicesofrepresentatives():collection<integer> #preprocessinstances(data:instances):instances #checkk(k:int):boolean #isequal(inst1:instance,inst2:instance):boolean ClusterMiningStrategy <<abstract>> AssociatorMiningStrategy <<abstract>> #clusterer:clusterer #instanceswithclusterassignment:instances #repinstanceswithclusterassignment:collection<instances> << create >>+ClusterMiningStrategy(clusterer:Clusterer):ClusterMiningStrategy <<abstract>> << create >>+ClusterMiningStrategy(clusterer:Clusterer,preStra:IPreprocessable):ClusterMiningStrategy <<abstract>> +buildmodel(data:instances):void +getinstanceswithclusterassign():instances +getrepresentativeswithclusterassignment():instances #associator:associator << create >>+AssociatorMiningStrategy(assoc:Associator):AssociatorMiningStrategy <<abstract>> << create >>+AssociatorMiningStrategy(assoc:Associator,preStrat:IPreprocessable):AssociatorMiningStrategy <<abstract>> +buildmodel(data:instances):void #itemsettostring(fastvector:itemset):string #rulestostring(fastvector:rules):string LargestItemsets -numofiterations:int -maxnumofclusters:int -seed:int CentroidsSilhouetteCoefficient << create >>+CentroidsSilhouetteCoefficient(kM:kMeans):CentroidsSilhouetteCoefficient << create >>+CentroidsSilhouetteCoefficient(kM:kMeans,p:IPreprocessable):CentroidsSilhouetteCoefficient +buildmodel(data:instances):void +getrepresentatives(k:int):collection<instance> -getbestclusterer():clusterer -getrepfractionforclusters(k:int,clusteredinstances:instances[]):int[] -calculaterepvalue(inst:instance,centroid:instance,reps:collection<instance>):double -getrepsforcluster(kc:int,clusterinst:instances,centroid:instance):collection<instance> -getoriginalreps(reps:collection<instance>):collection<instance> -getmedoidforcluster(centroid:instance,clusterinst:instances):instance << create >>+LargestItemsets(apri:Apriori):LargestItemsets << create >>+LargestItemsets(apri:Apriori,preStrat:IPreprocessable):LargestItemsets +getrepresentatives(k:int):collection<instance> #getordereditemsets(itemsets:fastvector):collection<treeset> #getinstancesforitemset(itemset:itemset):collection<instance> #addinstancetoreps(reps:collection<instance>,tempinst:collection<instance>):collection<instance> BestItemsets << create >>+BestItemsets(apri:Apriori):BestItemsets << create >>+BestItemsets(apri:Apriori,preStrat:IPreprocessable):BestItemsets +getrepresentatives(k:int):collection<instance> -getnextbestitemset(itemsets:collection<itemset>,processeditemsets:collection<itemset>):itemset -calculaterepvalue(tempitem:itemset,repitems:collection<itemsets>):double Erstellt mit Poseidon for UML Community Edition. Nicht zur kommerziellen Nutzung. Abbildung 4.2: UMLKlassendiagramm zur MiningKomponente.

98 86 Implementierung Von diesen beiden abstrakten Klassen leiten sich die konkreten Mining Strategien ab, welche mit der Komponentenschnittstelle getrepresentatives(k) jeweils einen Algorithmus zur Ermittelung von k repräsentativen Datensätzen implementieren. In der Klassenhierarchie aus Abbildung 4.2 sind aus Gründen der Übersicht lediglich drei konkrete Implementierungen von Mining Strategien (IMiningStrategy) aufgeführt. Eine davon ist die Klasse CentroidsSilhouetteCoefficient, welche nach dem in Abschnitt 3.3 vorgestellten Verfahren charakteristische Datensätze ermittelt. Die Klasse MostDensesEM, die das Verfahren aus Abschnitt 3.4 implementiert, erweitert auch die abstrakte Klasse ClusterMiningStrategy, ist aber aus Platzgründen nicht in der Klassenhierarchie aufgeführt. Eine andere ist die Klasse LargestItemsets, die eine primitive Variante zur Ermittlung von Repräsentanten implementiert und dabei generelle Funktionen im Zusammenhang mit Itemsets zur Verfügung stellt. Die Klasse BestItemsets erbt dann von dieser primitiven Variante und implementiert ein paar zusätzliche private Methoden. Dadurch resultiert das Verfahren, welches in Abschnitt 3.5 vorgestellt wurde. Basierend auf diesen abstrakten Mining Strategien wurden noch weitere Verfahren implementiert unter Anderem auch Varianten, die auf dem CobwebAlgorithmus [23] aufbauen. Diese Strategien werden an dieser Stelle aber nicht weiter erläutert, da sie sich in der Evaluationsphase nicht genügend bewährt haben. Im JavaQuellcode der beiliegenden CD sind aber sämtliche Varianten dokumentiert verfügbar. Bei Interesse können sie sehr einfach in die Applikation eingebunden und bei Bedarf auch modiziert werden. Zu erwähnen bleibt noch, dass diese Komponente keine SIRUPDatentypen kennt. D.h. sie operiert intern mit WekaDatenstrukturen. Die Methode getrepresentatives(k) der Komponentenschnittstelle liefert daher die charakteristischen Datensätze in Weka Format (Instance) zurück. Für die Konvertierung in das ursprüngliche SIRUPFormat ist die in Abschnitt 4.1 erwähnte Adapterkomponente zuständig. Diese Adapterkomponente dient generell als Bindeglied zu SIRUP und veranlasst jeweils auch die Konvertierung der Daten in die andere Richtung vom SIRUPFormat in das WekaFormat. 4.3 SIRUPWrapperschnittstelle Um die Interaktion der verschiedenen Komponenten zu veranschaulichen, ist in Abbildung 4.3 der gesamte Ablauf zur Ermittlung von charakteristischen Datensätzen in Form eines SequenzDiagramms visualisiert. Zu Beginn der Aktion steht ein Benutzer (oder eine Applikation), der die Schnittstelle beim DB2Wrapper von SIRUP aufruft (Interaktion 1). Dabei wird eine Implementierung des Typs IMiningStrategy übergeben, die ihrerseits eine Implementierung von IPreprocessable hält. Der Wrapper leitet die Anfrage an die Adapterkomponente weiter (Interaktion 2), welche die Datenkonvertierung an das entsprechende Modul delegiert (Interaktion 3) und anschliessend die Modellbildung und die Ermittlung der Repräsentanten beim Objekt des Typs IMiningStrategy veranlasst (Interaktion 4). Vor der Modellbildung werden dabei die Daten gemäss der Implementierung von IPreprocessable aufbereitet (Interaktion 5). Für die Modellbildung und die Datenaufbereitung werden jeweils die Dienste von Weka in Anspruch genommen (Interaktion 6 und 7). Danach werden die charakteristischen Datensätze gemäss des implementierten Verfahrens von IMiningStrategy ermittelt und der Adapterkomponente zurückgeliefert. Diese konvertiert die Daten wieder in das SIRUPFormat und gibt sie dem Wrapper zurück, der

99 4.3 SIRUPWrapperschnittstelle 87 Ablauf der Ermittlung von charakteristischen Datensätzen anonym:user db2wrapper:wrapper adapter:miningadapter datawrapper:recordsetwrapper strat:iminingstrategy preprocstrat:ipreprocessable 1).getRepresentativeRecords 2).getRepRecords 3).convertRecords 3) wekainstances 4).getRepresentativeInstances 5).preprocessData 6).doStep 6) data 5) cleaneddata 7).buildModel 7) model.calcreps 4) representativeinstances.convertinstances 2) reprecords 1) representativerecords Erstellt mit Poseidon for UML Community Edition. Nicht zur kommerziellen Nutzung. Abbildung 4.3: SequenzDiagramm zum Prozess der Ermittlung von charakteristischen Datensätzen. algo:wekalibrary

100 88 Implementierung die Datensätze am Ende dem Aufrufenden als Resultat liefert. In Quellcode 4.1 ist ein Beispiel für den Aufruf der SIRUPSchnittstelle abgebildet. Anhand der Parameter werden in diesem Fall die charakteristischen Datensätze mittels des kmeans Verfahrens aus Abschnitt 3.3 ermittelt. // l o c a t i o n to the data ( used by the wrapper ) pathtree =... ; // the wrapper to a c c e s s the data db2wrapper =... ; // the d e s i r e d number o f r e p r e s e n t a t i v e s int numberofreps =... ; // the p r e p r o c e s s i n g s t r a t e g y to use PreprocessingStrategy p reprocessing = new MyPreprocessingStrategy ( ) ; p r e processing. add (new StringAttributesToNominals ( 0. 7 ) ) ; p r e processing. add (new RemoveConstants ( ) ) ; p r e processing. add (new RemoveStringAttributes ( ) ) ; p r e processing. add (new NormaliseNumericAttributes ( ) ) ; // the mining s t r a t e g y f o r determining r e p r e s e n t a t i v e data IMiningStrategy s t r a t e g y = new C e n t r o i d s S i l h o u e t t e C o e f f i c i e n t ( p r e p rocessing ) ; // the r e p r e s e n t a t i v e data in SIRUP format RecordSet reprecords = db2wrapper. getrepresentativerecords ( pathtree, strategy, numberofreps ) ; Quellcode 4.1: Aufruf der SIRUPSchnittstelle zur Ermittlung von charakteristischen Datensätzen anhand des kmeans Verfahrens.

101 Kapitel 5 DatensatzBrowser In diesem Kapitel wird die entwickelte grasche Benutzerschnittstelle der Datensatz Browser vorgestellt. Dabei wird zuerst eine Übersicht der Funktionalität gegeben, bevor die Besonderheiten und der Nutzen des DatensatzBrowsers anhand eines konkreten Datenbestandes illustriert werden. 5.1 Übersicht der Funktionalität Mit dem DatensatzBrowsers wird dem Benutzer ein erleichterter und intuitiver Zugang zu der in Kapitel 4 vorgestellten MiningApplikation geboten. Dabei werden ihm die resultierenden Ergebnisse und Zusatzinformationen in angemessener und übersichtlicher Form angezeigt. Die grasche Benutzerschnittstelle unterstützt den Benutzer bei folgenden Tätigkeiten: Datenbestand und Algorithmenwahl: Anhand von Auswahllisten kann der Benutzer einen Datenbestand auswählen, aus dem charakteristische Datensätze zu ermitteln sind. 1 Zusätzlich wählt er einen Algorithmus aus im Sinne von Abschnitt eine Mining Strategie anhand dessen die repräsentativen Datensätze zu berechnen sind. Nach Eingabe der gewünschten Anzahl Repräsentanten und dem Mausklick auf den Startknopf, werden die charakteristischen Datensätze berechnet und anschliessend in tabellarischer Form angezeigt. Speichern, Laden von Mining Strategien: Für umfangreiche Datenbestände kann die Ermittlung von charakteristischen Datensätzen insbesondere das Clustering der Daten sehr viel Zeit beanspruchen. Daher gibt es die Möglichkeit, gebildete Mining Strategien für die spätere Wiederverwendung abzuspeichern. Attributstatistiken: Zusätzlich kann sich der Benutzer für jedes Attribut des Datenbestandes eine detaillierte Attributstatistik anzeigen lassen. Im Falle von nominalen Attributen enthält diese Statistik Informationen zu ˆ der Häugkeit jedes Attributwertes (Histogramm) ˆ der Anzahl fehlender, verschiedener und unikaler Attributwerte Im Falle von numerischen Attributen gibt diese Statistik Auskunft über 1 Hierzu müssen die Datenbestände in DB2 vorliegen. Eine Installationsanleitung zum Import der Daten ndet man in Abschnitt A.1 (Seite 101).

102 90 DatensatzBrowser ˆ den Minimal, Maximal und Durchschnittswert sowie die Standardabweichung ˆ die Häugkeitsverteilung der Attributwerte, wobei die Werte zu Intervallen gleicher Länge diskretisiert sind Attributstatistiken der aufbereiteten Daten: Dieselben Attributstatistiken wie für den originalen Datenbestand lassen sich auch für die aufbereiteten Daten abrufen. Plot der Datensätze: Die ermittelten Repräsentanten und der restliche Datenbestand können als zweidimensionale Punktwolke betrachtet werden. Dies eignet sich vor allem zur Gegenüberstellung von zwei numerischen Attributen, um Auälligkeiten und Zusammenhänge zu visualisieren. In Abbildung 5.1 ist die Hauptansicht (Register Representative Data) des Datensatz Browsers abgebildet. Im oberen Bereich ndet die Datenbestand und Algorithmenwahl statt und die ermittelten charakteristischen Datensätze werden dort aufgelistet. Im unteren Teil sind die Attributstatistiken für ein selektiertes Attribut zu sehen. Bei der Entwicklung dieser graschen Benutzeroberäche wurde auf diverse Komponenten von Weka [11] zurückgegrien. Insbesondere für die Attributstatistiken und die Visualisierung des Datenbestandes als 2DPlot wurde reger Gebrauch der WekaBibliotheken gemacht. Abbildung 5.1: Hauptansicht des DatensatzBrowsers.

103 5.2 Anwendungsbeispiel Anwendungsbeispiel Im Folgenden wird der Nutzen des DatensatzBrowsers anhand des Iris Datenbestandes illustriert, indem die zu Beginn dieses Kapitels erwähnte Funktionalität exemplarisch an diesem Datenbestand aufgezeigt wird. Wir erinnern uns, dass wir diesen Datenbestand bereits in Kapitel 3 angetroen haben, um die entwickelten Verfahren zu testen und zu evaluieren Berechnung und Anzeige der charakteristischen Datensätze In Abbildung 5.2 ist der obere Teil der Hauptansicht zu sehen. Anhand von Auswahllisten kann aus einer Menge von Beispieldatenbeständen und Algorithmen (Mining Strategien) ausgewählt werden. In unserem Beispiel ist der Iris Datenbestand ausgewählt und als Mining Strategie das in Abschnitt 3.3 vorgestellte Verfahren, welches anhand des kmeans Algorithmus charakteristische Datensätze ermittelt. Nachdem der Benutzer im Eingabefeld (Number of Reps.) die gewünschte Anzahl Repräsentanten eingegeben hat und auf den Knopf zum Start der Berechnung gedrückt hat (Calculate Representatives), werden die charakteristischen Datensätze anhand der getroenen Auswahl ermittelt. Nach erfolgreich abgeschlossener Berechnung werden die ermittelten Datensätze im Bereich Representative Records in tabellarischer Form angezeigt. Durch Doppelklick auf einen Eintrag wird das entsprechende Tupel in einem neuen Fenster geönet. Abbildung 5.2: Anzeige der charakteristischen Datensätze Speichern und Laden von Mining Strategien Nachdem charakteristische Datensätze anhand eines bestimmten Verfahrens ermittelt wurden, kann die gebildete Mining Strategie für den entsprechenden Datenbestand abgespeichert werden. Hierzu selektiert man in der Menüleiste File den Eintrag Save Model... und wählt ein gewünschtes Verzeichnis und gibt einen passenden Namen ein. Zum Laden einer zuvor gespeicherten Mining Strategie wählt man in der Menüleiste File den Eintrag Load Model... und navigiert zum Verzeichnis, wo sich die Datei bendet. Nach einem Doppelklick auf die gewünschte Datei wird die Mining Strategie geladen. Die Parameter sind nun durch die geladene Datei vorgegeben, daher sind die Auswahllisten zur Selektion eines Datenbestandes und einer Mining Strategie nicht mehr vorhanden, wie in Abbildung 5.3 zu sehen ist. Es ist jetzt aber möglich, aufgrund des geladenen

104 92 DatensatzBrowser Abbildung 5.3: Nach dem Laden einer zuvor gebildeten Mining Strategie. Verfahrens sehr ezient neue charakteristischer Datensätze berechnen zu lassen, da der rechenintensivste Teil des gesamten Ablaufs die Bildung des Data Mining Modells nicht mehr anfällt. In unserem Beispiel ist also das ganze Prozedere zur Ermittlung des optimalen Clusterings nicht mehr nötig, da die Daten in der geladenen Mining Strategie bereits partitioniert sind. Somit fällt nur noch die Ermittlung der gewünschten Anzahl Repräsentanten aus den vorhandenen Clustern an. Um wieder charakteristische Datensätze auf anderen Datenbeständen (oder auf dem gleichen Datenbestand anhand einer anderen Mining Strategie) berechnen zu können, muss ein Kontextwechsel stattnden. Hierzu wählt man in der Menüleiste File den Eintrag Change Calculation Mode, womit die Auswahllisten für die Datenbestand und Algorithmenwahl wieder erscheinen. Nun hat der Benutzer erneut die Möglichkeit, Mining Strategien zu verschiedenen Datenbeständen zu berechnen und bei Bedarf abzuspeichern Attributstatistiken Im unteren Teil des Registers Representative Data (Hauptansicht) werden im Bereich Attributes Informationen zu den Attributen angezeigt. In Abbildung 5.4 ist dieser Ausschnitt des DatensatzBrowsers abgebildet. In der linken Hälfte, im Bereich Attribute Overview, sind sämtliche Attribute des gewählten Datenbestandes aufgelistet. Nach der Selektion eines Attributs werden in der rechten Hälfte (Bereich Selected Attribute) Statistiken zum ausgewählten Merkmal angezeigt. Diese Statistiken unterteilen sich in zwei weitere Bereiche. Im oberen Teil Attribute Statistics werden folgende Attributinformationen angezeigt: ˆ Name und Typ des Attributs ˆ Anzahl fehlender Attributwerte; Absolut und in Prozent (Missing) ˆ Anzahl unterschiedlicher Attributwertausprägungen (Distinct) ˆ Anzahl Werte, die für dieses Attribut im gesamten Datenbestand nur ein Mal vorkommen (Unique) Für numerische Attribute wie das in unserem abgebildeten Beispiel der Fall ist sind zudem der Minimal, Maximal und der Durchschnittswert, sowie die Standardabweichung aufgeführt. Anstelle dieser Angaben sind für nominale Typen die Häugkeitsverteilungen der Attributwerte in tabellarischer Form aufgelistet. Im unteren Teil Attribute Histogram wird die Attributwertverteilung in Form eines Balkendiagramms (Histogramm) angezeigt. Für numerische Attribute wie hier der Fall sind auf der xachse die Attributwerte abgetragen und auf der yachse die absoluten

105 5.2 Anwendungsbeispiel 93 Abbildung 5.4: Attributstatistiken zum gewählten Datenbestand. Häugkeiten der entsprechenden Werte. Dabei wurden die numerischen Werte in Intervalle gleicher Länge diskretisiert. Wenn der Benutzer den Mauszeiger über einen Balken des Histogramms bewegt, dann werden ihm die Intervallgrenzen des entsprechenden Balkens mit zugehöriger Anzahl Werte (Häugkeit) in diesem Intervall angezeigt. Für nominale Attribute sieht das Histogramm etwas anders aus. In diesem Fall gibt es pro Attributwert einen schwarzen Balken, dessen Höhe ebenfalls die Häugkeit des entsprechenden Attributwertes widerspiegelt. Die xachse hat in diesem Fall keine Skala. Wenn man den Mauszeiger über den Histogrammbalken eines nominalen Attributs bewegt, dann wird der entsprechende Attributwert mit der absoluten Häugkeit eingeblendet. Dank diesen Attributstatistiken wird dem Benutzer eine weitere Möglichkeit geboten, sich einen Überblick des Datenbestandes zu verschaen. Zusammen mit den ermittelten charakteristischen Datensätzen können Eigenschaften und Auälligkeiten des Datenbestandes schneller aufgespürt werden Grasche Darstellung der Datensätze 2DPlot Als weitere Unterstützung bei der Analyse eines Datenbestandes wurde der Datensatz Browser um eine Funktion zur Visualisierung der Datensätze erweitert. Dieser so genannte 2DPlot ermöglicht die grasche Darstellung der Datensätze als zweidimensionale Punktwolke. Dabei wird für die x und die yachse je ein Attribut ausgewählt. Die Datensätze werden dann aufgrund dieser beiden Attributwerte im Koordinatensystem abgetragen. Diese Form der explorativen Datenanalyse ermöglicht dem Benutzer, einen einfachen optischen Eindruck von Richtung und Enge des Zusammenhangs (Korrelation) zweier numerischen Attribute zu gewinnen. Ebenfalls können Ausreisser im Datenbestand lokalisiert werden. In Abbildung 5.5 ist ein 2DPlot für die Attribute petallength und sepalwidth abgebildet. Um zu dieser Ansicht zu gelangen, muss man im DatensatzBrowser in das Register Data Plot wechseln. Wir werden nun die Möglichkeiten besprechen, die dem Benutzer in dieser Ansicht zur Verfügung stehen. Dabei beziehen wir uns immer auf das abgedruckte Beispiel aus Abbildung 5.5. Mit den beiden Auswahllisten zuoberst kann der Benutzer die Attribute auswählen, die

106 94 DatensatzBrowser Abbildung 5.5: Grasche Gegenüberstellung der Datensätze mittels 2DPlot. für die x und yachse im 2DPlot verwendet werden sollen. Im abgebildeten Beispiel ist für die xachse das Attribut petallength und für die yachse das Attribut sepalwidth ausgewählt. Mit der dritten Auswahlliste hat man die Möglichkeit, ein Attribut für die Farbe der Datenpunkte zu denieren. Wählt man ein nominales Attribut aus, dann wird jedem Wert des ausgewählten Attributs eine andere Farbe zugeordnet. Die Datenpunkte im 2DPlot werden dann aufgrund ihrer Ausprägung bei diesem Attribut mit der entsprechenden Farbe abgetragen. Wählt man als Farbattribut ein numerisches Attribut aus, dann erfolgt die Einzeichnung der Punkte im Koordinatensystem mit einem kontinuierlichen Farbverlauf. Datensätze mit entsprechend niedrigem Attributwert werden bläulich eingezeichnet und je grösser der Wert ist, desto mehr tendiert die Farbe gegen orange. In unserem Beispiel ist als Farbattribut das Merkmal class also die IrisArt gewählt. Da es sich um ein nominales Attribut handelt, ist im unteren Bereich Class colour die Legende ersichtlich, welchem Attributwert welche Farbe zugeordnet ist. Bei Bedarf kann man die Farbzuordnung auch anpassen, indem man mit der Maus auf den entsprechenden Eintrag in der Legende klickt und aus dem darauf erscheinenden Farbspektrum eine andere Farbe wählt. Anhand der Einfärbung wird ersichtlich, dass die separierte Ansammlung von Datenpunkten auf der linken Seite des 2DPlots alles Datensätze der IrisArt setosa sind. Da auf der xachse die Attributwerte von petallength abgebildet sind, kann man daraus schliessen, dass Datensätze der IrisArt setosa einen markant kleineren Wert beim Merkmal petallength aufweisen, als dies bei Datensätzen der anderen zwei IrisArten der Fall ist. Eine weitere Besonderheit dieser graschen Darstellung ist, dass die zuvor ermittelten Re-

107 5.2 Anwendungsbeispiel 95 präsentanten in einer anderen Form im 2DPlot angezeigt werden. Die charakteristischen Datensätze sind im Stile eines grossen Kreuzes ( ) visualisiert, während die restlichen Datensätze als kleine PlusZeichen (+) angezeigt werden. Diese Zuordnung der Zeichen ist in der Legende rechts neben dem Plot zu sehen. Durch einen Mausklick auf einen Datenpunkt innerhalb des 2DPlots wird der entsprechende Datensatz mit all seinen Attributwerten in einem neuen Fenster angezeigt. Somit lässt sich eruieren, welcher Datensatz durch welchen Datenpunkt repräsentiert wird. Mit der unterschiedlichen Darstellungsform von charakteristischen und den restlichen Datensätzen wird dem Benutzer zudem die Möglichkeit geboten, die Plausibilität der ermittelten Repräsentanten abzuschätzen. In unserem Fall ist ersichtlich, dass die neun berechneten Repräsentanten relativ zentral innerhalb ihrer IrisArt liegen. Diese Aussage kann natürlich nur in Bezug auf die zwei betrachteten Attribute in unserem Fall petallength und sepalwidth gemacht werden. Wählt man mittels den Auswahllisten zwei andere Dimensionen (Attribute) für die Achsen aus, dann fällt das Ergebnis aber sehr ähnlich aus. Die Diskussion der Resultate für diesen Datenbestand wurde bereits im Zusammenhang mit dem Diversitätfaktor α in Abschnitt (Seite 50) geführt. Als letzte Besonderheit zu diesem Teil des DatensatzBrowsers bleibt noch der Schieberegler Jitter zu erwähnen. Anhand dieses Reglers kann eine künstliche Streuung für die Attributwerte simuliert werden. Dies eignet sich besonders für umfangreiche Datenbestände, deren Datensätze in einem bestimmten Wertebereich in einer hohen Konzentration vorliegen. In einem solchen Fall kann die Punktdichte in gewissen Bereichen des 2D Plots so hoch sein, dass die einzelnen Punkte zu einer Fläche verschmelzen. Mit Hilfe des Schiebereglers kann dann eine künstliche Schwankung der entsprechenden Datenwerte eingeführt werden, damit die einzelnen Punkte wieder sichtbar werden Attributstatistiken der aufbereiteten Daten Wir wechseln nun in das dritte und letzte Register Preprocessed Data des Datensatz Browsers. In Abbildung 5.6 ist dieser Bereich zu sehen. Wie der Name des Registers ahnen lässt, ist dieser Teil des DatensatzBrowsers für die Anzeige der aufbereiteten Daten reserviert. Der Aufbau der verschiedenen Elemente in diesem Register ist dabei identisch wie beim Bereich zur Anzeige der Attributstatistiken der originalen Daten (vergleiche hierzu Abbildung 5.4). Da in unserem Beispiel die Mining Strategie auf einem kmeans Clustering beruht, wurden sämtliche numerischen Attribute vorgängig normalisiert. Wir erinnern uns aus Abschnitt (Seite 39), dass dieser Schritt nötig ist, um eine ungewollte Gewichtung der Attribute zu vermeiden. In unserem Beispiel ist das Resultat (Attributstatistik) dieser Normalisierung für das Merkmal sepallength abgebildet. Wie erwartet, beträgt der Minimal (respektive Maximalwert) dieses normalisierten Attributs 0 (respektive 1). Vergleicht man das Histogramm dieses aufbereiteten (normalisierten) Attributs mit dem Histogramm des originalen Attributs aus Abbildung 5.4, dann fällt auf, dass in jedem der sieben Intervalle bei beiden Histogrammen gleich viele Werte enthalten sind. Dies verdeutlicht, dass die Verteilung der Attributwerte durch die Anwendung einer linearen Skalierung nicht verzerrt wird eine wünschenswerte Eigenschaft, wie wir in Abschnitt gesehen haben. Zusätzlich wurden während der Datenaufbereitung nominale Attribute mit zu vielen unterschiedlichen Wertausprägungen gelöscht, weil solche Merkmale keine brauchbare Infor-

108 96 DatensatzBrowser Abbildung 5.6: Attributstatistiken der aufbereiteten Daten. mation für das Data Mining beinhalten. Somit wird unter Anderem auch erreicht, dass der Primärschlüssel bei der Bildung des Data Mining Modells nicht berücksichtigt wird (siehe hierzu Abschnitt 3.2 auf Seite 35). Diese Tatsache ist ebenfalls im Register Preprocessed Data ersichtlich. Das Attribut ID ist in der Attributübersicht nicht aufgeführt, was bedeutet, dass es für die Bildung des Data Mining Modells nicht berücksichtigt wurde. Diese Informationen zu den aufbereiteten Daten sind nicht primär für den Endanwender gedacht. Sie dienen mehr evaluativen Zwecken, wenn während der Entwicklung mit den einzelnen Datenaufbereitungsschritten experimentiert wird. 5.3 Implementierung des DatensatzBrowsers Zum Abschluss dieses Kapitels wird kurz auf die Implementierung der graschen Benutzeroberäche eingegangen. Bei der Programmierung wurde darauf geachtet, dass die einzelnen Komponenten nach dem DokumentAnsicht Muster (DocumentView) [19] entwickelt wurden. Im Unterschied zum allgemeinen ModellAnsichtSteuerung Muster (ModelViewController) [26] sind bei dieser Variante die Ansicht und die Steuerung enger verwoben. Die Verantwortlichkeiten von Ansicht und Steuerung können in einer Komponente zusammengefasst und damit die Austauschbarkeit der SteuerungKomponente aufgegeben werden. Die lose Kopplung von Ansicht und ModellKomponente erlaubt aber immer noch die Synchronisation mehrerer Sichten derselben Anwendungsdaten. Auf diese Weise ist die Aktualisierung der verschiedenen Sichten des DatensatzBrowsers (wie die Anzeige der Repräsentanten, der Attributstatistiken und des 2DPlots) unkompliziert möglich.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

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

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

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

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

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

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 374 Eignung von Verfahren der Mustererkennung im Process Mining Sabrina Kohne

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

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

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! www.wee24.de. info@wee24.de. 08382 / 6040561 1 Experten sprechen Ihre Sprache. 2 Unternehmenswebseiten

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Was verkaufen wir eigentlich? Provokativ gefragt! Ein Hotel Marketing Konzept Was ist das? Keine Webseite, kein SEO, kein Paket,. Was verkaufen

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

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen 18 «Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen teilnimmt und teilhat.» 3Das Konzept der Funktionalen

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

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

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

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

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

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

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

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Instruktionsheft für neue Webshop Hamifleurs

Instruktionsheft für neue Webshop Hamifleurs Instruktionsheft für neue Webshop Hamifleurs Instruktionen für neue Webshop Hamifleurs Gehen Sie zu www.hamifleurs.nl. Klicken Sie auf Login Kunden und es erscheint der Bildschirm auf der nächsten Seite.

Mehr

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

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon WinWerk Prozess 6a Rabatt gemäss Vorjahresverbrauch 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052-740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Ablauf der Rabattverarbeitung...

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

Optimieren Sie Ihre n2n Webseite

Optimieren Sie Ihre n2n Webseite N2N Autor: Bert Hofmänner 5.10.2011 Optimieren Sie Ihre n2n Webseite Einer der wichtigsten Faktoren für den Erfolg Ihrer Webseite in Suchmaschinen sind deren Inhalte. Diese können Sie mit einem Content

Mehr

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense Keywords sind das Salz in der Suppe des Online Marketing Keywords - Das Salz in der Suppe des Online Marketing Keyword Arten Weitgehend passende Keywords, passende Wortgruppe, genau passende Wortgruppe

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Psychologie im Arbeitsschutz

Psychologie im Arbeitsschutz Fachvortrag zur Arbeitsschutztagung 2014 zum Thema: Psychologie im Arbeitsschutz von Dipl. Ing. Mirco Pretzel 23. Januar 2014 Quelle: Dt. Kaltwalzmuseum Hagen-Hohenlimburg 1. Einleitung Was hat mit moderner

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Dokumentation Datamining

Dokumentation Datamining Hochschule Wismar University of Applied Sciences Technology, Business and Design Fakultät für Ingenieurwissenschaften, Bereich EuI Dokumentation Datamining Eingereicht am: 13. Mai 2012 von: Karsten Diepelt

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

Handbuch ZfEditor Stand 24.08.2012

Handbuch ZfEditor Stand 24.08.2012 Handbuch ZfEditor Stand 24.08.2012 Inhaltsverzeichnis Einführung... 1 Ansprechpartner... 1 Installation und Update... 1 Installation... 1 Update... 2 Bedienung des ZfEditors... 2 Aufruf... 2 Auswahl Gemeinde,

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

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

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Anwendungsbeispiele Sign Live! Secure Mail Gateway Anwendungsbeispiele Sign Live! Secure Mail Gateway Kritik, Kommentare & Korrekturen Wir sind ständig bemüht, unsere Dokumentation zu optimieren und Ihren Bedürfnissen anzupassen. Ihre Anregungen sind uns

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Schritt für Schritt zur Krankenstandsstatistik

Schritt für Schritt zur Krankenstandsstatistik Schritt für Schritt zur Krankenstandsstatistik Eine Anleitung zur Nutzung der Excel-Tabellen zur Erhebung des Krankenstands. Entwickelt durch: Kooperationsprojekt Arbeitsschutz in der ambulanten Pflege

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

Lars Priebe Senior Systemberater. ORACLE Deutschland GmbH

Lars Priebe Senior Systemberater. ORACLE Deutschland GmbH Lars Priebe Senior Systemberater ORACLE Deutschland GmbH Data Mining als Anwendung des Data Warehouse Konzepte und Beispiele Agenda Data Warehouse Konzept und Data Mining Data Mining Prozesse Anwendungs-Beispiele

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Datenübernahme easyjob 3.0 zu easyjob 4.0

Datenübernahme easyjob 3.0 zu easyjob 4.0 Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4

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

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

W.WIINM32.11 (Datawarehousing) W.WIMAT03.13 (Statistik)

W.WIINM32.11 (Datawarehousing) W.WIMAT03.13 (Statistik) Modulbeschrieb Business Intelligence and Analytics 16.10.2013 Seite 1/5 Modulcode Leitidee Art der Ausbildung Studiengang Modultyp W.WIINM42.13 Information ist eine derart wichtige Komponente bei der Entscheidungsfindung,

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Wie optimiert man die Werbungserkennung von Ad- Detective?

Wie optimiert man die Werbungserkennung von Ad- Detective? Wie optimiert man die Werbungserkennung von Ad- Detective? Die Ad-Detective-Werbe-Erkennung von VideiReDo basiert auf der Erkennung von Schwarzwerten / scharzen Bildern, die die Werbeblöcke abgrenzen.

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Autor: Thomas Hanrath Microsoft Certified Trainer Titel SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System

Mehr

Lehrstuhl für Betriebswirtschaftslehre mit Schwerpunkt Finanzierung. Klausur "Finanzmanagement" 14. März 2002

Lehrstuhl für Betriebswirtschaftslehre mit Schwerpunkt Finanzierung. Klausur Finanzmanagement 14. März 2002 1 Lehrstuhl für Betriebswirtschaftslehre mit Schwerpunkt Finanzierung Klausur "Finanzmanagement" 14. März 2002 Bearbeitungshinweise: - Die Gesamtbearbeitungsdauer beträgt 60 Minuten. - Schildern Sie ihren

Mehr

Internet Kurs. Suchmaschinen

Internet Kurs. Suchmaschinen Internet Kurs Suchmaschinen M. Stalder Internetkurs M. Stalder 1 / 6 Suchmaschinen Suchmaschinen haben sich in letzter Zeit immer mehr zu einem unverzichtbaren Hilfsmittel entwickelt. Das Internet bietet

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

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

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik Informationsblatt zu den Seminaren am Lehrstuhl für Transportsysteme und -logistik Inhaltsverzeichnis ORGANISATORISCHES... 2 GROBER ABLAUF... 3 PRÄSENTATIONEN... 6 TEST... 7 1 Organisatorisches Jeder Student

Mehr