Definition Was ist Waikato Environment for Knowledge Analysis (WEKA)?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Waikato Environment for Knowledge Analysis ist eine unter Open-Source-Lizenz stehende freie Datenverarbeitungssoftware. Sie wurde an der neuseeländischen University of Waikato entwickelt und lässt sich für Data Mining und Maschinelles Lernen (ML) einsetzen. Die Software ist in Java programmiert, plattformunabhängig einsetzbar und verfügt über eine grafische Benutzeroberfläche.

Firmen zum Thema

(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung WEKA steht für Waikato Environment for Knowledge Analysis. Es handelt sich um eine unter GNU General Public License stehende Softwaresammlung, die an der University of Waikato in Neuseeland entwickelt wurde. WEKA stellt eine Softwaresammlung zur Verfügung, die sich für Data Mining, Maschinelles Lernen, Datenanalysen, datenbasierte Vorhersagen und die Visualisierung der Daten und Ergebnisse einsetzen lässt. Unter anderem ist die Software Bestandteil des Standardwerks für Data Mining und Machine Learning „Data Mining: Practical Machine Learning Tools and Techniques“ der Autoren Ian H. Witten, Eibe Frank und Mark A. Hall. Die in diesem Buch beschriebenen Algorithmen, Techniken und Tools werden von Waikato Environment for Knowledge Analysis unterstützt.

WEKA bietet dem Anwender eine grafische Benutzeroberfläche. Aufgaben rund um das Data Mining und Maschinelle Lernen lassen sich erledigen, ohne dass der Nutzer Programmcode erstellen muss. Experimentelles Data Mining lässt sich ohne spezielle Programmierkenntnisse durchführen. Die verschiedenen Algorithmen und Methoden sind flexibel und mit wenigen Klicks auf die Datenbestände anwendbar. Teile der Funktionalität sind die Aufbereitung der Daten sowie das Vergleichen und Evaluieren verschiedener Lernmethoden und Algorithmen. Während die 1993 entwickelte Version von WEKA noch aus einem Mix aus Tcl/Tk, C und Makefiles bestand, basieren die WEKA-Versionen seit 1997 auf Java.

Typische Einsatzbereiche

Ursprünglich war Waikato Environment for Knowledge Analysis für die Analyse agrarwirtschaftlicher Daten vorgesehen. Mittlerweile ist die Software generalistisch für Daten aller Art einsetzbar. Typische Einsatzbereiche sind in der Wissenschaft, in der Forschung sowie im öffentlichen und im privatwirtschaftlichen Bereich zu finden. WEKA arbeitet aufgrund der Java-basierten Funktionsweise plattformunabhängig und kann auf Rechnern mit Betriebssystemen wie Windows, macOS oder Linux und anderen Computing-Plattformen mit Java-Laufzeitumgebung eingesetzt werden. Darüber hinaus verfügt WEKA über Schnittstellen zu SQL-Datenbanken und unterstützt die freie Deep-Learning-Bibliothek Deeplearning4j.

Seit der Version 3.7.2 ist in WEKA ist ein Paketmanager integriert, mit dem sich Erweiterungspakete modular installieren lassen. Erhältlich ist WEKA über die Waikato-Internetseite www.cs.waikato.ac.nz/ml/weka. Über diesen Link lassen sich installierbare Softwarepakete für die verschiedenen Betriebssysteme und die WEKA-Java-Software im jar-Format herunterladen. Die Software liegt in zwei grundsätzlichen Versionen vor: eine Stable Version und eine Development Version. Die aktuellste Version der Stable Version ist WEKA 3.8.5 (Stand Dezember 2020).

Motivation für die Entwicklung von WEKA

Eine Motivation für die Entwicklung von WEKA war es, Algorithmen, Methoden, Modelle und Tools für das Data Mining und Machine Learning bereitzustellen, die sich einfach auf Datensätze anwenden lassen, ohne dass Nutzer spezielle Programmierkenntnisse benötigen. Über eine grafische Benutzeroberfläche und die integrierten Tools lassen sich alle Aufgaben wie das Aufbereiten oder Transformieren von Datensätzen, das Anwenden, Vergleichen und Evaluieren von Algorithmen, Methoden und Modellen oder das Visualisieren der Daten und Ergebnisse einfach erledigen. Alle gängigen Problemstellungen des Data Minings wie die Regression, die Klassifizierung oder das Clustern von Daten werden unterstützt. Als Ausgangsdaten sind Daten in Tabellenform oder über SQL-Abfragen aus einer relationalen Datenbank gewonnene Daten nutzbar.

Die Anwendung von WEKA

WEKA ist vielseitig anwendbar. Die Software lässt sich einsetzen, um Daten zu analysieren, tiefere Einblicke in Daten zu erhalten, Vorhersagen auf Basis eines vorgegebenen Datensatzes zu erstellen oder die Leistungsfähigkeit verschiedener Algorithmen und Methoden zu vergleichen beziehungsweise ihre Parameter zu optimieren. Die grafische Benutzeroberfläche von WEKA stellt die Applikationen Explorer, Experimenter, KnowledgeFlow, Workbench und Simple CLI zur Verfügung.

Einen guten Einstieg in WEKA bietet der Explorer. Mit ihm lassen sich Datensätze in einem grafischen Benutzerinterface vorbereiten, bearbeiten, Algorithmen anwenden und Ergebnisse visualisieren. Die Experimenter-Applikation ist dafür vorgesehen, mehrere Datensätze mit verschiedenen Algorithmen für experimentelles Data Mining zu analysieren, um die Methoden und Parameter zu vergleichen und zu evaluieren. Mithilfe der Knowledge-Flow-Applikation ist das Stream-basierte Prozessieren der Daten möglich. So müssen die Daten nicht wie im Explorer im Arbeitsspeicher vorgehalten werden, sondern lassen sich in einem Stream verarbeiten. Die Workbench ist ein konfigurierbares grafisches Benutzerinterface, mit dem der Anwender selbst festlegt, welche Applikationen und Plugins aufgerufen werden sollen. Den Abschluss an Applikationen bildet das Simple CLI (Command Line Interface). Es handelt sich um eine befehlszeilenorientierte Eingabeschnittstelle für den Anwender. Über Textkommandos steht der komplette Funktionsumfang von Waikato Environment for Knowledge Analysis zur Verfügung.

Vorteile von WEKA

Die Vorteile von WEKA sind, kurz zusammengefasst, folgende:

  • unter GNU General Public License frei verfügbar
  • in Java programmiert und plattformunabhängig einsetzbar
  • Sammlung zahlreiche Algorithmen, Methoden, Klassifikatoren und Modelle für Data Mining und Machine Learning
  • einfach zu verwendendes grafisches Benutzerinterface
  • keine Programmierkenntnisse notwendig
  • modular aufgebaut und über einen integrierten Paketmanager mit Plug-ins erweiterbar
  • Schnittstelle zu SQL-Datenbanken
  • Unterstützung der freien Deep-Learning-Bibliothek Deeplearning4j und anderer Bibliotheken, Frameworks oder Programmiersprachen wie R, Python, scikit-learn oder Spark

(ID:47068766)

Über den Autor