Comment passer des arguments à un script Python dans SPSS Modeler Batch

Comment passer des arguments à un script Python dans SPSS Modeler Batch

Qu'est-ce que SPSS Modeler Batch?

CaDS est recommandé pour le traitement périodique des flux créés avec SPSS Modeler, mais si vous n'avez pas besoin d'une telle gestion détaillée ou si l'échelle n'est pas grande, SPSS Modeler Batch est également souvent utilisé. Je vais. SPSS Modeler Batch se connecte à SPSS Modeler Server et exécute les flux en les exécutant à partir d'une commande. L'interface graphique comme SPSS Modeler Client ne démarre pas. Fondamentalement, il exécute tous les nœuds terminaux placés dans le flux. Le refoulement SQL et le cache définis dans le flux fonctionnent également efficacement. À titre d'exemple de son utilisation, s'il existe un processus tel que l'exécution quotidienne des prévisions de ventes d'une certaine entreprise ou la mise à jour du modèle de prévision chaque semaine, créez un flux pour exécuter ce processus et cette commande par lots (clemb) de SPSS Modeler Batch. Peut être réalisé en exécutant à l'heure spécifiée à partir d'un autre planificateur (tel que CRON pour UNIX).

Exemple de commande


clemb -stream "/XXX/.../XXX.str" -execute -server -hostname XXX -username XXX -password XXX -Pmth=Jan

Vous pouvez transmettre des arguments au flux avec l'option -P lors de l'exécution de SPSS Modeler Batch. Comme indiqué dans le manuel suivant, par exemple, si vous écrivez Month = '\ $ P-mth' dans le nœud d'extraction de condition et que vous l'exécutez avec l'argument -Pmth = Jan lors de l'exécution dans le batch du modeleur, mth = Jan est reporté dans le flux. Month = '\ $ P-mth' devient Month = 'Jan', ce qui vous permet d'extraire uniquement les données qui correspondent à Month = 'Jan'. Il est également possible d'extraire des données sous différentes conditions telles que Month = 'Feb' en modifiant la chaîne de caractères après -Pmth = lors de l'exécution par lots.

"Utiliser les paramètres en mode batch" (Dans le manuel, l'équation est ==, mais elle équivaut à =.)

Si vous utilisez cette méthode et que vous l'exécutez avec le nom de la branche comme argument d'un flux, vous pouvez également prévoir les ventes et mettre à jour le modèle pour chaque branche.

Incorporer des arguments dans des scripts Python

SPSS Modeler Batch exécutera tous les nœuds terminaux dans le flux spécifié comme décrit ci-dessus, mais si vous souhaitez exécuter uniquement un nœud terminal spécifique, spécifiez l'ordre dans lequel les nœuds terminaux sont exécutés ou mettez à jour le modèle. , Contrôlé par le script Python associé. La méthode indiquée dans le lien manuel ci-dessus consistait à incorporer les arguments dans le jeu d'expressions CLEM dans le nœud du flux, mais je voudrais également présenter comment incorporer les arguments dans le script Python qui accompagne le flux. Par exemple, si vous souhaitez transmettre le nom de la branche avec l'option Branche, définissez-la avec -PBranch = comme indiqué ci-dessous.

Exemple d'entrée de commande


clemb -stream ...(Omission)... -PBranch=GINZA

Pour l'inclure dans un script Python, utilisez la méthode getParameterValue () de l'instance session () ou stream (). La différence est que stream () est valide pour le flux cible et session () est valide pour tous les flux ouverts, mais les paramètres obtenus par Modeler Batch sont obtenus à partir de session () ou stream (). Je peux le faire. Pour session () et stream (), écrivez-les dans le script Python comme indiqué dans l'exemple suivant.

session()dans le cas de


session = modeler.script.session()
Branch_Name = session.getParameters().getParameterValue('Branch')

stream()dans le cas de


stream = modeler.script.stream()
Branch_Name = stream.getParameterValue('Branch')

Si vous exécutez le lot avec ceci, "GINZA" sera affecté à la variable Branch_Name dans l'exemple précédent. Après cela, vous pouvez le gérer librement, par exemple en l'attribuant à l'expression CLEM du nœud dans le script Python. Les variables sont importées sous forme de chaînes de caractères, donc si vous souhaitez les traiter comme des nombres, vous devez effectuer une conversion de type telle que int ().

Il existe également une description dans le manuel suivant de l'importation de paramètres dans des scripts Python. (C'est un peu déroutant.)

"Paramètres Streams, Sessions et Supernode"

Recommended Posts

Comment passer des arguments à un script Python dans SPSS Modeler Batch
Comment obtenir stacktrace en python
[Python / Tkinter] Comment passer des arguments à la commande
Comment exécuter des scripts Maya Python
Comment recevoir des arguments de ligne de commande en Python
Comment effacer un taple dans une liste (Python)
Comment incorporer des variables dans des chaînes python
Comprenons comment passer des arguments (édition Python)
Comment créer un fichier JSON en Python
Comment notifier les canaux Discord en Python
[Python] Comment dessiner un histogramme avec Matplotlib
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment développer des variables dans une chaîne de caractères
Un mémorandum pour exécuter un script python dans un fichier bat
Comment gérer les arguments lors de l'implémentation d'un script Python en tant qu'outil de ligne de commande
Exécuter la fonction Python à partir de Powershell (comment passer des arguments)
Comment développer en Python
Comment exécuter une commande à l'aide d'un sous-processus en Python
Comment passer des arguments lors de l'appel d'un script python depuis Blender sur la ligne de commande
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Comment exécuter un programme Python à partir d'un script shell
Une histoire sur la façon de spécifier un chemin relatif en python.
Comment utiliser la méthode __call__ dans la classe Python
Comment lancer AWS Batch à partir de l'application cliente Python
Comment importer des fichiers où vous le souhaitez en Python
Comment définir plusieurs variables dans une instruction Python for
J'ai essayé "Comment obtenir une méthode décorée en Python"
Comment développer dans un environnement virtuel Python [Memo]
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Transmettez des arguments à Task dans discord.py
Comment gérer le japonais avec Python
Ecrire un script batch avec Python3.5 ~
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
Comment démarrer par lots un programme Python créé avec le notebook Jupyter
Comment déterminer l'existence d'un élément sélénium en Python
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
[Introduction à Python] Comment générer une chaîne de caractères dans une instruction Print
Comment vérifier la taille de la mémoire d'une variable en Python
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
J'ai écrit une fonction pour charger le script d'extension Git en Python
J'ai écrit un script pour extraire les liens de pages Web en Python
Comment supprimer plusieurs positions (index) spécifiées dans une liste Python
Comment définir dynamiquement des variables en Python
[Python] Comment rendre une classe itérable
Comment faire R chartr () en Python