CaDS wird für die regelmäßige Verarbeitung von mit SPSS Modeler erstellten Streams empfohlen. Wenn Sie jedoch keine so detaillierte Verwaltung benötigen oder der Umfang nicht groß ist, wird häufig auch SPSS Modeler Batch verwendet. Ich werde. SPSS Modeler Batch stellt eine Verbindung zum SPSS Modeler Server her und führt Streams durch Ausführen über einen Befehl aus. GUI wie SPSS Modeler Client startet nicht. Grundsätzlich werden alle im Stream platzierten Endknoten ausgeführt. SQL-Pushback und Cache, die im Stream festgelegt sind, funktionieren ebenfalls effektiv. Erstellen Sie als Beispiel für die Verwendung einen Stream, um diesen Prozess und den Batch-Befehl (clemb) von SPSS Modeler Batch auszuführen, wenn ein Prozess wie das tägliche Ausführen einer Umsatzprognose eines bestimmten Unternehmens oder das wöchentliche Aktualisieren des Prognosemodells vorhanden ist Kann durch Ausführen zur angegebenen Zeit von einem anderen Scheduler (z. B. CRON für UNIX) erreicht werden.
Befehlsbeispiel
clemb -stream "/XXX/.../XXX.str" -execute -server -hostname XXX -username XXX -password XXX -Pmth=Jan
Sie können Argumente mit der Option -P an den Stream übergeben, wenn Sie SPSS Modeler Batch ausführen. Wie im folgenden Handbuch gezeigt, schreiben Sie beispielsweise Month = '\ $ P-mth' in den Bedingungsextraktionsknoten und führen es mit dem Argument -Pmth = Jan aus, wenn Sie im Modelliererbatch mth ausführen = Jan wird in den Stream übertragen. Aus Month = '\ $ P-mth' wird Month = 'Jan', wodurch Sie nur die Daten extrahieren können, die Month = 'Jan' entsprechen. Es ist auch möglich, Daten unter verschiedenen Bedingungen wie Month = 'Feb' zu extrahieren, indem die Zeichenfolge nach -Pmth = in der Stapelausführung geändert wird.
"Parameter im Batch-Modus verwenden" (Im Handbuch lautet die Gleichung ==, entspricht jedoch =.)
Wenn Sie diese Methode verwenden und sie mit dem Filialnamen als Argument für einen Stream ausführen, können Sie auch Verkäufe prognostizieren und das Modell für jede Filiale aktualisieren.
SPSS Modeler Batch führt alle Terminalknoten im angegebenen Stream wie oben beschrieben aus. Wenn Sie jedoch nur einen bestimmten Terminalknoten ausführen möchten, geben Sie die Reihenfolge an, in der die Terminalknoten ausgeführt werden, oder aktualisieren Sie das Modell. Wird vom zugehörigen Python-Skript gesteuert. Die im obigen manuellen Link gezeigte Methode bestand darin, die Argumente in den CLEM-Ausdruckssatz zu integrieren, der im Knoten des Streams festgelegt ist. Ich möchte jedoch auch vorstellen, wie die Argumente in das Python-Skript integriert werden, das dem Stream beiliegt. Wenn Sie beispielsweise den Zweigstellennamen mit der Option Zweig übergeben möchten, setzen Sie ihn wie unten gezeigt mit -PBranch =.
Beispiel für die Befehlseingabe
clemb -stream ...(Unterlassung)... -PBranch=GINZA
Verwenden Sie die Methode getParameterValue () der Instanz session () oder stream (), um sie in ein Python-Skript aufzunehmen. Der Unterschied besteht darin, dass stream () für den Ziel-Stream und session () für alle offenen Streams gültig ist, die von Modeler Batch erhaltenen Parameter jedoch entweder von session () oder stream () abgerufen werden. Ich kann es schaffen Schreiben Sie für session () und stream () diese in das Python-Skript, wie im folgenden Beispiel gezeigt.
session()Im Falle von
session = modeler.script.session()
Branch_Name = session.getParameters().getParameterValue('Branch')
stream()Im Falle von
stream = modeler.script.stream()
Branch_Name = stream.getParameterValue('Branch')
Wenn Sie den Stapel damit ausführen, wird der Variablen Branch_Name im vorherigen Beispiel "GINZA" zugewiesen. Danach können Sie frei damit umgehen, z. B. indem Sie es dem CLEM-Ausdruck des Knotens im Python-Skript zuweisen. Variablen werden als Zeichenfolgen importiert. Wenn Sie sie also als Zahlen behandeln möchten, müssen Sie eine Typkonvertierung wie int () durchführen.
Im folgenden Handbuch finden Sie auch eine Beschreibung zum Importieren von Parametern in Python-Skripte. (Es ist ein wenig verwirrend.)
Recommended Posts