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.

Learning process for Vote module

inthewoodsinthewoods Member Posts: 9 Contributor II
edited November 2018 in Help
Hey all - I'm a newbie so please excuse what may be a stupid question.  I'm trying to put together a simple test of an Ensemble Learning system using Adaboost.  Here's what I've got so far:

<?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.11" expanded="true" name="Process">
    <process expanded="true" height="298" width="605">
      <operator activated="true" class="retrieve" compatibility="5.0.11" expanded="true" height="60" name="Retrieve" width="90" x="45" y="30">
        <parameter key="repository_entry" value="SPY_multi_data_v1"/>
      </operator>
      <operator activated="true" class="series:windowing" compatibility="5.0.2" expanded="true" height="76" name="Windowing" width="90" x="179" y="30">
        <parameter key="horizon" value="1"/>
        <parameter key="window_size" value="1"/>
        <parameter key="create_label" value="true"/>
        <parameter key="label_attribute" value="ROC-1"/>
      </operator>
      <operator activated="true" class="series:sliding_window_validation" compatibility="5.0.2" expanded="true" height="112" name="Validation" width="90" x="313" y="30">
        <process expanded="true" height="315" width="286">
          <operator activated="true" class="adaboost" compatibility="5.0.11" expanded="true" height="76" name="AdaBoost" width="90" x="112" y="30">
            <process expanded="true" height="297" width="603">
              <operator activated="true" class="vote" compatibility="5.0.11" expanded="true" height="60" name="Vote" width="90" x="246" y="30">
                <process expanded="true" height="331" width="714">
                  <portSpacing port="source_training set 1" spacing="0"/>
                  <portSpacing port="sink_base model 1" spacing="0"/>
                </process>
              </operator>
              <connect from_port="training set" to_op="Vote" to_port="training set"/>
              <connect from_op="Vote" from_port="model" to_port="model"/>
              <portSpacing port="source_training set" spacing="0"/>
              <portSpacing port="sink_model" spacing="0"/>
            </process>
          </operator>
          <connect from_port="training" to_op="AdaBoost" to_port="training set"/>
          <connect from_op="AdaBoost" 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" height="315" width="286">
          <operator activated="true" class="apply_model" compatibility="5.0.11" expanded="true" height="76" name="Apply Model" width="90" x="63" y="31">
            <list key="application_parameters"/>
          </operator>
          <operator activated="true" class="performance" compatibility="5.0.11" expanded="true" height="76" name="Performance" width="90" x="112" y="165"/>
          <connect from_port="model" to_op="Apply Model" to_port="model"/>
          <connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/>
          <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
          <connect from_op="Performance" 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_op="Retrieve" from_port="output" to_op="Windowing" to_port="example set input"/>
      <connect from_op="Windowing" from_port="example set output" to_op="Validation" to_port="training"/>
      <connect from_op="Validation" from_port="training" to_port="result 1"/>
      <connect from_op="Validation" from_port="averagable 1" to_port="result 2"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
      <portSpacing port="sink_result 3" spacing="0"/>
    </process>
  </operator>
</process>
I get an error on the Vote module which is asking for a Base Learner - but I'm not clear on what a Base Learner would be for a Vote.  I'm sure it'll seem obvious when I see it but I'm stuck so far.

Any help greatly appreciated!

Answers

  • SebastianLohSebastianLoh Member Posts: 99 Contributor II
    Hi inthewoods,

    you missed to put some modeling operators into the Voting meta learner. Eg. you could but a Naaive Bayes, Decision Stump and a k-NN inside and let them vote.

    Take a look into the RM help http://rapid-i.com/wiki/index.php?title=Vote

    However, it seems to me a little bit odd to perform a AdaBoost on a Voting Meta Learner since the AdaBoost needs a lerner which can process attribute weights:

    http://en.wikipedia.org/wiki/AdaBoost

    I hope I could help,

    Ciao Sebastian

Sign In or Register to comment.