Post on 19-Oct-2020
transcript
© mayato® GmbH. Alle Rechte vorbehalten. Seite 67
Data Mining Studie 2011 | Praxistest & Benchmarking
5.3 WEKA 3.6.3
5.3.1 Grundkonzept, neue Funktionen und Erweiterungen
WEKA 3.6.3 ist eine bekannte und populäre Software-
Suite für Data Mining. Sie wurde von der Universität
von Waikato in Hamilton, Neuseeland entwickelt und
wird kostenlos unter der GNU General Public License
vertrieben.
WEKA (Waikato Environment for Knowledge Analysis)
war historisch betrachtet die erste frei verfügbare,
quelloffene Data Mining Software.
WEKA versteht sich als umfassende Bibliothek von in
Java implementierten Data-Mining-Algorithmen, auf
die entweder über eine der mitgelieferten Benutze-
-
griffen werden kann.
Beispiele für letztere Variante sind die in den maya-
to Data Mining Studien 2009 bzw. 2010 getesteten
Open-Source-Suiten RapidMiner und KNIME, mit denen
die in WEKA implementierten Algorithmen genutzt
werden können.
Durch die offene Architektur und die Nutzung der Java-
Programmiersprache kann WEKA auf vielen Bertriebs-
systemen ausgeführt werden.
-
zeroberfächen ausgeliefert: Explorer, Experimenter,
KnowledgeFlow und Simple CLI. Nach dem Start von
WEKA öffnet sich der WEKA GUI Chooser, der die Wahl
einer der GUIs (Graphical User Interfaces) ermöglicht.
Simple CLI (kurz für Command Line Interface) ist eine
-
len direkt auf die Funktionalitäten zugegriffen werden
kann. Für die erste Beschäftigung mit WEKA ist Simple
-
systeme gedacht, die keine eigene Kommandozeileno-
Kommandozeilenbefehle genutzt werden.
[Abb. 29]: WEKA GUI Chooser
[Abb. 30]: Simple CLI Benutzerschnittstelle
Seite 68
Data Mining Studie 2011 | Praxistest & Benchmarking
© mayato® GmbH. Alle Rechte vorbehalten.
Der Experimenter bietet sich an, wenn man statistische
-
nen beispielsweise die Einstellungen für statistische
Tests vorgenommen werden, was mit den anderen
GUIs nicht möglich wäre. Für Data-Mining-Aufgaben ist
der Experimenter allerdings nicht geeignet und wird
daher hier nicht weiter betrachtet.
[Abb. 31]: WEKA Experimenter
Der WEKA Explorer bietet eine dialogorientierte Be-
nutzerschnittstelle. Über Dialogfenster oder Drop-
Down-Listen werden Einstellungen geändert, über
erstellten Modelle ausgeführt werden.
Durch diese Art der Modellierung ist es nicht möglich,
mehrere Modelle in einem Arbeitsgang zu erstellen,
was einen erheblichen Nachteil der sonst - nach der
© mayato® GmbH. Alle Rechte vorbehalten. Seite 69
Data Mining Studie 2011 | Praxistest & Benchmarking
[Abb. 32]: WEKA Explorer
Enterprise Miner zeigt die WEKA KnowledgeFlow-
Umgebung den erstellten Data-Mining-Prozess als
Java-Klassen) werden als Icons dargestellt und mit Pfei-
Darstellung des Analyseprozesses entsteht.
Die zur Verfügung stehenden Funktionen sind zu
Gruppen zusammengefasst:
› DataSources: Einlesen von Daten
› DataSinks: Speichern von Daten
› Filters: Auswahl von Datensätzen
› Clusterers: Segmentierungsalgorithmen
› Associations: Assoziations- und Warenkorb-
analysen
› Evaluation: Bewertung von Datensätzen
und Ergebnissen
› Visualization: Ergebnisvisualisierung
Diese Gruppen und die enthaltenen Funktionen neh-
men den oberen Bereich des Knowledge Flow
-
entwickelt wird.
Im unteren Bereich des Fensters wird der Programmsta-
tus oder wahlweise der Log angezeigt. Dieser Bereich
ist vor allem wichtig, wenn es um die Fehlersuche bzw.
-behebung geht.
Seite 70
Data Mining Studie 2011 | Praxistest & Benchmarking
© mayato® GmbH. Alle Rechte vorbehalten.
Die KnowledgeFlow-Umgebung ist die modernste der
vier angebotenen Möglichkeiten. Deshalb beschrän-
ken wir uns in dieser Studie im Folgenden darauf, den
-
che darzustellen.
5.3.2 Clusteranalyse
Datenvorverarbeitung
WEKA kann verschiedene Dateiformate einlesen, so
können z.B. csv-Dateien (mit dem CSVLoader) oder
Datenbanktabellen (mit dem DatabaseLoader, beide
aus der Funktionengruppe DataSources eingelesen
werden.
Am effizientesten ist jedoch das Format ARFF (At-
tribute Relation File Format), das speziell für WEKA
entwickelt wurde.
Deshalb ist es ratsam, zunächst die csv-Datei der Fall-
studie in das ARFF-Format zu konvertieren. Dies geht
am besten mit einem Zeilenkommando, genauer:
einem Aufruf der Java-Klasse CSVLoader.
Dieses kann entweder in einem Eingabeaufforde-
rungsfenster des Betriebssystems oder aber in der
Benutzeroberfläche Simple CLI abgesetzt werden.
Nach wenigen Sekunden steht die ARFF-Datei zur
Verfügung.
Nun kann mit der Entwicklung des Analyseprozesses
begonnen werden. Dazu wird aus dem GUI Chooser
die KnowledgeFlow-Oberfläche gestartet. In den
Workflow-Bereich wird dann als erstes aus der Grup-
pe DataSources ein ArffLoader hinzugefügt.
[Abb. 33]: WEKA KnowledgeFlow, Startansicht
© mayato® GmbH. Alle Rechte vorbehalten. Seite 71
Data Mining Studie 2011 | Praxistest & Benchmarking
Wie bei fast jedem Funktionssymbol werden die Ein-
stellungen vorgenommen, indem mit der rechten
Maustaste das Kontextmenü aufgerufen und daraus
“Configure” gewählt wird. Es öffnet sich ein neues
Dialogfenster, in dem man die jeweiligen Einstel-
lungen vornehmen kann - in diesem Fall ist das die
einzulesende ARFF-Datei. Aus Performance-Gründen
- mehr dazu später - verwenden wir hier eine 20%-
Zufallsstichprobe aus dem vollständigen Datensatz,
die durch Verwendung der Funktion Resampler aus
der Gruppe Unsupervised Filter erzeugt werden kann.
[Abb. 34]: Einstellungen des ArffLoader
In WEKA gibt es mehrere Typen von Datensätzen:
Rohdaten (genannt “dataSet”), Trainingsdaten (“trai-
ningSet”) und Testdaten (“testSet”) sind die wich-
tigsten. Die Funktionen aus der Gruppe DataSources
erzeugen Daten von Typ “dataSet”, also Rohdaten.
Die meisten Data-Mining-Verfahren, so auch die
Cluster-Verfahren können jedoch nicht auf Rohdaten,
sondern nur auf Trainings- oder Testdatensätze an-
gewandt werden.
Im nächsten Schritt muss der mit dem ArffLoader
erzeugte Rohdatensatz also in einen Trainings-
Datensatz umgewandelt werden. Auch hierfür gibt
es eine Funktion: Aus der Gruppe Evaluation wird
der TrainingSetMaker ausgewählt und dem Work-
flow hinzugefügt. Um den ArffLoader nun mit dem
TrainingSetMaker zu verbinden, wählt man aus dem
Kontextmenü des ArffLoader dataSet aus. Daraufhin
erscheint ein Pfeil, der sich mit allen Funktionen, die
einen dataSet verarbeiten können, verbinden lässt.
In unserem Fall ist das nur der TrainingSetMaker.
Seite 72
Data Mining Studie 2011 | Praxistest & Benchmarking
© mayato® GmbH. Alle Rechte vorbehalten.
Wählt man aus dem Kontextmenüs des ArffLoader
nun den Befehl “Start loading”, so werden beide
Funktionen ausgeführt und es steht als Ergebnis ein
Trainingsdatensatz zur Verfügung, auf den sich ein
Cluster-Verfahren anwenden lässt.
Datenanalyse
Durch die offene Java-Architektur von WEKA stehen
viele unterschiedliche Data-Mining-Verfahren zur Ver-
fügung. Im Standard-Umfang von WEKA gibt es alleine
16 verschiedene Entscheidungsbaumverfahren. In der
Gruppe der Clustering-Verfahren kann der Analyst zwi-
schen 12 Verfahren wählen.
Diese extrem große Menge an zur Verfügung stehen-
den Verfahren mag auf den ersten Blick als Pluspunkt
für WEKA erscheinen, erweist sich in der Praxis jedoch
eher als hinderlich: Im professionellen Einsatz hat man
im Normalfall nicht die Zeit, die Unterschiede zwischen
über 100 Verfahren herauszuarbeiten oder diese gar
zu testen. Da auch die zur Verfügung stehende Doku-
mentation im Detail nicht weiterhilft, bleibt oft nur,
zwei bis drei Verfahren nach einer groben Beschrei-
bung auszuwählen und zu hoffen, dass ein für das
jeweilige Problem passendes Verfahren darunter ist.
Für die Demonstration anhand unserer Fallstudie wäh-
len wir aus der Gruppe Clusterers die SimpleKMeans-
Funktion. Hier handelt es sich um eine Implementie-
rung des bekannten K-Means-Verfahrens, das zu den
schnelleren Clustering-Verfahren gehört.
Die SimpleKMeans-Funktion wird also hinzugefügt und
auf die oben beschriebene Weise mit dem Trainingsda-
tensatz verbunden. Die Parametrisierung erfolgt wie-
Die Analyst kann hier beispielsweise das verwendete
Distanzmaß, die gewünschte Anzahl der Cluster und
für die Laufzeitbegrenzung eine maximale Iterations-
anzahl wählen.
Der Analyst hätte hier auch gerne die Möglichkeit, die
für die Clusterbildung zu verwendenden Variablen aus-
zuwählen. Diese Funktion fehlt in allen WEKA-Cluster-
Funktionen. Daran kann man eine generelle Eigenart
der WEKA Knowledge Flow Benutzerschnittstelle er-
kennen: Jeder Knoten, d.h. jede Funktion hat genau
eine Aufgabe, der Analyst muss also selbst an jeden
-
bauen. Dies mag zwar zur Flexibilität des Tools beitra-
In diesem konkreten Fall muss also entweder eine Funk-
tion vorgeschaltet werden, die die gewünschten Vari-
ablen auswählt, oder der Eingangsdatensatz muss auf
die entsprechenden Variablen eingeschränkt werden.
Beides ist aufwändig und führt zu Zeitverlust bei der
[Abb. 35]: Verbinden zweier Funktionen in WEKA
© mayato® GmbH. Alle Rechte vorbehalten. Seite 73
Data Mining Studie 2011 | Praxistest & Benchmarking
[Abb. 35]: Verbinden zweier Funktionen in WEKA
Analyse. Für unsere Fallstudie wählen wir die Funktion
“Remove” aus der Funktionsgruppe Filters, mit der Va-
riablen von der weiteren Verarbeitung ausgeschlossen
werden können.
Sind die wenigen Parameter richtig eingetragen, so kann
die Berechnung wieder gestartet werden, indem die
erste Funktion des Flows, der ArffLoader, gestartet wird.
Alle nachfolgenden Knoten werden dann der Reihe
nach ausgeführt. Sind die beschriebenen Schritte bis
hin zum Cluster-Knoten getan, so geht die eigentliche
Berechnung der Cluster sehr schnell.
Bei vier Variablen, der 20%-Stichprobe, einer Clusteran-
zahl von 9 und maximal 500 Iterationsschritten dauert
es nur wenige Sekunden, bis die Cluster gefunden sind.
Siehe dazu auch Tab. 19.
[Abb. 37]: Parameter des SimpleKMeans Verfahrens
[Abb. 36]: Clustering-Verfahren in WEKA