Установка времени для Rapidminer
-
10-10-2019 - |
Вопрос
Я использовал Rapidminer и создал серию процессов, которые преобразуют стандартный набор задач. Теперь я хочу позволить пользователю динамически установить параметры процесса в начале.
Например, при написании CSV я хочу предложить пользователю ввести строку, содержащую местоположение, где он должен быть сохранен с помощью некоторой подсказки (либо в начале сценария, либо на каком -то другом этапе во время процесса.
Возможно ли это через Rapidminer, или я должен создать какой -то скрипт, чтобы генерировать и запустить, как он обрабатывает на лету?
Решение
Чтобы изменить нужные параметры, которые вы хотите передать в ваши процессы, я считаю, что вы должны отредактировать файл .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.
Другие советы
Можно создать отличный скрипт, который позволит пользователю вводить подсказки во время выполнения. Это избегает необходимости редактировать процесс каждый раз.
Вот пример Основанный на оригинале с форума Rapidminer.