Hauptnavigation

Software zu Maschnielles Lernen

Einige Übungsaufgaben verlangen eine Implementierung von bekannten Lernverfahren innerhalb einer RapidMiner-Extension. Folgende Anleitung soll helfen, eine funktionierende Entwicklungsumgebung zur Bearbeitung dieser Aufgaben einzurichten. Diese Informationen sind auch hilfreich zur Erstellung eigener Extensions in RapidMiner. Mehr Informationen dazu gibt es auch auf dieser Seite, dort findet man den RapidMiner Extension Guide

Als IDE wird hierbei Eclipse verwendet. Prinzipiell kann auch jede andere IDE oder ein Texteditor verwendet werden, wobei die einzelnen Schritte dann jeweils angepasst werden müssen.

Importieren der Projekte

  1. Installation von Eclipse inkl. Subclipse und Egit (eingebaute Subversion-Clients). Subclipse und Egit können direkt über Eclipse installiert werden. Hierfür klickt man innerhalb von Eclipse auf "Help", dann auf "Eclipse Marketplace", sucht nach beiden Begriffen und installiert beide Plugins.
  2. Als nächstes wird der Quellcode von RapidMiner 5.3 (Unuk) benötigt, der unter

    https://github.com/rapid-i/rapidminer.git

    als Git-Projekt vorliegt und über 'File -> Import... -> Git -> Project from Git' in Eclipse geladen werden kann, und eine vorbereitete Lehre-Extension aus

    https://www-ai.cs.uni-dortmund.de/svn/MLV-uebung/

    in Eclipse geladen, indem man in Eclipse 'File -> Import... -> SVN -> Checkout Project from SVN' angibt. Die zu verwendende Repository-Location ist

    https://www-ai.cs.uni-dortmund.de/svn/MLV-uebung/

    Unter dieser Location liegt ein Eclipse-Projekt:

    • RapidMiner_Extension_MLV: Das ist der Quellcode der RapidMiner Extension für die Implementierung der Übungsaufgaben.

  3. Die zu implementierenden Klassen sind innerhalb der Extension zu finden. Welche Klassen implementiert werden müssen, ist den Übungsblättern zu entnehmen.

Installieren der Extension

Zum Installlieren der Extension liegt eine Ant-Build Datei zur Verfügung, die die Extension kompiliert und in den lib/plugins von RapidMiner kopiert und somit die Extension installiert. Hierfür muss das Ant-Target install aufgerufen werden. Dieses Target wird automatisch aufgerufen, wenn innerhalb von Eclipse im Projekt RapidMiner_Extension_MLV die Datei build.xml mit der rechten Maustaste angeklickt wird und innerhalb des Kontextmenüs 'Run as... -> Ant Build' gewählt wird. In der Eclipse Konsole kann man nun sehen, wie die Extension kompiliert und installiert wird.

Eine Möglichkeit, das Installieren der Extension zu Vereinfachen und auch während der Ausführung von RapidMiner zu erlauben, bietet die Rapid Development Extension für Eclipse und RapidMiner. Auf der Seite wird auch beschrieben, wie diese Extension installiert wird.

Anschließend kann nun RapidMiner gestartet werden. Dies geschieht über einen Rechtsklick auf RapidMiner und dann 'Run as... -> Java Application'. Eclipse sucht jetzt nach der der Main-Klasse. Zum Start von RapidMiner muss hier com.rapidminer.gui.RapidMinerGUI angegeben werden. Bei den Operatoren sollte es nun einen Ordner namens MLV Exercise geben. Hier tauchen die implementierten Operatoren aus der Extension auf.

Debuggen der Extension

Als letzten Schritt konfigurieren wir Eclipse so, dass RapidMiner inkl. der installierten ML-Lehre Extension im Debug-Modus gestartet wird. So können die Operatoren mit den gewohnten Debug-Möglichkeiten von Eclipse getestet werden.

Nach jeder Ă„nderung muss erst einmal über das Ant-Target install oder die Rapid Development Extension (siehe oben) die Extension neu installiert werden. Während des Debuggens kann dann der Code innerhalb der Extension verändert werden und wird dann auch direkt so ausgeführt. Während RapidMiner ausgeführt wird, geht das nur über die Rapid Development Extension.

Im folgenden ist beschrieben, wie die "Debug Configuration" erstellt wird.

  1. Rechter Mausklick auf das Projekt RapidMiner, dann auf Debug as und anschließend auf Debug configurations ..
  2. Klick auf Java Applications und auf den New-Button. Dieser erzeugt eine Konfiguration, die nun noch angepasst werden muss. Für diese Konfiguration kann auch ein beliebiger Name gewählt werden.
  3. Unter dem Tab Main und unter Main class muss wieder com.rapidminer.gui.RapidMinerGUI angegeben werden.
  4. Unter Arguments und dann unter VM arguments muss nun folgende Zeile eingetragen werden:
    -Drapidminer.operators.additional=resources/com/rapidminer/resources/OperatorsMLV.xml
  5. Unter Classpath auf User Entries klicken und dann auf den Add Projects..-Button, wo dann das Projekt mit der Extension hinzugefügt wird.

Testen der Implementierung

Nachdem die geforderten Operatoren implementiert sind und die Extension gestartet ist, kann die Implementierung validiert werden. Für einige der zu implementierenden Operatoren liegen im Repository MLV unter processes Prozesse bereit, die überprüfen, ob der Operator die richtigen Ergebnisse liefert. Um dies zu testen, muss der jeweilige Prozess geöffnet werden und im Menü unter MLV kann nun Test Operator angeklickt werden. Der Test-Prozess startet und am Ende erscheint ein Dialog, ob der Operator erfolgreich getestet wurde oder nicht.

Implementierung abgeben

Nachdem der Operator implementiert und getestet ist, kann die Implementierung abgegeben werden. Hierfür startet man das Ant-Target install (siehe oben). Im Ordner lib/plugins innerhalb des Projektes RapidMiner befindet sich die Datei rapidminer-MLV-5.0.000.jar (Falls die Datei nicht sichtbar ist, muss unter Umständen der Ordner aktualisiert werden. Hierfür muss auf den Ordner lib geklickt und anschließend F5 gedrückt werden). Bei dieser Datei handelt es sich um die Abgabe.

Problemlösungen

    • Problem: Build Path conflict. Ein rotes Ausrufezeichen am Lehre-Plugin-Projekt zeigt an, dass der Build Path einen Konflikt hat.
    • Lösung: Das RapidMiner-Projekt muss als Abhängigkeit im Lehre-Plugin-Projekt angegeben werden. Nach dem Auschecken aus dem SVN kann es vorkommen, dass das RapidMiner-Projekt anders heißt als erwartet. In dem Fall muss der Build path angepasst werden. Mit Rechtsklick auf das Projekt unter Build Path -> Configure Buld Path... gelangt man zu einer Übersicht, bei der man unter dem Tab Projekte das Projekt, das mit "(missing)" gekennzeichnet ist, entfernt und über Add... das RapidMiner-Projekt aus dem Workspace hinzufügt
    • Problem: Fehler in build.xml: "Default target install does not exist in this project."
    • Lösung: Der Pfad zum RapidMiner-Projekt in der Ant-Property "rm.dir" ist falsch gesetzt. Entweder muss der absolute Pfad angegeben werden (diesen findet man mit Rechtsklick auf das RapidMiner-Projekt, Properties und dann unter der Rubrik Resource), oder, falls das Projekt in der selben Ordnerstruktur im Workspace liegt wie das Lehre-Plugin-Projekt, der relative Pfad in Abhängigkeit vom Lehre-Plugin-Projekt. Der Fehler verschwindet optisch aber erst nach einem Neustart von Eclipse, obwohl das Ausführen als Ant Build ohne Probleme funktioniert.
    • Problem: Fehler beim Ant Build: "Unable to find a javac compiler."
    • Lösung: Der Ant Build wird nicht mit einem JDK, sondern einer JRE ausgeführt. Es gibt mehrere Möglichkeiten, das zu beheben. Die einfachste besteht darin, über Rechtsklick auf die build.xml und Run as -> Ant Build... die Konfiguration des Ant Builds aufzurufen. Unter dem Tab JRE kann dann mit Klick auf Installed JREs... ein JDK ausgewählt werden, falls in Eclipse bereits ein JDK registriert ist. Ein JDK kann ansonsten auch in der JRE-Auswahl hinzugefügt werden.
Bei weiteren Problemen bitte eine Mail an Jan Czogalla