Jackhammer Extension

RapidMiner ist ein goldener Hammer ...

... aber unsere Extension macht daraus einen goldenen Presslufthammer! Sie stellt mehrere neue Operatoren bereit und erweitert die Funktionalität der Benutzeroberfläche, sodass komplexe Prozesse in großskaligen Projekten viel einfacher gehandhabt werden können. Die Extension wurde insbesondere für Szenarios entworfen, die durch einen besonders hohen Automatisierungsgrad mit sehr komplexen Datenstrukturen gekennzeichnet sind. Die generelle Effektivität und Leistungsfähigkeit wird verbessert.

Um dies zu bewerkstelligen, sind Operatoren enthalten, die

  • das Projektmanagement vereinfachen und vollautomatisierte Anwendungsszenarios im produktiven Bereich und mit vielen Servern ermöglichen,
  • mittels Cache-Mechanismen unnötig lange Wartezeiten beim wiederholten Laden von Daten vermeiden,
  • Indexed Collections generieren, um Prozesse, die für Tausende von Maschinen/Benutzern/Einheiten ablaufen, generisch gestalten zu können,
  • durch Verwendung der Netzwerkprotokolle FTP, SFTP und FTPS die Übertragung von Dateien ermöglichen,
  • oft benötigte Funktionen direkt und effizient implementieren, sodass nicht mehr mehrere Core Operatoren von RapidMiner notwendig sind, um diese Funktionen zu implementieren.

...machen Sie einen goldenen Presslufthammer daraus!

Wenn Sie ein erfahrener Benutzer von RapidMiner sind, haben Sie wahrscheinlich schon bemerkt, dass RapidMiner ein goldener Hammer ist. Egal welcher Art von Data Science Problem Sie begegnen mit hoher Wahrscheinlichkeit gibt es einen Weg, dieses Problem mit RapidMiner zu lösen. Die harte Realität in der Projektarbeit zeigt oft genug, dass ein goldener Hammer, der die Funktion diverser Werkzeuge in sich vereint, für gewöhnlich nicht zur Hand ist. Die Alternative wäre, Hunderte von unterschiedlichen Werkzeugen zu verwenden, die in der Summe Ihren Werkzeuggürtel so schwer machen, dass Sie nur noch durch Ihr Projekt kriechen könnten.

An besonders großen Baustellen ist der Einsatz vieler goldener Hämmer notwendig – oder eines goldenen Presslufthammers! Viele Projekte arbeiten heute mit Datenmengen, die zwar einer besonderen Hinwendung bedürfen, um auf gewöhnlich verbreiteter Hardware ausgeführt zu werden, aber nicht die Verwendung und den Mehraufwand von Big Data Lösungen rechtfertigen. Unsere Extension macht Ihre RapidMiner Installation zu einem goldenen Presslufthammer, der Ihre täglichen Sorgen einfach platt macht.

Freie Testphase

Die Extension steht mit eingeschränkter Funktionalität im Marketplace von RapidMiner zum freien Download zur Verfügung. Um alle Funktionen testen zu können, schicken wir Ihnen auf Anfrage gerne einen Demo Lizenzschlüssel.

Funktionen

Im Folgenden finden Sie eine ausführliche Beschreibung der Funktionen und eine Liste der Operatoren, die in der Jackhammer Extension enthalten sind.

Caching

Unser Cache Operator ist sowohl für die Entwicklung und die Modellierung, aber auch für den produktiven Einsatz sehr nützlich. Stellen wir uns vor, Sie laden Daten von externen Ressourcen, wie etwa Datenbanken. Für den Fall, dass der Datenbankserver auch für andere Projekte genutzt wird, kann es sehr lange dauern, um die Daten zu laden. Besonders in der Modellierungsphase eines Projekts müssen die Daten sehr oft geladen werden, obwohl sie sich überhaupt nicht verändern. Fügen Sie daher die Prozessschritte des Ladens und der Datenvorverarbeitung einfach in den Subprozess des Cache Operators ein. Dieser speichert dann die Ergebnisse des internen Prozesses im Arbeitsspeicher oder falls nötig auf der lokalen Festplatte, sodass sie immer verfügbar sind. Wird der Prozess wiederholt ausgeführt, überprüft der Cache Operator, ob sich der interne Prozess geändert hat. Falls eine Änderung vorgenommen wurde oder eine frei wählbare Frist für die Gültigkeit der gespeicherten Ergebnisse abgelaufen ist, wird der interne Prozess wiederholt ausgeführt. Ansonsten stehen die Ergebnisse praktisch sofort zur Verfügung und der Prozess kann ohne Verzögerung durch zeitaufwändige Berechnungen fortgeführt werden.

Caching Subprocess mit langsamer Datenbankanfrage, Filtern mit externen Daten und Preprocessing.
Laufzeit von 3 Minuten 42 Sekunden auf 14 Sekunden reduziert.

Während der Operator durch die Vermeidung unnötiger Wartezeiten die Modellierungsphase effizienter macht, kommt sein wahrer Wert erst im produktiven Einsatz zum Vorschein. Angenommen, Sie nehmen in einem Prozess zur Überwachung von Maschinen zwei Datenbankabfragen vor: Eine Datenbank beinhaltet die neuesten Informationen, die von der Maschine gesendet werden, die andere Datenbank statische Informationen zu dieser spezifischen Maschine. Sie können zusätzliche Rechenzeit vermeiden, indem Sie die zweite Datenbankabfrage in einen Cache Operator setzen. Der Cache kann so konfiguriert werden, dass er auf Änderungen von Prozessvariablen (Macros) reagiert und unterschiedliche Ergebnisse für unterschiedliche Maschinen speichert. Ist die Rechenzeit für Sie von nachrangiger Bedeutung, wird die Entlastung der Datenbank zumindest Ihren Administrator erfreuen.

Flexible Loops

Die Jackhammer Extension enthält mehrere zusätzliche Operatoren für flexible Loops. Verglichen mit den standardmäßig in RapidMiner enthaltenen Loops haben diese keine Kompatibilitätsprobleme mit älteren Versionen. Sie teilen nicht nur alle die gleichen Designprinzipien, sodass alle die gleichen Ports haben, sondern besitzen auch alle notwendigen Ports, um ein unnötig komplexes Prozessdesign zu vermeiden. Die flexiblen Loops können so konfiguriert werden, dass einzelne Iterationen übersprungen werden oder der Loop frühzeitig beendet wird, wenn eine bestimmte Bedingung erfüllt ist. Alle Loops unterstützen eine parallele Ausführung, sodass besonders große Datensätze schnell verarbeitet werden können. Eine Verarbeitung der Daten in Batches ermöglicht außerdem, auch größere Datenmengen lokal im Arbeitsspeicher zu verarbeiten, ohne auf externe Rechenkapazität zurückgreifen zu müssen.

Alle unsere Loop Operatoren besitzen äußere Input Ports. Was dort ankommt, wird an die inneren Input Ports weitergeleitet und ist in jeder Iteration als Kopie vorhanden. Soll in einem Loop wiederholt an einem Objekt gearbeitet werden, kann dieses Objekt an einen der neuen Loop‑Output‑Ports weitergeleitet werden. Das Objekt steht dann in der nächsten Iteration an einem Loop‑Input‑Port zur weiteren Bearbeitung zur Verfügung. Da für gewöhnlich eine Initialisierung notwendig ist, z. B. mit einem leeren Datensatz, verwenden die Loop‑Input‑Ports zur Initialisierung bei der ersten Ausführung die an die äußeren Input Ports angelegten Objekte. Die letzten Ergebnisse der inneren Loop‑Output‑Ports werden nach außen weitergeleitet. Die Ergebnisse der inneren Output Ports werden hingegen gesammelt und stehen außen als Collection zur Verfügung.

Innen und außen liegende Ports eines der Loop Operatoren.

Außerdem haben einige Loops zusätzliche Ports für ihren speziellen Zweck. Zum Beispiel kann dem Loop Files (Advanced) Operator ein Datensatz mit Dateipfaden übergeben werden. Dann iteriert der Operator nur über die Dateipfade, anstatt wie sonst einen Pfad komplett bzw. mit Filter zu durchsuchen. Alle Advanced Versionen enthalten die Basisfunktionen von RapidMiner und ergänzen einige Features wie zuvor beschrieben:

  • Loop (Advanced): Entspricht dem Core Operator.
  • Loop Repository (Advanced): Entspricht dem Core Loop Repository, aber ermöglicht den Zugriff auf Prozesse des Repositories (und damit Meta Programming).
  • Loop Files (Advanced): Entspricht dem Core Loop Files, aber ermöglicht es, konkrete Dateipfade in einem Attribut zu definieren (s. o.).
  • Loop Batches: Verarbeitet einen gegebenen Datensatz als Batches definierbarer Größe. Erlaubt es, Schritte der Datenvorverarbeitung vollständig zu parallelisieren oder die Schritte nacheinander auf Teilstücken der Daten anzuwenden, wenn die gleichzeitig zu verarbeitende Datenmenge durch den Arbeitsspeicher begrenzt ist.
  • Loop Groups: Verarbeitet einen Datensatz gruppenweise. Eine Gruppe kann über ein oder mehrere Attribute definiert werden. Die Werte, die eine Gruppe identifizieren, können automatisch als Prozessvariable extrahiert werden.
  • Loop Index: Verarbeitet jeden Eintrag einer Indexed Collection von Objekten (s. u.). Der jeweils aktuelle Index wird als Prozessvariable bereitgestellt.
  • Loop Remote Files: Entspricht Loop Files (Advanced), benutzt aber die Netzwerkprotokolle FTP, SFTP oder FTPS, um auf die Dateien zuzugreifen.
  • Read CSV (Batchwise): Liest iterativ eine spezifizierte Anzahl an Zeilen aus einer CSV‑Datei ein, verarbeitet sie und fährt dann mit den folgenden Zeilen fort. Dies erlaubt das Verarbeiten beliebig großer CSV‑Dateien, um diese beispielsweise in eine Datenbank zu importieren. Auch hier ist eine parallele Ausführung möglich, falls die Vorverarbeitung lange dauert.

Indexed Collections

RapidMiner Collections sind sehr nützlich, wenn eine bestimmte Aufgabe wiederholt ausgeführt werden soll. Mit einem Kontrollsystem überwachen wir z. B. Hunderte von Maschinen in dutzenden Fabriken, in einer Churn Anwendung betrachten wir Tausende von Kunden usw.

Normalerweise wird über die zu analysierende Einheit iteriert, da es viel umständlicher wäre, für jedes zu analysierende Beispiel einen eigenen Prozess zu erzeugen. Die Ergebnisse für jede Einheit werden dann in dem RapidMiner Repository gespeichert oder die resultierende Collection zu einer Tabelle zusammengefügt. Beide Vorgehensweisen sind nachteilig in sehr großen Szenarien: Werden zu viele Einträge ins Repository geschrieben, wird es sehr langsam, Management und Deployment werden wegen eines großen Overheads pro Eintrag zur Hölle. Wenn die Daten andererseits in einer großen Tabelle gesammelt werden und bei einer Abfrage nur ein Teil der Daten benötigt wird, müssen erst alle Daten geladen und gefiltert werden.

Indexed Model für unterschiedliche Items in unterschiedlichen Stores. In dem Indexed Model ist für jede Kombination von Store und Item ein Modell inklusive Preprocessing und linearer Regression enthalten. 

Unsere Indexed Collections lösen zwei Probleme auf einen Schlag: sie ermöglichen das Sammeln von Daten verbunden mit deren schnellen Verfügbarkeit durch die Vergabe von Indizes. Wie die Standard Collections können Indexed Collections Objekte sammeln, sodass nur ein Objekt im Repository gespeichert werden muss. So bleibt das Repository übersichtlich und schnell. Indem für die gespeicherten Daten Indizes angegeben werden, sind die Daten schnell abrufbar und müssen nicht komplett geladen und dann gefiltert werden. Wenn die zu analysierenden Einheiten also durch bestimmte Werte wie z. B. den Fabrikstandort und die Maschinen-ID oder die Kundennummer charakterisiert werden, gibt die Indexed Collection nur die den gegebenen Wert betreffenden Daten zurück. Wird der Ladevorgang dann noch durch den Cache Operator eliminiert, sind die Daten praktisch sofort verfügbar.

Die Extension beinhaltet außerdem einen Operator, um über die Indexed Collections zu iterieren. Dabei wird der jeweilige Index der Iteration als Prozessvariable verfügbar, sodass einfach über die Performance eines Modells für die betreffende Einheit berichtet werden kann. Darüber hinaus gibt es auch Operatoren, um per Index auf einzelne Objekte zuzugreifen, was zur Erstellung von Web Services oder Web App Deployment nützlich sein kann.

Projektmanagement

RapidMiner ermöglicht die Organisation Ihrer Projekte in Repositories, die Sie nach Belieben strukturieren können. Wir haben eine standardisierte Best Practice für das Repositorydesign entworfen, weil wir überzeugt sind, dass die Vermeidung unnötiger Diversität hilft, sich auf die echten Probleme zu fokussieren. Natürlich ist es auch leichter, gemeinsam mit Kollegen an Projekten zu arbeiten, wenn eine einheitliche Projektstruktur vorliegt.

Ein weiterer Vorteil des standardisierten Layouts ist, dass Sie mehrere wichtige Aufgaben automatisieren können:

  • Automatisiertes Speichern von Ergebnissen – die Ergebnisse von Prozessen können in nach den Prozessen benannten Subordnern gespeichert werden, ohne den Pfad jedes Mal erneut eingeben zu müssen.
  • Kontinuierliche Tests gewährleisten die Kompatibilität aller Prozesse mit allen RapidMiner Versionen und der zugrunde liegenden Infrastruktur.
  • Die Verteilung von einem zentralen Entwicklungsserver auf ein sternförmiges Netz an bereitstehender Infrastruktur, gegebenenfalls mit einem Produktivserver pro Projekt.

Diese Erweiterung beinhaltet die notwendigen Operatoren, um genau diese Aufgaben auszuführen. Besonders in großskaligen Projekten, in denen ein ganzes Team von Data Scientists mitwirkt, ist es wichtig, die Wiederverwendung von Prozessen sowie deren Kontrolle stetig zu gewährleisten. Darum enthält die Jackhammer Extension Operatoren, die

  • eine erweiterte Funktionalität zur Behandlung von Ausnahmen bereitstellen – falls Teile der Infrastruktur zeitweise nicht erreichbar sind, kann der Prozess, anstatt abzubrechen, zu einem späteren Zeitpunkt fortgeführt werden,
  • einen Prozess ohne Fehlermeldung beenden oder es ermöglichen, eine spezifische Iteration einer Schleife zu überspringen,
  • ein komfortables Debugging von wiederverwendbaren Bibliotheksprozessen ermöglichen,
  • zur Definition einer eindeutigen Ausführungsreihenfolge der Prozesse in RapidMiner dienen, ohne eine unnötige Prozessebene einzuführen.

Remote File Handling

RapidMiner beinhaltet Operatoren, die das Handling von Daten vereinfachen. In vielen Fällen sind Daten allerdings über viele unterschiedliche Systeme verteilt. Insbesondere externe Datenquellen sind meistens über Server zugänglich, die FTPS oder SFTP nutzen. Unsere Erweiterung beinhaltet einen Satz von Operatoren, die Ihnen die Nutzung von Daten über verschiedene Netzwerkprotokolle ermöglichen.

Shift Operators

Wenn Sie dieses Feature kennengelernt haben, wollen Sie nie wieder darauf verzichten: Unsere Funktion zum Verschieben von Operatoren. Um für einen oder mehrere nachträglich eingefügte Operatoren Platz zu schaffen, verschiebt sie sämtliche Operatoren und Notizen, ohne das Prozessdesign dabei zu verändern.

Vor der Verwendung von Shift Operators.

Nach der Verwendung von Shift Operators.

Selbstverständlich sind in der Extension noch weitere Operatoren enthalten, die das Leben in vielen Situationen einfacher machen. Um beispielsweise einen leeren Datensatz zu generieren, war es bisher notwendig, zuerst zufällige Daten zu erzeugen, nur um sie dann wieder zu löschen. Wir haben mit Generate Empty Data dafür einen eigenen Operator geschaffen. Durch Generate Sequence für die Generierung von Zahlensequenzen machen wir den Missbrauch von Generate ID zu diesem Zweck überflüssig. Unten stehend finden Sie eine Liste aller enthaltenen Operatoren. Wenn Sie Fragen zu Funktionen oder Operatoren haben, nehmen Sie gerne Kontakt mit uns auf.

Liste der Operatoren

Process Control

  • Extract Macros from Example
  • Execute Process in Background
  • Execute Process
  • Stop Process (Graciously)
  • Handle Exception (Advanced)
  • Determine Order

Caching

  • Cache
  • Retrieve Cache
  • Clear Cache

Collections

  • Combine Indexed Objects
  • Extend Indexed Object
  • Select by Key

Loops

  • Loop (Advanced)
  • Loop Batches (Advanced)
  • Loop Groups (Advanced)
  • Loop Index
  • Loop Remote Files
  • Loop Files (Advanced)
  • Loop Repository (Advanced)
  • Loop Control - Skip Iteration

Testing

  • Assert Equality

Data Access

  • Read Matlab
  • Store Result
  • Open Remote File
  • Write Remote File
  • Delete Remote File
  • Move Remote File
  • Loops - Read CSV (Batchwise)

Generation

  • Generate Sequence
  • Generate Sequence Data
  • Generate Group Sequences
  • Generate Group Indices
  • Generate Empty Data

Modeling

  • Indexed Model
  • Combine Indexed Models
  • Extend Indexed Model

Validation

  • Cross Validation (Advanced)

Transformation

  • Nominal to Date (Advanced)
  • Discretize by Specification Data
  • Sort (Advanced)
  • Union (Advanced)
  • Set Minus (Advanced)
  • Difference
  • Intersect (Advanced)

Series

  • Resample Series
  • Resample Multiple Series

Graph

  • Extract Tree from Repository
  • Tree to Data (relational)
  • Data to Tree (relational)
  • Data to Tree (wide)
  • Tree to Data (wide)
  • Select Descendants
  • Select Ancestors

Lizenzkosten

Anzahl Nutzer1-Jahresabo2-JahresaboUnbefristete Lizenz
1 benannter Benutzer249 €439 €569 €
5 benannte Benutzer1029 €1799 €2319 €
Firmenlizenz2369 €4139 €5329 €

Haben Sie Fragen, Kritik oder Anmerkungen zu unserer Extension?

Nehmen Sie gern Kontakt mit uns auf.


Mit dem Klicken auf "Senden" bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen haben und akzeptieren.