Man könnte fast meinen, es sei das bestgehütete Geheimnis des SAS® Enterprise Miner. Kaum jemand kennt es. Dabei war es schon immer da – fast. Ab Version 5.1 (2004). Es heißt EM5BATCH Makro und – Sie ahnen es schon – 5 wegen der damaligen Version 5. Es kommt so unscheinbar daher, dabei kann man damit Data Mining Prozesse im Hintergrund (Batch) voll automatisiert ablaufen lassen – vollständig ohne grafische Benutzeroberfläche.
Wann kann so etwas hilfreich sein?
- Sie erhalten regelmäßig aktuelle Daten. Der Data-Mining-Prozess – das Modell – soll ebenfalls regelmäßig und automatisch erneuert werden.
- Sie haben einen Standard-Data-Mining-Prozessfluss entwickelt, den Sie immer wieder gleichermaßen auf viele Datensegmente anwenden wollen.
- Sie möchten verschiedene Parametereinstellungen von Algorithmen durchspielen. Das Modell soll automatisch vorselektiert werden.
Ja, aber sollte nicht am Ende noch einmal ein Statistiker oder ein Data Scientist die Modelle prüfen und bewerten? Kann man sich die Ergebnisse anschließend irgendwo anschauen? Wie genau funktioniert das? Die wesentlichen Schritte zu „wie genau funktioniert das“ möchte ich im Folgenden kurz beschreiben. In diesem Beispiel soll das Ziel sein, die besten Parametereinstellungen eines Entscheidungsbaum-Algorithmus zu finden. Um es möglichst leicht zu haben, baue ich im SAS Enterprise Miner einen Data Mining Prozessfluss auf, den ich später automatisieren möchte.
Abbildung 1: Export Path as SAS Program.
Am Ende des Prozessflusses kann ich per rechter Maustaste "Export Path as SAS Program" auswählen. Das abgespeicherte Programm ist mit entsprechenden Parametern bereits lauffähig und nimmt mir für mein Vorhaben einen Großteil der Arbeit für die nächsten Schritte ab. In dem generierten Programm werden zunächst verschiedene SAS Tabellen erzeugt, die später als Steuertabellen für den EM5BATCH-Aufruf benötigt werden.
Abbildung 2: Übersicht der erzeugten Steuertabellen für den Batch-Aufruf.
Abbildung 3: Steuertabelle NODEPROPERTIES mit den Parametereinstellungen für den Entscheidungsbaum-Algorithmus.
Der eigentliche Aufruf des EM5BATCH Makro sieht zum Beispiel so aus:
Abbildung 4: Aufruf von EM5BATCH.
Aber das Ziel soll ja sein, die besten Parametereinstellungen des Entscheidungsbaum-Algorithmus zu finden. Über die Benutzeroberfläche würde ich einfach mehrere Entscheidungsbaum-Knoten zu dem Prozessfluss hinzufügen und die Parametereinstellungen verändern. Der Model Comparison Knoten würde zuletzt das Modell mit den besten Parametereinstellungen entsprechend eines bestimmten Gütemaßes vorselektieren. Gleiches kann ich aber auch durch Ergänzungen in dem SAS Programm erreichen. Exemplarisch ergänze ich nun meinen Data-Mining-Prozessfluss im Batch durch zwei weitere Entscheidungsbaum-Algorithmen durch Programmcode. Jeweils mit unterschiedlichen Parametereinstellungen.
Was brauche ich zusätzlich zu dem, was ich schon habe?
- Einen Namen für das neue Diagramm im SAS Enterprise Miner. Ich möchte mir die Ergebnisse schließlich im Nachgang anschauen und bewerten.
- Zwei neue Entscheidungsbaum-Knoten mit ID und Position im Diagramm. Siehe Abbildung 5.
- Vier neue Verbindungen, zwei Verbindungen vom Data-Partition-Knoten jeweils zu den neuen Knoten, jeweils zwei neue Verbindungen zum Model-Comparison-Knoten.
- Sämtliche Eigenschaften zu den zwei neuen Entscheidungsbaum-Knoten.
- Um es wieder möglichst einfach zu haben, habe ich mir dazu kleinere Makros geschrieben, die jeweils an die bestehenden SAS Tabellen weitere Inhalte „anhängen“. Hier ein Beispiel:
Abbildung 5: Programmatisches Hinzufügen weiterer Entscheidungsbaum-Knoten in der Steuertabelle "NODES".
Ebenso habe ich die SAS Tabellen NODEPROPERTIES und CONNECT ergänzt.
Zuletzt rufe ich das EM5BATCH Makro auf:
Abbildung 6: Aufruf des EM5BATCH Makros.
Das Programm läuft vollständig unabhängig von der Benutzeroberfläche ab und könnte auch geplant immer nachts um 1 Uhr laufen. Das Ergebnis kann ich mir aber, wie gewohnt, im SAS Enterprise Miner anschauen und die Modelle hinsichtlich Ihrer Vorhersagegenauigkeit und Ihrer Güte überprüfen.
Abbildung 7: Ergebnis des Batch-Processing im SAS Enterprise Miner.
Ich hoffe, diese Geheimwaffe wird bald berühmt werden und findet bald Nachahmer. Verdient hat sie es längst.
Details dazu finden Sie in der Dokumentation: SAS(R) Enterprise Miner 14.1: Reference Help .