2010-12-15 34 views
1

J'ai utilisé Rapidminer et créé une série de processus qui préforment un ensemble standard de tâches. Maintenant, je veux permettre à l'utilisateur de définir de manière dynamique les paramètres d'un processus au démarrage. Par exemple, lorsque j'écris un fichier CSV, je veux inviter l'utilisateur à taper une chaîne contenant l'emplacement où il doit être sauvegardé via une invite (soit au début du script, soit à un autre moment du processus). .Code d'activation pour Rapidminer

Est-ce possible via RapidMiner, ou devrais-je être de créer un script pour générer et avorton il traite à la volée?

Répondre

1

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 write_csv, la valeur contient le chemin du fichier dans lequel écrire. Modifier les paramètres comme vous le décrivez impliquerait d'écrire un script pour obtenir les valeurs de l'utilisateur, éditer les valeurs correspondantes dans le fichier .xml à ces valeurs désirées et ensuite lancer le processus à RapidMiner.

+0

Espérait qu'il pourrait y avoir un moyen plus rapide - mais je suppose que c'est la seule solution. – eamo

0

Il est possible de créer un script Groovy qui permettra à un utilisateur d'entrer des invites à l'exécution. Cela évite d'avoir à éditer le processus à chaque fois.

Voici une example basée sur l'original du forum RapidMiner.