Open Source Tool auf Basis von Java Machine Learning und Datenanalyse mit Weka 3

Von Thomas Joos 5 min Lesedauer

Weka 3 ist eine Plattform für maschinelles Lernen, die von der University of Waikato in Neuseeland entwickelt wurde. Die Plattform bietet eine Sammlung von Algorithmen für maschinelles Lernen und Data Mining – und mehr. Wir geben einen Überblick.

„Weka“ steht für „Waikato Environment for Knowledge Analysis“. Die Plattform ermöglicht auf Basis von Java einen schnellen Einstieg ins Machine Learning und in die Datenanalyse.
„Weka“ steht für „Waikato Environment for Knowledge Analysis“. Die Plattform ermöglicht auf Basis von Java einen schnellen Einstieg ins Machine Learning und in die Datenanalyse.
(Bild: T. Joos)

Weka ist ein Open-Source-Projekt für maschinelles Lernen und kann kostenlos verwendet werden. Die Bezeichnung „Weka“ steht für „Waikato Environment for Knowledge Analysis“. Die Plattform ermöglicht auf Basis von Java einen schnellen Einstieg in das Machine Learning und in die Datenanalyse. Die Software der University of Waikato in Neuseeland bietet eine Sammlung von Algorithmen für maschinelles Lernen und Data Mining sowie Werkzeuge für die Vorverarbeitung von Daten und die Visualisierung von Ergebnissen. Über den integrierten Paket-Manager lassen sich in Weka zahlreiche Algorithmen, Erweiterungen, Tools und sehr viel mehr direkt in der grafischen Oberfläche einbinden.

Wenn Datenwissenschaftler Weka 3 für Big-Data-Analysen verwenden wollen, müssen sie unter Umständen zusätzliche Software und Ressourcen installieren, um die Verarbeitung großer Datenmengen zu unterstützen. Zum Beispiel können Apache Hadoop oder Spark zum Einsatz kommen, um Weka 3 auf einem Cluster von Computern zu verteilen und die Verarbeitung zu beschleunigen.

Künstliche neuronale Netze und mehr mit Weka aufbauen

Weka ist in Java geschrieben und bietet eine grafische Benutzeroberfläche, die es Benutzern ermöglicht, Experimente im Bereich des maschinellen Lernens durchzuführen. Die Plattform unterstützt sowohl Supervised als auch Unsupervised Learning und bietet eine Vielzahl von Algorithmen, darunter Entscheidungsbäume, künstliche neuronale Netze, Random Forests, Naive Bayes, Support Vector Machines und k-Means-Clustering.

Weka kann verwendet werden, um Klassifikationsmodelle für verschiedene Zwecke zu erstellen, wie zum Beispiel die Vorhersage von Kreditwürdigkeit von Kunden, die Diagnose von Krankheiten oder die Identifizierung von Spam-E-Mails. Im Rahmen der Clusteranalyse kann Weka Muster in Daten identifizieren. Beispiele dafür sind Gruppierung von Kunden nach Einkommensniveau oder Clustering von Genexpressionsdaten in der Forschung.

In der grafischen Oberfläche von Weka lassen sich zusätzliche Pakete integrieren.
In der grafischen Oberfläche von Weka lassen sich zusätzliche Pakete integrieren.
(Bild: T. Joos)

Für die Vorhersage von zukünftigen Ereignissen ist Weka ebenfalls einsetzbar. Aktienkurse oder potentielle Verkaufszahlen von neuen Produkten lassen sich auf Basis von Weka vorhersagen. Weka bietet auch eine Reihe von Werkzeugen für die Vorverarbeitung von Daten. Dazu gehört die Entfernung von fehlenden Daten, die Normalisierung von Daten und die Umwandlung von Daten in das richtige Format für die Verwendung mit bestimmten Algorithmen. Dazu kommen Möglichkeiten zur Visualisierung von Ergebnissen. Die Darstellung von Entscheidungsbäumen oder Clusteranalyse sind mit Weka umsetzbar.

Erste Schritte mit Weka

Weka ist plattformunabhängig und kann auf Windows, Linux und MacOS installiert werden. Der Download der kostenlosen Software kann direkt über die Webseite des Projektes erfolgen. Der Download hat eine Größe von etwa 130 Megabyte und umfasst am Beispiel für Windows auch eine aktuelle Java-VM auf Basis von Azuls OpenJDK in 64-Bit. Die Installation erfolgt am Beispiel von Windows genauso wie bei anderen Programmen. Das macht den Einstieg einfach.

Die grafische Oberfläche von Weka 3 bietet einen schnellen Einstieg.
Die grafische Oberfläche von Weka 3 bietet einen schnellen Einstieg.
(Bild: T. Joos)

Für den Einsatz von Weka benötigen Anwender ausreichend Speicherplatz, um das Tool und alle benötigten Daten- und Modelldateien zu speichern. Die genaue Menge an Speicherplatz hängt von der Größe und Anzahl der Datensätze sowie von der Anzahl und Komplexität der verwendeten Modelle ab. Für die grafische Benutzeroberfläche ist eine grafikkartenfähige Schnittstelle erforderlich, um die visuellen Elemente anzuzeigen. Weka kann jedoch auch über eine Befehlszeilenschnittstelle ohne Grafikunterstützung verwendet werden.

Weka wird mit einer grafischen Benutzeroberfläche gestartet, die es ermöglicht, Experimente sofort durchzuführen und Daten zu analysieren. Vorhandene Daten lassen sich entweder als Datei öffnen oder Anwender erstellen eine neue Datei und geben Daten manuell ein. Weka unterstützt verschiedene Dateiformaten, darunter CSV, ARFF, Tabellen, JSON-Dateien und vieles mehr. Neben Dateien lassen sich URLs und Datenbanken anbinden. Dazu steht in der Oberfläche jeweils eine eigene Schaltfläche bereit. Um zusätzliche Funktionen in das Tool einzubinden, steht nach der Installation über den Menüpunkt „Tools“ der Paket-Manager zur Verfügung.

In Weka lassen sich zahlreiche Formate zur Analyse laden.
In Weka lassen sich zahlreiche Formate zur Analyse laden.
(Bild: T. Joos)

Weka bietet eine Reihe von Tools zur Vorverarbeitung von Daten. Ist die Vorbereitung abgeschlossen, lassen sich Algorithmus aus der umfangreichen Sammlung auswählen. Dazu gehören Entscheidungsbäume, künstliche neuronale Netze oder Naive Bayes. Über den Menüpunkt „Tools“ lassen sich über den Paket-Manager zahlreiche weitere Erweiterungen und Algorithmen hinzufügen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Verarbeiten und analysieren von Daten mit Weka 3.
Verarbeiten und analysieren von Daten mit Weka 3.
(Bild: T. Joos)

Darüber hinaus bietet das Tool verschiedene Möglichkeiten zur Visualisierung von Ergebnissen, darunter Diagramme, Tabellen und Scatterplots. Auch hier ist die Installation von Erweiterungen über den integrierten Paket-Manager möglich.

Datenqualität ist wichtig

Die Verarbeitung der Daten mit Weka ist natürlich nur so gut wie die Qualität der Daten, die zum Einsatz kommen. Das gilt generell für alle Tools in diesem Bereich. Daher muss sichergestellt sein, dass die verwendeten Daten möglichst sicher, korrekt und vollständig und frei von Fehlern sind, bevor diese in Weka geladen werden. Es gibt eine Vielzahl von Algorithmen in Weka, die für verschiedene Anwendungen geeignet sind. Bei der Auswahl des Algorithmus, der am besten zum jeweiligen Problem passt, sollten Datenwissenschaftler natürlich besonders sorgfältig vorgehen. Der Algorithmus bestimmt genauso über den Erfolg des Projektes, wie die Qualität der Daten.

Die Vorverarbeitung der Daten kann einen großen Einfluss auf die Qualität der Ergebnisse haben. Es ist sehr sinnvoll frühzeitig Werte zu entfernen, Daten zu normalisieren und in das richtige Format umzuwandeln. Überanpassung (Overfitting) ist ein häufiges Problem bei der Verwendung von Machine-Learning-Algorithmen. Die richtige Aufteilung in Trainings- und Testdaten und das richtige Training des Algorithmus auf den Trainingsdaten vermeiden, dass der Algorithmus zu stark auf die Trainingsdaten abgestimmt wird. Viele Algorithmen in Weka verfügen über Hyperparameter, welche die Leistung des Algorithmus optimieren kann. Weka ist zwar generell eine leistungsfähige Plattform, aber bei der Verarbeitung großer Datenmengen können Skalierbarkeitsprobleme auftreten. Die Skalierung sollte rechtzeitig geplant werden, damit ein Projekt nicht stoppt, weil die Hardware nicht leistungsfähig genug ist, oder die verwendete Software mit der Datenmenge nicht umgehen kann.

Weka 3 und die Cloud

Bezüglich Skalierung ist natürlich der Einsatz in der Cloud interessant, da hier besonders schnell eine Skalierung durchgeführt werden kann. Es ist möglich Weka 3 in Cloud-Umgebungen wie Amazon Web Services (AWS) und Microsoft Azure zu nutzen. Entwickler können Weka in einer Cloud-Instanz bereitstellen und darauf zugreifen, indem eine Remote-Verbindung wie SSH oder auch RDP zum Einsatz kommt.

In AWS können Entwickler Weka 3 auf verschiedene Arten bereitstellen, zum Beispiel durch Erstellen einer virtuellen Maschine in Amazon EC2. In Azure kann Weka 3 über eine herkömmliche Azure-VM zum Einsatz kommen. Als Speicherort kommen die zahlreichen Möglichkeiten zur Verfügung, die AWS, Azure und Co bieten. Es ist aber auch hier wichtig zu beachten, dass die Leistung von Weka in der Cloud von verschiedenen Faktoren abhängt, wie der Größe der verwendeten Instanz, der Anzahl der Prozessorkerne und der verfügbaren Speicher- und Netzwerkbandbreite.

(ID:49623032)