Runtime invite pour RapidMiner
-
10-10-2019 - |
Question
J'utilise RapidMiner et créé une série de processus qui préforme un ensemble standard de tâches. Maintenant, je veux permettre à l'utilisateur de définir dynamiquement les paramètres d'un processus au début.
Par exemple, lors de l'écriture d'un fichier CSV, je veux inviter l'utilisateur à saisir une chaîne contenant l'emplacement où il doit être enregistré par une invite (soit au début du script, ou à une autre étape du processus.
Est-ce possible via RapidMiner, ou devrais-je créer un script pour générer et Runt il traite à la volée?
La solution
Pour modifier les paramètres que vous souhaitez passer au vos processus, je crois que vous devez modifier le fichier .xml de votre processus. Par exemple,
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.0">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.0.10" expanded="true" name="Process">
<process expanded="true" height="145" width="212">
<operator activated="true" class="generate_data" compatibility="5.0.10" expanded="true" height="60" name="Generate Data" width="90" x="112" y="30">
<parameter key="number_examples" value="10"/>
</operator>
<operator activated="true" class="write_csv" compatibility="5.0.10" expanded="true" height="60" name="Write CSV" width="90" x="271" y="39">
<parameter key="csv_file" value="C:\Users\wessel\Desktop\gendata.csv"/>
</operator>
<connect from_op="Generate Data" from_port="output" to_op="Write CSV" to_port="input"/>
<connect from_op="Write CSV" from_port="through" to_port="result 1"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
</process>
</operator>
</process>
Vous pouvez voir que pour l'opérateur de write_csv, la valeur contient le chemin du fichier à écrire à. Modification des paramètres que vous décrivez impliquerait l'écriture d'un script pour obtenir les valeurs de l'utilisateur, modifier les valeurs correspondantes dans le fichier .xml à ces valeurs souhaitées, puis lancer le processus à RapidMiner.
Autres conseils
Il est possible de créer un script Groovy qui permettra à un utilisateur d'entrer des invites au moment de l'exécution. Cela évite d'avoir à modifier le processus à chaque fois.
Voici un exemple basé sur un original du forum RapidMiner.