RapidMiner/Netbeans problem.

Reem
Reem New Altair Community Member
edited November 5 in Community Q&A
Hi,

I am working on text classification project, I was trying to integrate the model I built in Rapidminer GUI but I have problems in the code which I couldn't solve to move on!

- I'm using rapid miner 5.3.015
- I added all rapid miner jars to the netbean project
- I am beginner user.
- here is my xml file:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.015">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.3.015" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files (3)" width="90" x="179" y="75">
        <list key="text_directories">
          <parameter key="Tourist" value="W:\NormalizedFiles\TouristAndTravel"/>
          <parameter key="Science" value="W:\NormalizedFiles\Science"/>
        </list>
        <process expanded="true">
          <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize (3)" width="90" x="45" y="30"/>
          <operator activated="true" class="text:filter_stopwords_arabic" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (3)" width="90" x="180" y="30"/>
          <operator activated="true" class="text:stem_arabic" compatibility="5.3.002" expanded="true" height="60" name="Stem (3)" width="90" x="409" y="30"/>
          <connect from_port="document" to_op="Tokenize (3)" to_port="document"/>
          <connect from_op="Tokenize (3)" from_port="document" to_op="Filter Stopwords (3)" to_port="document"/>
          <connect from_op="Filter Stopwords (3)" from_port="document" to_op="Stem (3)" to_port="document"/>
          <connect from_op="Stem (3)" from_port="document" to_port="document 1"/>
          <portSpacing port="source_document" spacing="0"/>
          <portSpacing port="sink_document 1" spacing="0"/>
          <portSpacing port="sink_document 2" spacing="0"/>
        </process>
      </operator>
      <operator activated="true" class="parallel:x_validation_parallel" compatibility="5.3.000" expanded="true" height="112" name="KNNValidation" width="90" x="449" y="30">
        <process expanded="true">
          <operator activated="true" class="k_nn" compatibility="5.3.015" expanded="true" height="76" name="k-NN" width="90" x="102" y="30"/>
          <connect from_port="training" to_op="k-NN" to_port="training set"/>
          <connect from_op="k-NN" from_port="model" to_port="model"/>
          <portSpacing port="source_training" spacing="0"/>
          <portSpacing port="sink_model" spacing="0"/>
          <portSpacing port="sink_through 1" spacing="0"/>
        </process>
        <process expanded="true">
          <operator activated="true" class="apply_model" compatibility="5.3.015" expanded="true" height="76" name="Apply Model (2)" width="90" x="45" y="30">
            <list key="application_parameters"/>
          </operator>
          <operator activated="true" class="performance" compatibility="5.3.015" expanded="true" height="76" name="Performance (2)" width="90" x="187" y="30"/>
          <connect from_port="model" to_op="Apply Model (2)" to_port="model"/>
          <connect from_port="test set" to_op="Apply Model (2)" to_port="unlabelled data"/>
          <connect from_op="Apply Model (2)" from_port="labelled data" to_op="Performance (2)" to_port="labelled data"/>
          <connect from_op="Performance (2)" from_port="performance" to_port="averagable 1"/>
          <portSpacing port="source_model" spacing="0"/>
          <portSpacing port="source_test set" spacing="0"/>
          <portSpacing port="source_through 1" spacing="0"/>
          <portSpacing port="sink_averagable 1" spacing="0"/>
          <portSpacing port="sink_averagable 2" spacing="0"/>
        </process>
      </operator>
      <connect from_port="input 1" to_op="Process Documents from Files (3)" to_port="word list"/>
      <connect from_op="Process Documents from Files (3)" from_port="example set" to_op="KNNValidation" to_port="training"/>
      <connect from_op="KNNValidation" from_port="model" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="source_input 2" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>
and here is my initial trials:
Following the API documentation:
    public static void main(String[] args) {
        try {
            RapidMiner.setExecutionMode(RapidMiner.ExecutionMode.COMMAND_LINE);
            RapidMiner.init();

            Process process = new Process(new File("W:/RapidMinerRepository/textKNNClassifier.rmp"));
            process.run();

        } catch (IOException | XMLException | OperatorException ex) {
            ex.printStackTrace();
        }
    }
In this code there is no editor errors but it showed me this error: com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'operatorName' must be specified!
So, I couldn't figure where is the problem exactly!
Another trial following this thread: http://rapid-i.com/rapidforum/index.php/topic,3862.msg14364.html#msg14364
    public static void main(String[] args) throws MalformedRepositoryLocationException, RepositoryException {
        // this initializes RapidMiner with your repositories available
        RapidMiner.setExecutionMode(ExecutionMode.COMMAND_LINE);
        RapidMiner.init();

        // loads the process from the repository
        RepositoryLocation pLoc = new RepositoryLocation("W:/RapidMinerRepository/textKNNClassifier.rmp");
        ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
        String processXML = pEntry.retrieveXML();
        Process myProcess = new Process(processXML); //error
       
        // execute the process and get the resulting objects
        IOContainer ioInput = new IOContainer(new IOObject[] {myIOObject});
        myProcess.run();  //error
    }
errors shown by netbean editor are for words creating Process object and calling run() method
So, any idea how to solve this problem?
Thanks in advance :)

Answers

  • fischer
    fischer New Altair Community Member
    Hi,

    in the thread you mention, Marco has given you an example on how to load the process via the RepositoryLocation. In your third code block you are using it incorrectly since you are not referncing a repository entry (starting with "//"), but a file.

    For the second code block it would make sense to paste the stack trace. Looks like the parameter "operatorName" is not set in the process, but that parameter does not follow naming conventions, so I suspect a copy paste problem.

    Cheers,
    Simon
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    a couple of things:

    1) new RepositoryLocation("W:/RapidMinerRepository/textKNNClassifier.rmp"); will not work because a repository location is NOT your filesystem, but rather the internal RapidMiner repository. So it should look more like new RepositoryLocation("//Local Repository/textKNNCLassifier").

    2) You probably imported java.lang.Process by accident instead of com.rapidminer.Process in your second example.

    3) The error you posted is not complete so helping you there is a bit difficult, however most of the time it simply means you did not specifiy a mandatory parameter for one of the operators.

    Regards,
    Marco
  • Reem
    Reem New Altair Community Member
    Hi,

    - So, the first problem is with the path of the repository.
    Do you mean it should be inside the workspace>java project?
    Sorry but i need more explanation about the difference between "my filesystem" and "internal RapidMiner repository"

    - I've double checked the imported lines, but It seems I imported com.rapidminer.Process not java.lang.Process.

    - My main problem is how could I figure out what are the operator that I miss naming them or one of their parameters.

    here is the code again with the error (I deleted couple of repeated lines since the post is limited to 20000 chars).

    import com.rapidminer.RapidMiner;
    import com.rapidminer.Process;
    import com.rapidminer.RapidMiner.ExecutionMode;
    import com.rapidminer.operator.OperatorException;
    import com.rapidminer.repository.ProcessEntry;
    import com.rapidminer.repository.RepositoryException;
    import com.rapidminer.repository.RepositoryLocation;
    import com.rapidminer.tools.XMLException;
    import java.io.IOException;


    public class RpaidMinerTest {

        public static void main(String[] args) throws RepositoryException {
            try {
                // this initializes RapidMiner with your repositories available
                RapidMiner.setExecutionMode(ExecutionMode.COMMAND_LINE);
                RapidMiner.init();

                // loads the process from the repository
                RepositoryLocation  pLoc = new RepositoryLocation("//RMRepository/testKNNClassifier.rmp");
                ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
                String processXML = pEntry.retrieveXML();
                Process myProcess = new Process(processXML);
                myProcess.run();

            } catch (IOException | XMLException | OperatorException ex) {
                ex.printStackTrace();
            }
        }
    }
    run:
    Mar 08, 2014 9:03:07 PM com.rapidminer.tools.ParameterService init
    INFO: Reading configuration resource com/rapidminer/resources/rapidminerrc.
    Mar 08, 2014 9:03:07 PM com.rapidminer.tools.I18N <clinit>
    INFO: Set locale to en.
    Mar 08, 2014 9:03:08 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
    INFO: Property rapidminer.home is not set. Guessing.
    Mar 08, 2014 9:03:08 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
    INFO: Trying parent directory of 'C:\Program Files\Rapid-I\RapidMiner5\lib\rapidminer.jar'...gotcha!
    Mar 08, 2014 9:03:08 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
    INFO: Trying parent directory of 'C:\Program Files\Rapid-I\RapidMiner5\lib\launcher.jar'...gotcha!
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: QuantX-1 Extension
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Information-Extraction
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: edda
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Reporting
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Anomaly Detection
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: MDL
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Parallel Processing
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Text Processing
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: LifeStyle Marketing
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Feature-Selection-Extension
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: LOD
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: PRules
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: recommenders
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: semweb
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: PMML
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: WordNet
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Tacl
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: MLWizard
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Web Mining
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Series
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: SOM
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Intelligent Discovery Assistant
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Weka
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: VISUALIZATIONS
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Ontological Extension for RM
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Extension Development
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Community
    Mar 08, 2014 9:03:10 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Optimization
    Mar 08, 2014 9:03:15 PM com.rapidminer.tools.config.ConfigurationManager register
    INFO: Registered configurator SPARQL Endpoint Connection.
    Mar 08, 2014 9:03:18 PM com.rapidminer.tools.expression.parser.ExpressionParserFactory <clinit>
    INFO: Default version of expression parser registered successfully
    Mar 08, 2014 9:03:22 PM com.rapidminer.parameter.ParameterTypePassword decryptPassword
    WARNING: Password in XML file looks like unencrypted plain text.
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'operatorName' must be specified!
    at com.rapidminer.parameter.Parameters.getParameter(Parameters.java:167)
    at com.rapidminer.operator.Operator.getParameter(Operator.java:1210)
    at com.rapidminer.operator.Operator.getParameterAsString(Operator.java:1228)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.toString(RelationPreprocessOperatorImpl.java:94)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.modifyMetaData(RelationPreprocessOperatorImpl.java:114)
    at com.rapidminer.operator.AbstractExampleSetProcessing$1.modifyMetaData(AbstractExampleSetProcessing.java:60)
    at com.rapidminer.operator.ports.metadata.PassThroughRule.transformMD(PassThroughRule.java:58)
    at com.rapidminer.operator.ports.metadata.MDTransformer.transformMetaData(MDTransformer.java:58)
    at com.rapidminer.operator.Operator.transformMetaData(Operator.java:2161)
    at com.rapidminer.tools.OperatorService.registerOperator(OperatorService.java:521)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:301)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269)
    at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231)
    at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:483)
    at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:807)
    at com.rapidminer.tools.OperatorService.init(OperatorService.java:181)
    at com.rapidminer.RapidMiner.init(RapidMiner.java:526)
    at rpaidminertest.RpaidMinerTest.main(RpaidMinerTest.java:23)
    com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'operatorName' must be specified!
    at com.rapidminer.parameter.Parameters.getParameter(Parameters.java:167)
    at com.rapidminer.operator.Operator.getParameter(Operator.java:1210)
    at com.rapidminer.operator.Operator.getParameterAsString(Operator.java:1228)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.toString(RelationPreprocessOperatorImpl.java:94)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.modifyMetaData(RelationPreprocessOperatorImpl.java:114)
    at com.rapidminer.operator.AbstractExampleSetProcessing$1.modifyMetaData(AbstractExampleSetProcessing.java:60)
    at com.rapidminer.operator.ports.metadata.PassThroughRule.transformMD(PassThroughRule.java:58)
    at com.rapidminer.operator.ports.metadata.MDTransformer.transformMetaData(MDTransformer.java:58)
    at com.rapidminer.operator.Operator.transformMetaData(Operator.java:2161)
    at com.rapidminer.tools.OperatorService.registerOperator(OperatorService.java:521)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:301)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269)
    at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231)
    at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:483)
    at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:807)
    at com.rapidminer.tools.OperatorService.init(OperatorService.java:181)
    at com.rapidminer.RapidMiner.init(RapidMiner.java:526)
    at rpaidminertest.RpaidMinerTest.main(RpaidMinerTest.java:23)
    com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'operatorName' must be specified!
    at com.rapidminer.parameter.Parameters.getParameter(Parameters.java:167)
    at com.rapidminer.operator.Operator.getParameter(Operator.java:1210)
    at com.rapidminer.operator.Operator.getParameterAsString(Operator.java:1228)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.toString(RelationPreprocessOperatorImpl.java:94)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.modifyMetaData(RelationPreprocessOperatorImpl.java:114)
    at com.rapidminer.operator.AbstractExampleSetProcessing$1.modifyMetaData(AbstractExampleSetProcessing.java:60)
    at com.rapidminer.operator.ports.metadata.PassThroughRule.transformMD(PassThroughRule.java:58)
    at com.rapidminer.operator.ports.metadata.MDTransformer.transformMetaData(MDTransformer.java:58)
    at com.rapidminer.operator.Operator.transformMetaData(Operator.java:2161)
    at com.rapidminer.tools.OperatorService.registerOperator(OperatorService.java:521)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:301)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269)
    at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231)
    at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:483)
    at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:807)
    at com.rapidminer.tools.OperatorService.init(OperatorService.java:181)
    at com.rapidminer.RapidMiner.init(RapidMiner.java:526)
    at rpaidminertest.RpaidMinerTest.main(RpaidMinerTest.java:23)
    Mar 08, 2014 9:03:24 PM com.rapidminer.tools.OperatorService parseOperators
    WARNING: Cannot create operator description: rmx_information_extraction : binary_kernel_naiveBayes_operator
    java.lang.ClassNotFoundException: com.rapidminer.operator.learner.bayes.BinaryTreeKernelNaiveBayes
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at com.rapidminer.tools.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:102)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at com.rapidminer.operator.OperatorDescription.<init>(OperatorDescription.java:93)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:300)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269)
    at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231)
    at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:483)
    at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:807)
    at com.rapidminer.tools.OperatorService.init(OperatorService.java:181)
    at com.rapidminer.RapidMiner.init(RapidMiner.java:526)
    at rpaidminertest.RpaidMinerTest.main(RpaidMinerTest.java:23)

    Mar 08, 2014 9:03:25 PM com.rapidminer.operator.LifeStyle_Marketing.LifeStyle_Targeting WriteLog
    SEVERE: Error com.rapidminer.operator.ports.metadata.MetaData cannot be cast to com.rapidminer.operator.ports.metadata.ExampleSetMetaData .
    Mar 08, 2014 9:03:25 PM com.rapidminer.tools.math.similarity.DistanceMeasureHelper updateMeasure
    WARNING: While updating distance measure: com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'measure_types' must be specified! Expected integer but found 'null'.
    Mar 08, 2014 9:03:25 PM com.rapidminer.tools.math.similarity.DistanceMeasureHelper updateMeasure
    WARNING: While updating distance measure: com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'measure_types' must be specified! Expected integer but found 'null'.
    Mar 08, 2014 9:03:30 PM com.rapidminer.tools.plugin.Plugin registerOperators
    INFO: No operator descriptor specified for plugin Community. Trying plugin initializtation class com.rapidminer.community.CommunityPluginInit.
    Mar 08, 2014 9:03:30 PM com.rapidminer.tools.plugin.Plugin registerOperators
    WARNING: No operator descriptor defined for: Community
    Mar 08, 2014 9:03:30 PM com.rapidminer.tools.OperatorService init
    INFO: Number of registered operator classes: 868; number of registered operator descriptions: 994; number of replacements: 588
    Mar 08, 2014 9:03:31 PM com.rapidminer.tools.jdbc.JDBCProperties <init>
    WARNING: Missing database driver class name for ODBC Bridge (e.g. Access)
    Mar 08, 2014 9:03:31 PM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
    INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
    [Fatal Error] :1:1: Premature end of file.
    Mar 08, 2014 9:03:31 PM com.rapidminer.tools.config.ConfigurationManager loadConfiguration
    INFO: Load configuration for SPARQL Endpoint Connection.
    Mar 08, 2014 9:03:31 PM com.rapidminer.tools.config.ClientConfigurationManager loadAllParameters
    INFO: No configuration file found for SPARQL Endpoint Connection
    Mar 08, 2014 9:03:31 PM com.rapidminer.tools.config.ConfigurationManager loadConfiguration
    INFO: Loaded configurations for 2 objects of type SPARQL Endpoint Connection.
    Exception in thread "main" com.rapidminer.repository.RepositoryException: Requested repository RMRepository does not exist.
    at com.rapidminer.repository.RepositoryManager.getRepository(RepositoryManager.java:200)
    at com.rapidminer.repository.RepositoryLocation.getRepository(RepositoryLocation.java:138)
    at com.rapidminer.repository.RepositoryLocation.locateEntry(RepositoryLocation.java:161)
    at rpaidminertest.RpaidMinerTest.main(RpaidMinerTest.java:27)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 29 seconds)

    Thank you Simon & Marco
    I appreciate your help.
    Regards,
  • Reem
    Reem New Altair Community Member
    Did anyone face a problem similar to this and solve it?!
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    - When you start the RapidMiner GUI and use store processes or results, you will use a so called repository. The default one is called "Local Repository". These default one is simply located in a folder on your disk, however they can also come from RapidMiner Server etc. That is why RapidMiner Studio makes use of the repository, so no matter where the data is actually stored, there is only a single representation of the storage. You can ask the RepositoryManager class to get existing repositories or create new ones. To access a process called "My Process" in the subfolder "my folder" in your default repository, you would reference it like this:

    new RepositoryLocation("//Local Repository/my folder/My Process");
    - You can add a breakpoint to the line where the UndefinedParameterError is thrown and check the stacktrace for the operator which caused it.

    Regards,
    Marco
  • Reem
    Reem New Altair Community Member
    Hi again,

    The idea of repositories is clear, Thanks.

    I tried to debug the code and I think (based on my understanding) the problem is with calling init() method.
    line 98 in my code is:
    RapidMiner.init();
    However, I tried to follow this example provided here: https://rapid-i.com/rapidforum/index.php?topic=2976.0
    and the same error has shown again.
    ...
    FRED API Key (API Key.  Although FRED data is free to use and redistribute it does require an API key.  API keys can be obtained from api.stlouisfed.org/api_key.html)
    com.rapidminer.parameter.UndefinedParameterError: A value for the parameter 'operatorName' must be specified!
    at com.rapidminer.parameter.Parameters.getParameter(Parameters.java:167)
    at com.rapidminer.operator.Operator.getParameter(Operator.java:1210)
    at com.rapidminer.operator.Operator.getParameterAsString(Operator.java:1228)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.toString(RelationPreprocessOperatorImpl.java:94)
    at com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl.modifyMetaData(RelationPreprocessOperatorImpl.java:114)
    at com.rapidminer.operator.AbstractExampleSetProcessing$1.modifyMetaData(AbstractExampleSetProcessing.java:60)
    at com.rapidminer.operator.ports.metadata.PassThroughRule.transformMD(PassThroughRule.java:58)
    at com.rapidminer.operator.ports.metadata.MDTransformer.transformMetaData(MDTransformer.java:58)
    at com.rapidminer.operator.Operator.transformMetaData(Operator.java:2161)
    at com.rapidminer.tools.OperatorService.registerOperator(OperatorService.java:521)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:301)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293)
    at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269)
    at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231)
    at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:483)
    at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:807)
    at com.rapidminer.tools.OperatorService.init(OperatorService.java:181)
    at com.rapidminer.RapidMiner.init(RapidMiner.java:526)
    at _test.MyRMDataCluster.main(MyRMDataCluster.java:98)
    ...
    So, what is the problem in this case? how to know exactly what is operator that I miss naming it?

    Thanks,
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,


    I have never seen such an error when calling RapidMiner.init(). It looks like com.rapidminer.operator.preprocessing.ie.features.tools.RelationPreprocessOperatorImpl is the cause - however I don't know that class, where does it come from? It definetly is not a standard RapidMiner Studio operator.

    Regards,
    Marco
  • Reem
    Reem New Altair Community Member
    I have run the process in another laptop and it works.

    How to know from where this strange operator class come?
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    I don't know, you could try finding out the classloader for the class (i.e. if it is an extension classloader) and go from there..

    Regards,
    Marco