error while working with w-AdaBoostM1 operator

transformers123
transformers123 New Altair Community Member
edited November 5 in Community Q&A
Hello All,
I've installed the weka extension in rapidminer to work with the weka operators.
While I was working with a couple of operators, I've seen error "Array Index out of Bounds [0]" exception.
The same data set was working on the rapidminer & as well as some other weka operators.
I've had issues with w-LogitBoost, W-ADABoostMI, W-MultiBoostAB and some other.
While it worked well with w-DecisionStump, w-LADTree, w-ADTree

Can you anyone help me in understanding what could be the reason and what changes are required.

Thanks.
Tagged:

Answers

  • transformers123
    transformers123 New Altair Community Member
    Hello All,
    I've been working with weka operators using the weka extension.
    But when I'm trying to use the w-AdaBoostM1 operator, it is throwing an error.

    Steps followed:
    Loaded the data set
    Set the role for Label
    Connected it to the w-AdaBoostM1 operator.
    connected to the output port.

    I'm not sure what to put for the weka learning in the w-AdaBoostM1 nested process..

    Below the log for it...

    Sep 21, 2013 11:14:53 AM INFO: Process starts
    Sep 21, 2013 11:14:53 AM INFO: Loading initial data.
    Sep 21, 2013 11:14:53 AM SEVERE: Process failed: operator cannot be executed (Array index out of range: 0). Check the log messages...
    Sep 21, 2013 11:14:53 AM SEVERE: Here:          Process[1] (Process)
              subprocess 'Main Process'
                +- Retrieve HealthData[1] (Retrieve)
                +- Set Role[1] (Set Role)
          ==>  +- W-AdaBoostM1[1] (W-AdaBoostM1)
              subprocess 'Weka Learning'
    Sep 21, 2013 11:14:53 AM SEVERE: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

    Any Help?

    Thanks
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    can you please post the contents of the rm.log file found in the user/.RapidMiner5 folder?
    Also please post the xml of a process which fails (ideally with no custom data, i.e. using the "Generate Data" operator, though it should be fine if you describe the data so we can reproduce the error).

    Regards,
    Marco
  • transformers123
    transformers123 New Altair Community Member
    Hi,
    Here is the XML used for the process generated.

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.3.005">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="5.3.005" expanded="true" name="Process">
        <process expanded="true">
          <operator activated="true" class="retrieve" compatibility="5.3.005" expanded="true" height="60" name="Retrieve Golf" width="90" x="45" y="30">
            <parameter key="repository_entry" value="//Samples/data/Golf"/>
          </operator>
          <operator activated="true" class="set_role" compatibility="5.3.005" expanded="true" height="76" name="Set Role" width="90" x="313" y="30">
            <parameter key="name" value="Play"/>
            <parameter key="target_role" value="label"/>
            <list key="set_additional_roles"/>
          </operator>
          <operator activated="true" class="weka:W-AdaBoostM1" compatibility="5.3.001" expanded="true" height="76" name="W-AdaBoostM1" width="90" x="514" y="30">
            <process expanded="true"/>
          </operator>
          <connect from_op="Retrieve Golf" from_port="output" to_op="Set Role" to_port="example set input"/>
          <connect from_op="Set Role" from_port="example set output" to_op="W-AdaBoostM1" to_port="training set"/>
          <connect from_op="W-AdaBoostM1" from_port="model" 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>
    Log is as follows:

    Sep 23, 2013 10:43:37 AM INFO: Process starts
    Sep 23, 2013 10:43:37 AM INFO: Loading initial data.
    Sep 23, 2013 10:43:37 AM WARNING: Using deprecated example set stream version 1
    Sep 23, 2013 10:43:37 AM SEVERE: Process failed: operator cannot be executed (Array index out of range: 0). Check the log messages...
    Sep 23, 2013 10:43:37 AM SEVERE: Here:          Process[1] (Process)
              subprocess 'Main Process'
                +- Retrieve Golf[1] (Retrieve)
                +- Set Role[1] (Set Role)
          ==>  +- W-AdaBoostM1[1] (W-AdaBoostM1)
              subprocess 'Weka Learning'
    Sep 23, 2013 10:43:37 AM SEVERE: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

    I'm not sure if I understood your question wrong, but i'm not able to locate any user/.RapidMiner5 folder to trace the rm.log files.
    I'm working on linux environment.
    could you let me know if anything else needs to be added to generate those logs?
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    you are using an outdated version of RapidMiner. Latest version is 5.3.013. Please update to this version, and see if the problem still exists. If that is the case, in your user home folder you should find a .RapidMiner5 folder in which the rm.log file sits. This file is only created since version 5.3.013, so you cannot find it with your RapidMiner version.

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

    Thank you for the information.
    I've udpated the Rapidminer to 5.3.013 version and have run the same process.
    But the problem still remains the same.

    Could you please help me for this.
    Here is the info from the rm.log file.

    Sep 24, 2013 8:31:39 AM com.rapidminer.tools.I18N <clinit>
    INFO: Set locale to en.
    Sep 24, 2013 8:31:39 AM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Weka
    Sep 24, 2013 8:31:41 AM com.rapidminer.tools.expression.parser.ExpressionParserFactory <clinit>
    INFO: Default version of expression parser registered successfully
    Sep 24, 2013 8:31:42 AM com.rapidminer.parameter.ParameterTypePassword decryptPassword
    WARNING: Password in XML file looks like unencrypted plain text.
    Sep 24, 2013 8:31:43 AM com.rapidminer.tools.OperatorService init
    INFO: Loading additional operators specified by rapidminer.operators.additional (${RAPIDMINER_OPERATORS_ADDITIONAL})
    Sep 24, 2013 8:31:43 AM com.rapidminer.tools.OperatorService init
    SEVERE: Cannot find operator description file ${RAPIDMINER_OPERATORS_ADDITIONAL}.
    Sep 24, 2013 8:31:45 AM com.rapidminer.tools.OperatorService init
    INFO: Number of registered operator classes: 452; number of registered operator descriptions: 578; number of replacements: 407
    Sep 24, 2013 8:31:45 AM com.rapidminer.tools.jdbc.JDBCProperties <init>
    WARNING: Missing database driver class name for ODBC Bridge (e.g. Access)
    Sep 24, 2013 8:31:45 AM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
    INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
    Sep 24, 2013 8:31:48 AM com.rapidminer.gui.ApplicationPerspectives loadAll
    CONFIG: Loading perspectives.
    Sep 24, 2013 8:31:48 AM com.rapid_i.deployment.update.client.UpdateManager checkForUpdates
    CONFIG: Ignoring update check. Last update check was on 9/24/13 8:29 AM.
    Sep 24, 2013 8:31:57 AM com.rapidminer.io.process.XMLImporter parseOperator
    INFO: The parameter 'name' is unknown for operator 'Set Role' (" Set Role ")."
    Sep 24, 2013 8:31:57 AM com.rapidminer.io.process.rules.ReplaceParameterRule conditionedApply
    INFO: Parameter 'name' in 'Set Role' ('set_role') was renamed to 'attribute_name'.
    Sep 24, 2013 8:32:05 AM com.rapidminer.tools.WrapperLoggingHandler log
    INFO: No filename given for result file, using stdout for logging results!
    Sep 24, 2013 8:32:05 AM com.rapidminer.Process run
    INFO: Process starts
    Sep 24, 2013 8:32:05 AM com.rapidminer.Process loadInitialData
    INFO: Loading initial data.
    Sep 24, 2013 8:32:05 AM com.rapidminer.operator.tools.ExampleSetToStream <init>
    WARNING: Using deprecated example set stream version 1
    Sep 24, 2013 8:32:05 AM com.rapidminer.gui.ProcessThread run
    SEVERE: Process failed: operator cannot be executed (Array index out of range: 0). Check the log messages...
    java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Unknown Source)
    at java.util.Collections$UnmodifiableList.get(Unknown Source)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.getWekaParameters(GenericWekaMetaLearner.java:173)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.learn(GenericWekaMetaLearner.java:92)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.doWork(GenericWekaMetaLearner.java:84)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
    at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:711)
    at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:375)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.Process.run(Process.java:949)
    at com.rapidminer.Process.run(Process.java:873)
    at com.rapidminer.Process.run(Process.java:832)
    at com.rapidminer.Process.run(Process.java:827)
    at com.rapidminer.Process.run(Process.java:817)
    at com.rapidminer.gui.ProcessThread.run(ProcessThread.java:63)

    Sep 24, 2013 8:32:05 AM com.rapidminer.gui.ProcessThread run
    SEVERE: Here:          Process[1] (Process)
              subprocess 'Main Process'
                +- Retrieve Golf[1] (Retrieve)
                +- Set Role[1] (Set Role)
          ==>  +- W-AdaBoostM1[1] (W-AdaBoostM1)
              subprocess 'Weka Learning'
    Sep 24, 2013 8:32:05 AM com.rapidminer.gui.ProcessThread run
    SEVERE: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Unknown Source)
    at java.util.Collections$UnmodifiableList.get(Unknown Source)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.getWekaParameters(GenericWekaMetaLearner.java:173)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.learn(GenericWekaMetaLearner.java:92)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.doWork(GenericWekaMetaLearner.java:84)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
    at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:711)
    at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:375)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.Process.run(Process.java:949)
    at com.rapidminer.Process.run(Process.java:873)
    at com.rapidminer.Process.run(Process.java:832)
    at com.rapidminer.Process.run(Process.java:827)
    at com.rapidminer.Process.run(Process.java:817)
    at com.rapidminer.gui.ProcessThread.run(ProcessThread.java:63)

    Sep 24, 2013 8:32:11 AM com.rapidminer.tools.WrapperLoggingHandler log
    INFO: No filename given for result file, using stdout for logging results!
    Sep 24, 2013 8:32:11 AM com.rapidminer.Process run
    INFO: Process starts
    Sep 24, 2013 8:32:11 AM com.rapidminer.Process loadInitialData
    INFO: Loading initial data.
    Sep 24, 2013 8:32:11 AM com.rapidminer.operator.tools.ExampleSetToStream <init>
    WARNING: Using deprecated example set stream version 1
    Sep 24, 2013 8:32:11 AM com.rapidminer.gui.ProcessThread run
    SEVERE: Process failed: operator cannot be executed (Array index out of range: 0). Check the log messages...
    java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Unknown Source)
    at java.util.Collections$UnmodifiableList.get(Unknown Source)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.getWekaParameters(GenericWekaMetaLearner.java:173)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.learn(GenericWekaMetaLearner.java:92)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.doWork(GenericWekaMetaLearner.java:84)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
    at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:711)
    at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:375)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.Process.run(Process.java:949)
    at com.rapidminer.Process.run(Process.java:873)
    at com.rapidminer.Process.run(Process.java:832)
    at com.rapidminer.Process.run(Process.java:827)
    at com.rapidminer.Process.run(Process.java:817)
    at com.rapidminer.gui.ProcessThread.run(ProcessThread.java:63)

    Sep 24, 2013 8:32:11 AM com.rapidminer.gui.ProcessThread run
    SEVERE: Here:          Process[1] (Process)
              subprocess 'Main Process'
                +- Retrieve Golf[1] (Retrieve)
                +- Set Role[1] (Set Role)
          ==>  +- W-AdaBoostM1[1] (W-AdaBoostM1)
              subprocess 'Weka Learning'
    Sep 24, 2013 8:32:11 AM com.rapidminer.gui.ProcessThread run
    SEVERE: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Unknown Source)
    at java.util.Collections$UnmodifiableList.get(Unknown Source)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.getWekaParameters(GenericWekaMetaLearner.java:173)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.learn(GenericWekaMetaLearner.java:92)
    at com.rapidminer.operator.learner.weka.GenericWekaMetaLearner.doWork(GenericWekaMetaLearner.java:84)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
    at com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:711)
    at com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:375)
    at com.rapidminer.operator.Operator.execute(Operator.java:867)
    at com.rapidminer.Process.run(Process.java:949)
    at com.rapidminer.Process.run(Process.java:873)
    at com.rapidminer.Process.run(Process.java:832)
    at com.rapidminer.Process.run(Process.java:827)
    at com.rapidminer.Process.run(Process.java:817)
    at com.rapidminer.gui.ProcessThread.run(ProcessThread.java:63)

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    thank you for the information. I have created an internal ticket for this issue.

    Regards,
    Marco
  • transformers123
    transformers123 New Altair Community Member
    Hello,

    Thanks for the information.
    Let me know once it is resolved.

  • ubuk2014
    ubuk2014 New Altair Community Member
    Hello,

    I am using Weka Extension and meta-learners doesn't works. The error is the same that reported by transformers123.
    Is already resolved?

    Thank you very much,
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    sadly not yet  :-[

    Regards,
    Marco
  • ubuk2014
    ubuk2014 New Altair Community Member
    Thank you, I am changing the code of the Weka Extension and I have found an important bug: exists an e-mail address where can I send the report?

    Regards

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    feel free to send me a private message via the forums. I will then create an internal ticket for it if there isn't one already.

    Regards,
    Marco
  • MariusHelf
    MariusHelf New Altair Community Member
    To get the process working you probably have to add another Weka Learner into the subprocess.