Runtime Pompt для Rapidminer
Я использовал Rapidminer и создал серию процессов, которые формируют стандартный набор задач. Теперь я хочу позволить пользователю динамически устанавливать параметры процесса при запуске.
Например, при написании CSV-файла я хочу предложить пользователю ввести строку, содержащую место, где она должна быть сохранена, с помощью некоторого приглашения (либо в начале сценария, либо на каком-либо другом этапе в процессе.
Возможно ли это через Rapidminer, или я должен создать какой-нибудь скрипт для генерации и запуска процесса на лету?
2 ответа
Я считаю, что для изменения параметров, которые вы хотите передать своим процессам, вы должны отредактировать XML-файл вашего процесса. Например,
<?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>
Вы можете видеть, что для оператора write_csv значение содержит путь к файлу, в который нужно записать. Изменение параметров, которые вы описываете, потребует написания скрипта для получения значений от пользователя, редактирования соответствующих значений в файле.xml на эти желаемые значения и последующего запуска процесса в RapidMiner.
Можно создать скрипт Groovy, который позволит пользователю вводить подсказки во время выполнения. Это избавляет от необходимости каждый раз редактировать процесс.
Вот пример, основанный на оригинале с форума RapidMiner.