2013-08-22 1 views
0

Как я могу запустить классификацию для новых примеров против моей обученной модели, не перезапуская снова подготовленную модель?RapidMiner: классификация новых примеров без повторной работы существующей обучаемой модели

Обученная модель занимает некоторое время, чтобы обработать (1 час), и я хотел бы классифицировать новые наблюдения, не ожидая, что каждый раз, когда данные обучения будут использованы, снова создайте модель.

Я никогда не разделял эти два процесса раньше, я всегда имел их в одном окне потока процессов, поскольку я не знаю, чтобы выполнять эти процессы независимо.

+0

Является ли это http://stackoverflow.com/questions/15878053/how-to-test-on-testset-using-rapidminer отношение? – doctorlove

ответ

1

Можно сохранить подготовленную модель либо в репозитории (используйте оператор «Store»), либо в виде файла (оператор «Write model»). Обычно вы используете оператор «Store» и читаете модель из репозитория с помощью оператора «Извлечь», например. в том же процессе или в любом другом процессе.

Возможно, RapidMiner будет жаловаться, что он не получит объект Model, а IOObject, но процесс будет работать в любом случае, и после того, как метаданные IOObejct будут распространяться, сообщение исчезнет.

Вот пример:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<process version="5.3.013"> 
    <context> 
    <input/> 
    <output/> 
    <macros/> 
    </context> 
    <operator activated="true" class="process" compatibility="5.3.013" expanded="true" name="Process"> 
    <process expanded="true"> 
     <operator activated="true" class="retrieve" compatibility="5.3.013" expanded="true" height="60" name="Retrieve Golf" width="90" x="45" y="75"> 
     <parameter key="repository_entry" value="//Samples/data/Golf"/> 
     </operator> 
     <operator activated="true" class="decision_tree" compatibility="5.3.013" expanded="true" height="76" name="Decision Tree" width="90" x="179" y="75"/> 
     <operator activated="true" class="store" compatibility="5.3.013" expanded="true" height="60" name="Store" width="90" x="313" y="75"> 
     <parameter key="repository_entry" value="my_model"/> 
     </operator> 
     <operator activated="true" class="retrieve" compatibility="5.3.013" expanded="true" height="60" name="Retrieve" width="90" x="45" y="210"> 
     <parameter key="repository_entry" value="my_model"/> 
     </operator> 
     <operator activated="true" class="retrieve" compatibility="5.3.013" expanded="true" height="60" name="Retrieve Golf-Testset" width="90" x="45" y="300"> 
     <parameter key="repository_entry" value="//Samples/data/Golf-Testset"/> 
     </operator> 
     <operator activated="true" class="apply_model" compatibility="5.3.013" expanded="true" height="76" name="Apply Model" width="90" x="179" y="210"> 
     <list key="application_parameters"/> 
     </operator> 
     <connect from_op="Retrieve Golf" from_port="output" to_op="Decision Tree" to_port="training set"/> 
     <connect from_op="Decision Tree" from_port="model" to_op="Store" to_port="input"/> 
     <connect from_op="Retrieve" from_port="output" to_op="Apply Model" to_port="model"/> 
     <connect from_op="Retrieve Golf-Testset" from_port="output" to_op="Apply Model" to_port="unlabelled data"/> 
     <connect from_op="Apply Model" from_port="labelled data" 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> 
+0

Это отличный ответ и большое спасибо за публикацию примера. – Brett

 Смежные вопросы

  • Нет связанных вопросов^_^