Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.
[SOLVED]operator.setParameter method
Hi, I'm new to rapidminer. I'm trying to execute this simple process using java code
I've read the question n 6 at this page http://rapid-i.com/rapidforum/index.php/topic,5807.0.html but I don't understand what is that class SingleDocumentInputOperator.
Thanks for your help.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>I need to change the repository_entry value of the two retrieve operators. I'm using the setParameter method
<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 model" width="90" x="45" y="75">
<parameter key="repository_entry" value="//Local Repository/data/model"/>
</operator>
<operator activated="true" class="retrieve" compatibility="5.3.013" expanded="true" height="60" name="Retrieve testing" width="90" x="45" y="210">
<parameter key="repository_entry" value="//Local Repository/data/testing"/>
</operator>
<operator activated="true" class="apply_model" compatibility="5.3.013" expanded="true" height="76" name="Apply Model" width="90" x="313" y="75">
<list key="application_parameters"/>
</operator>
<connect from_op="Retrieve model" from_port="output" to_op="Apply Model" to_port="model"/>
<connect from_op="Retrieve testing" 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>
Operator opRetModel = process.getOperator("Retrieve model");but I don't understand what to use as first parameter to specify the path of the saved model.
opRetModel.setParameter(???,model path)
I've read the question n 6 at this page http://rapid-i.com/rapidforum/index.php/topic,5807.0.html but I don't understand what is that class SingleDocumentInputOperator.
Thanks for your help.
Tagged:
0
Answers
I have updated the question in the FAQ because the operator used was from an extension and thus not the best example.
I'll rewrite this here anyway:
Step 1) Open the "OperatorsCore.xml" file and search for the name of the operator. In your case, <key>retrieve</key> is the one you're looking for. Note how that key is the same as the 'class' attribute in the process XML. Now you know that "<class>com.rapidminer.operator.io.RepositorySource</class>" is the implementation class of the operator.
Step 2) You can then check said class for string constants and you will find "PARAMETER_REPOSITORY_ENTRY". This is the key you need to use.
Regards,
Marco
I'm still having problems calling this method when the parameter to set is the path to a file.
This code gives me a null pointer exception on the third row even if the path is correct and the file exists. If I execute the process through rapidminer gui with the same parameter it works ???
in the 3rd row of your code the only possiblity for a NullPointerException is when "opReadModel" is null. This is also quite likely given your process xml: The operator is called "Retrieve model" in your process, not "Read model". The call "process.getOperator("name") returns null if no operator is found with the given name.
Regards,
Marco
Thank you very much. ;D