Bootstrap operator vs. Sample operator

VDVD Member Posts: 7 Contributor II
edited November 2018 in Help
Hello,

I attached a simple model for better understanding (please see below):

In the model I create a simple sinus curve with some noise as input for 2 sub-models: one reduces the example set using a sample bootstrap + remove duplicate operator and the other a sample operator (ratio set to 0.6)  then forward this subset as input for a WEKA Multilayer Perceptron . As far as I understand the function of these operators the result should be nearly same - however, comparing both result sets in the plot view window (x-axis = att1, y-axis = prediction(label)) I realize a difference between the output of the sample-model and the bootstrap-model: while I can separate several sinus curves in the bootstrap-model I do not see the same (or similar) in the sample-model. It's less dense.  I was expecting same behaviour ...

Would you pleae be so kind and give me a hint what's wrong (either model or my thinking)?

Thanks and best Regards

VD
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.0">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" expanded="true" name="Process">
   <process expanded="true" height="386" width="685">
     <operator activated="true" class="generate_data" expanded="true" height="60" name="Generate Data" width="90" x="45" y="30">
       <parameter key="target_function" value="simple sinus"/>
       <parameter key="number_of_attributes" value="1"/>
       <parameter key="attributes_lower_bound" value="-3.0"/>
       <parameter key="attributes_upper_bound" value="3.0"/>
     </operator>
     <operator activated="true" class="add_noise" expanded="true" height="94" name="Add Noise" width="90" x="45" y="255">
       <list key="noise"/>
     </operator>
     <operator activated="true" class="multiply" expanded="true" height="94" name="Multiply" width="90" x="179" y="165"/>
     <operator activated="true" class="loop" expanded="true" height="76" name="Loop" width="90" x="313" y="75">
       <parameter key="iterations" value="5"/>
       <process expanded="true" height="575" width="709">
         <operator activated="true" class="sample_bootstrapping" expanded="true" height="76" name="Sample (2)" width="90" x="45" y="30">
           <parameter key="use_weights" value="false"/>
         </operator>
         <operator activated="true" class="remove_duplicates" expanded="true" height="76" name="Remove Duplicates" width="90" x="179" y="30"/>
         <operator activated="true" class="weka:W-MultilayerPerceptron" expanded="true" height="76" name="W-MultilayerPerceptron" width="90" x="313" y="30">
           <parameter key="N" value="5000.0"/>
           <parameter key="H" value="5"/>
         </operator>
         <operator activated="true" class="apply_model" expanded="true" height="76" name="Apply Model" width="90" x="469" y="30">
           <list key="application_parameters"/>
         </operator>
         <connect from_port="input 1" to_op="Sample (2)" to_port="example set input"/>
         <connect from_op="Sample (2)" from_port="example set output" to_op="Remove Duplicates" to_port="example set input"/>
         <connect from_op="Remove Duplicates" from_port="example set output" to_op="W-MultilayerPerceptron" to_port="training set"/>
         <connect from_op="W-MultilayerPerceptron" from_port="model" to_op="Apply Model" to_port="model"/>
         <connect from_op="W-MultilayerPerceptron" from_port="exampleSet" to_op="Apply Model" to_port="unlabelled data"/>
         <connect from_op="Apply Model" from_port="labelled data" to_port="output 1"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="source_input 2" spacing="0"/>
         <portSpacing port="sink_output 1" spacing="0"/>
         <portSpacing port="sink_output 2" spacing="0"/>
       </process>
     </operator>
     <operator activated="true" class="append" expanded="true" height="76" name="Append" width="90" x="447" y="75"/>
     <operator activated="true" class="loop" expanded="true" height="76" name="Loop (2)" width="90" x="313" y="255">
       <parameter key="iterations" value="5"/>
       <process expanded="true" height="575" width="709">
         <operator activated="true" class="sample" expanded="true" height="76" name="Sample" width="90" x="112" y="30">
           <parameter key="sample" value="relative"/>
           <parameter key="sample_ratio" value="0.6"/>
         </operator>
         <operator activated="true" class="weka:W-MultilayerPerceptron" expanded="true" height="76" name="W-MultilayerPerceptron (2)" width="90" x="315" y="30">
           <parameter key="N" value="5000.0"/>
           <parameter key="H" value="5"/>
         </operator>
         <operator activated="true" class="apply_model" expanded="true" height="76" name="Apply Model (2)" width="90" x="512" y="30">
           <list key="application_parameters"/>
         </operator>
         <connect from_port="input 1" to_op="Sample" to_port="example set input"/>
         <connect from_op="Sample" from_port="example set output" to_op="W-MultilayerPerceptron (2)" to_port="training set"/>
         <connect from_op="W-MultilayerPerceptron (2)" from_port="model" to_op="Apply Model (2)" to_port="model"/>
         <connect from_op="W-MultilayerPerceptron (2)" from_port="exampleSet" to_op="Apply Model (2)" to_port="unlabelled data"/>
         <connect from_op="Apply Model (2)" from_port="labelled data" to_port="output 1"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="source_input 2" spacing="0"/>
         <portSpacing port="sink_output 1" spacing="0"/>
         <portSpacing port="sink_output 2" spacing="0"/>
       </process>
     </operator>
     <operator activated="true" class="append" expanded="true" height="76" name="Append (2)" width="90" x="447" y="255"/>
     <connect from_op="Generate Data" from_port="output" to_op="Add Noise" to_port="example set input"/>
     <connect from_op="Add Noise" from_port="example set output" to_op="Multiply" to_port="input"/>
     <connect from_op="Multiply" from_port="output 1" to_op="Loop" to_port="input 1"/>
     <connect from_op="Multiply" from_port="output 2" to_op="Loop (2)" to_port="input 1"/>
     <connect from_op="Loop" from_port="output 1" to_op="Append" to_port="example set 1"/>
     <connect from_op="Append" from_port="merged set" to_port="result 1"/>
     <connect from_op="Loop (2)" from_port="output 1" to_op="Append (2)" to_port="example set 1"/>
     <connect from_op="Append (2)" from_port="merged set" 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>

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    I'm not quite sure about this (combinatoric has never been my greatest strength), but if I understood you correctly, you are expecting the same probabilities for each original example to be in the sampled set for both sampling methods?
    Well, I changed the process a little bit, increased the number of examples, the number of iterations and added an id.
    After executing the process, you might take a look at the histogram plot over the id and you will get an impression, that each example is equally frequent with a small random deviation from the mean.
    So, whatever the neural net produces from the 100 examples is pretty random I guess and please keep in mind that sampling is still depended on the fixed random number sequence depending on the random seed.

    Was this at least a little bit helpful or did I miss you completely?

    Greetings,
      Sebastian
  • VDVD Member Posts: 7 Contributor II
    Hello Sebastian,

    Thanks for your answer - but I think the problem is more deeper - maybe a bug in loop or in the sample operator - or somewhere else???

    I attached a modified model - this time I have a linear function with some noise on the data. I feed these data in two loops: one is sampling using bootstrap method, the other using simple sampling (with ratio 0.632). After the run I compare the output of both loops:

    IOObjectCollection (Loop) is the one with the bootstrap operator and  IOObjectCollection (Loop (2)) is the one with the sample operator.

    Now: plot view, scatter, x-Axis = X and y-Axis = prediction(Y) I see a straight line for each data in the collection IOObjectCollection (Loop) = bootstrap!!

    However, when I do the same for IOObjectCollection (Loop (2)) I see a straight line for the first (lowest) entry ini the coolection but NO LINES anymore for the other ones.  ???

    For me it looks like that one of the operators is not cleared before the next run is started ...

    Can you reproduce this kind of behaviour?

    Thanks and Best Regards

    VD
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.0">
     <context>
       <input/>
       <output/>
       <macros/>
     </context>
     <operator activated="true" class="process" expanded="true" name="Process">
       <parameter key="random_seed" value="-1"/>
       <process expanded="true" height="521" width="685">
         <operator activated="true" class="subprocess" expanded="true" height="76" name="Subprocess" width="90" x="45" y="120">
           <process expanded="true" height="568" width="707">
             <operator activated="true" class="generate_data" expanded="true" height="60" name="Generate Data (2)" width="90" x="45" y="75">
               <parameter key="number_of_attributes" value="1"/>
             </operator>
             <operator activated="true" class="generate_attributes" expanded="true" height="76" name="Generate Attributes" width="90" x="179" y="75">
               <list key="function_descriptions">
                 <parameter key="att2" value="5*att1+15"/>
               </list>
             </operator>
             <operator activated="true" class="rename" expanded="true" height="76" name="Rename" width="90" x="313" y="75">
               <parameter key="old_name" value="att1"/>
               <parameter key="new_name" value="X"/>
             </operator>
             <operator activated="true" class="rename" expanded="true" height="76" name="Rename (2)" width="90" x="447" y="75">
               <parameter key="old_name" value="att2"/>
               <parameter key="new_name" value="Y"/>
             </operator>
             <operator activated="true" class="set_role" expanded="true" height="76" name="Set Role (2)" width="90" x="581" y="75">
               <parameter key="name" value="Y"/>
               <parameter key="target_role" value="label"/>
             </operator>
             <connect from_op="Generate Data (2)" from_port="output" to_op="Generate Attributes" to_port="example set input"/>
             <connect from_op="Generate Attributes" from_port="example set output" to_op="Rename" to_port="example set input"/>
             <connect from_op="Rename" from_port="example set output" to_op="Rename (2)" to_port="example set input"/>
             <connect from_op="Rename (2)" from_port="example set output" to_op="Set Role (2)" to_port="example set input"/>
             <connect from_op="Set Role (2)" from_port="example set output" to_port="out 1"/>
             <portSpacing port="source_in 1" spacing="0"/>
             <portSpacing port="sink_out 1" spacing="0"/>
             <portSpacing port="sink_out 2" spacing="0"/>
           </process>
         </operator>
         <operator activated="true" class="add_noise" expanded="true" height="94" name="Add Noise" width="90" x="45" y="300">
           <parameter key="label_noise" value="0.5"/>
           <list key="noise"/>
         </operator>
         <operator activated="true" class="multiply" expanded="true" height="94" name="Multiply" width="90" x="179" y="300"/>
         <operator activated="true" class="loop" expanded="true" height="94" name="Loop" width="90" x="313" y="165">
           <parameter key="iterations" value="15"/>
           <process expanded="true" height="575" width="709">
             <operator activated="true" class="sample_bootstrapping" expanded="true" height="76" name="Sample (2)" width="90" x="45" y="30"/>
             <operator activated="true" class="remove_duplicates" expanded="true" height="76" name="Remove Duplicates" width="90" x="179" y="30"/>
             <operator activated="true" class="linear_regression" expanded="true" height="76" name="Linear Regression (2)" width="90" x="313" y="30">
               <parameter key="feature_selection" value="none"/>
               <parameter key="eliminate_colinear_features" value="false"/>
             </operator>
             <operator activated="false" class="weka:W-MultilayerPerceptron" expanded="true" height="76" name="W-MultilayerPerceptron" width="90" x="179" y="300">
               <parameter key="N" value="5000.0"/>
               <parameter key="H" value="5"/>
             </operator>
             <operator activated="true" class="apply_model" expanded="true" height="76" name="Apply Model" width="90" x="447" y="30">
               <list key="application_parameters"/>
             </operator>
             <operator activated="true" class="multiply" expanded="true" height="94" name="Multiply (2)" width="90" x="581" y="30"/>
             <connect from_port="input 1" to_op="Sample (2)" to_port="example set input"/>
             <connect from_op="Sample (2)" from_port="example set output" to_op="Remove Duplicates" to_port="example set input"/>
             <connect from_op="Remove Duplicates" from_port="example set output" to_op="Linear Regression (2)" to_port="training set"/>
             <connect from_op="Linear Regression (2)" from_port="model" to_op="Apply Model" to_port="model"/>
             <connect from_op="Linear Regression (2)" from_port="exampleSet" to_op="Apply Model" to_port="unlabelled data"/>
             <connect from_op="Apply Model" from_port="labelled data" to_op="Multiply (2)" to_port="input"/>
             <connect from_op="Multiply (2)" from_port="output 1" to_port="output 1"/>
             <connect from_op="Multiply (2)" from_port="output 2" to_port="output 2"/>
             <portSpacing port="source_input 1" spacing="0"/>
             <portSpacing port="source_input 2" spacing="0"/>
             <portSpacing port="sink_output 1" spacing="0"/>
             <portSpacing port="sink_output 2" spacing="0"/>
             <portSpacing port="sink_output 3" spacing="0"/>
           </process>
         </operator>
         <operator activated="true" class="append" expanded="true" height="76" name="Append" width="90" x="447" y="75"/>
         <operator activated="true" class="loop" expanded="true" height="94" name="Loop (2)" width="90" x="313" y="345">
           <parameter key="iterations" value="15"/>
           <process expanded="true" height="575" width="709">
             <operator activated="true" class="sample" expanded="true" height="76" name="Sample" width="90" x="112" y="30">
               <parameter key="sample" value="relative"/>
               <parameter key="sample_ratio" value="0.632"/>
             </operator>
             <operator activated="true" class="linear_regression" expanded="true" height="76" name="Linear Regression" width="90" x="313" y="30">
               <parameter key="feature_selection" value="none"/>
               <parameter key="eliminate_colinear_features" value="false"/>
             </operator>
             <operator activated="false" class="weka:W-MultilayerPerceptron" expanded="true" height="76" name="W-MultilayerPerceptron (2)" width="90" x="112" y="210">
               <parameter key="N" value="5000.0"/>
               <parameter key="H" value="5"/>
             </operator>
             <operator activated="true" class="apply_model" expanded="true" height="76" name="Apply Model (2)" width="90" x="450" y="30">
               <list key="application_parameters"/>
             </operator>
             <operator activated="true" class="multiply" expanded="true" height="94" name="Multiply (3)" width="90" x="579" y="30"/>
             <connect from_port="input 1" to_op="Sample" to_port="example set input"/>
             <connect from_op="Sample" from_port="example set output" to_op="Linear Regression" to_port="training set"/>
             <connect from_op="Linear Regression" from_port="model" to_op="Apply Model (2)" to_port="model"/>
             <connect from_op="Linear Regression" from_port="exampleSet" to_op="Apply Model (2)" to_port="unlabelled data"/>
             <connect from_op="Apply Model (2)" from_port="labelled data" to_op="Multiply (3)" to_port="input"/>
             <connect from_op="Multiply (3)" from_port="output 1" to_port="output 1"/>
             <connect from_op="Multiply (3)" from_port="output 2" to_port="output 2"/>
             <portSpacing port="source_input 1" spacing="0"/>
             <portSpacing port="source_input 2" spacing="0"/>
             <portSpacing port="sink_output 1" spacing="0"/>
             <portSpacing port="sink_output 2" spacing="0"/>
             <portSpacing port="sink_output 3" spacing="0"/>
           </process>
         </operator>
         <operator activated="true" class="append" expanded="true" height="76" name="Append (2)" width="90" x="447" y="345"/>
         <connect from_op="Subprocess" from_port="out 1" to_op="Add Noise" to_port="example set input"/>
         <connect from_op="Add Noise" from_port="example set output" to_op="Multiply" to_port="input"/>
         <connect from_op="Add Noise" from_port="original" to_port="result 5"/>
         <connect from_op="Multiply" from_port="output 1" to_op="Loop" to_port="input 1"/>
         <connect from_op="Multiply" from_port="output 2" to_op="Loop (2)" to_port="input 1"/>
         <connect from_op="Loop" from_port="output 1" to_op="Append" to_port="example set 1"/>
         <connect from_op="Loop" from_port="output 2" to_port="result 2"/>
         <connect from_op="Append" from_port="merged set" to_port="result 1"/>
         <connect from_op="Loop (2)" from_port="output 1" to_op="Append (2)" to_port="example set 1"/>
         <connect from_op="Loop (2)" from_port="output 2" to_port="result 4"/>
         <connect from_op="Append (2)" from_port="merged set" to_port="result 3"/>
         <portSpacing port="source_input 1" spacing="0"/>
         <portSpacing port="sink_result 1" spacing="144"/>
         <portSpacing port="sink_result 2" spacing="18"/>
         <portSpacing port="sink_result 3" spacing="0"/>
         <portSpacing port="sink_result 4" spacing="0"/>
         <portSpacing port="sink_result 5" spacing="72"/>
         <portSpacing port="sink_result 6" spacing="0"/>
       </process>
     </operator>
    </process>
  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    thank you for diving deeper in this matter, with this process I was able to find a bug burried in the code since it was first written five years ago...
    It's another page in the thick book of copying references versus copying data.
    Fortunately this problem will only be revealed in exact your setup and can be avoided with an easy modification of your process until it has been fixed. You simply have to manually make a meteralized copy of your data within the loop:

    <?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.0" expanded="true" name="Process">
        <parameter key="random_seed" value="-1"/>
        <process expanded="true" height="539" width="685">
          <operator activated="true" class="subprocess" compatibility="5.0.0" expanded="true" height="76" name="Subprocess" width="90" x="45" y="120">
            <process expanded="true" height="568" width="707">
              <operator activated="true" class="generate_data" compatibility="5.0.0" expanded="true" height="60" name="Generate Data (2)" width="90" x="45" y="75">
                <parameter key="number_of_attributes" value="1"/>
              </operator>
              <operator activated="true" class="generate_attributes" compatibility="5.0.0" expanded="true" height="76" name="Generate Attributes" width="90" x="179" y="75">
                <list key="function_descriptions">
                  <parameter key="att2" value="5*att1+15"/>
                </list>
              </operator>
              <operator activated="true" class="rename" compatibility="5.0.0" expanded="true" height="76" name="Rename" width="90" x="313" y="75">
                <parameter key="old_name" value="att1"/>
                <parameter key="new_name" value="X"/>
              </operator>
              <operator activated="true" class="rename" compatibility="5.0.0" expanded="true" height="76" name="Rename (2)" width="90" x="447" y="75">
                <parameter key="old_name" value="att2"/>
                <parameter key="new_name" value="Y"/>
              </operator>
              <operator activated="true" class="set_role" compatibility="5.0.0" expanded="true" height="76" name="Set Role (2)" width="90" x="581" y="75">
                <parameter key="name" value="Y"/>
                <parameter key="target_role" value="label"/>
              </operator>
              <connect from_op="Generate Data (2)" from_port="output" to_op="Generate Attributes" to_port="example set input"/>
              <connect from_op="Generate Attributes" from_port="example set output" to_op="Rename" to_port="example set input"/>
              <connect from_op="Rename" from_port="example set output" to_op="Rename (2)" to_port="example set input"/>
              <connect from_op="Rename (2)" from_port="example set output" to_op="Set Role (2)" to_port="example set input"/>
              <connect from_op="Set Role (2)" from_port="example set output" to_port="out 1"/>
              <portSpacing port="source_in 1" spacing="0"/>
              <portSpacing port="sink_out 1" spacing="0"/>
              <portSpacing port="sink_out 2" spacing="0"/>
            </process>
          </operator>
          <operator activated="true" class="add_noise" compatibility="5.0.0" expanded="true" height="94" name="Add Noise" width="90" x="45" y="255">
            <parameter key="label_noise" value="0.5"/>
            <list key="noise"/>
          </operator>
          <operator activated="false" class="multiply" compatibility="5.0.0" expanded="true" height="60" name="Multiply" width="90" x="179" y="120"/>
          <operator activated="false" class="loop" compatibility="5.0.0" expanded="true" height="94" name="Loop" width="90" x="313" y="75">
            <parameter key="iterations" value="15"/>
            <process expanded="true" height="575" width="709">
              <operator activated="false" class="sample_bootstrapping" compatibility="5.0.0" expanded="true" height="76" name="Sample (2)" width="90" x="45" y="30"/>
              <operator activated="false" class="remove_duplicates" compatibility="5.0.0" expanded="true" height="76" name="Remove Duplicates" width="90" x="179" y="30"/>
              <operator activated="false" class="linear_regression" compatibility="5.0.0" expanded="true" height="76" name="Linear Regression (2)" width="90" x="313" y="30">
                <parameter key="feature_selection" value="none"/>
                <parameter key="eliminate_colinear_features" value="false"/>
              </operator>
              <operator activated="false" class="weka:W-MultilayerPerceptron" compatibility="5.0.0" expanded="true" height="76" name="W-MultilayerPerceptron" width="90" x="179" y="300">
                <parameter key="N" value="5000.0"/>
                <parameter key="H" value="5"/>
              </operator>
              <operator activated="false" class="apply_model" compatibility="5.0.0" expanded="true" height="76" name="Apply Model" width="90" x="447" y="30">
                <list key="application_parameters"/>
              </operator>
              <operator activated="false" class="multiply" compatibility="5.0.0" expanded="true" height="94" name="Multiply (2)" width="90" x="581" y="30"/>
              <connect from_port="input 1" to_op="Sample (2)" to_port="example set input"/>
              <connect from_op="Sample (2)" from_port="example set output" to_op="Remove Duplicates" to_port="example set input"/>
              <connect from_op="Remove Duplicates" from_port="example set output" to_op="Linear Regression (2)" to_port="training set"/>
              <connect from_op="Linear Regression (2)" from_port="model" to_op="Apply Model" to_port="model"/>
              <connect from_op="Linear Regression (2)" from_port="exampleSet" to_op="Apply Model" to_port="unlabelled data"/>
              <connect from_op="Apply Model" from_port="labelled data" to_op="Multiply (2)" to_port="input"/>
              <connect from_op="Multiply (2)" from_port="output 1" to_port="output 1"/>
              <connect from_op="Multiply (2)" from_port="output 2" to_port="output 2"/>
              <portSpacing port="source_input 1" spacing="0"/>
              <portSpacing port="source_input 2" spacing="0"/>
              <portSpacing port="sink_output 1" spacing="0"/>
              <portSpacing port="sink_output 2" spacing="0"/>
              <portSpacing port="sink_output 3" spacing="0"/>
            </process>
          </operator>
          <operator activated="false" class="append" compatibility="5.0.0" expanded="true" height="76" name="Append" width="90" x="581" y="30"/>
          <operator activated="true" class="loop" compatibility="5.0.0" expanded="true" height="94" name="Loop (2)" width="90" x="179" y="300">
            <parameter key="iterations" value="15"/>
            <process expanded="true" height="575" width="709">
              <operator activated="true" class="sample" compatibility="5.0.0" expanded="true" height="76" name="Sample" width="90" x="112" y="30">
                <parameter key="sample" value="relative"/>
                <parameter key="sample_ratio" value="0.632"/>
              </operator>
              <operator activated="true" class="linear_regression" compatibility="5.0.0" expanded="true" height="76" name="Linear Regression" width="90" x="246" y="30">
                <parameter key="feature_selection" value="none"/>
                <parameter key="eliminate_colinear_features" value="false"/>
              </operator>
              <operator activated="false" class="weka:W-MultilayerPerceptron" compatibility="5.0.0" expanded="true" height="76" name="W-MultilayerPerceptron (2)" width="90" x="112" y="210">
                <parameter key="N" value="5000.0"/>
                <parameter key="H" value="5"/>
              </operator>
              <operator activated="true" class="apply_model" compatibility="5.0.0" expanded="true" height="76" name="Apply Model (2)" width="90" x="380" y="30">
                <list key="application_parameters"/>
              </operator>
              <operator activated="true" class="materialize_data" compatibility="5.0.8" expanded="true" height="76" name="Materialize Data" width="90" x="514" y="30"/>
              <operator activated="true" class="multiply" compatibility="5.0.0" expanded="true" height="94" name="Multiply (3)" width="90" x="581" y="120"/>
              <connect from_port="input 1" to_op="Sample" to_port="example set input"/>
              <connect from_op="Sample" from_port="example set output" to_op="Linear Regression" to_port="training set"/>
              <connect from_op="Linear Regression" from_port="model" to_op="Apply Model (2)" to_port="model"/>
              <connect from_op="Linear Regression" from_port="exampleSet" to_op="Apply Model (2)" to_port="unlabelled data"/>
              <connect from_op="Apply Model (2)" from_port="labelled data" to_op="Materialize Data" to_port="example set input"/>
              <connect from_op="Materialize Data" from_port="example set output" to_op="Multiply (3)" to_port="input"/>
              <connect from_op="Multiply (3)" from_port="output 1" to_port="output 1"/>
              <connect from_op="Multiply (3)" from_port="output 2" to_port="output 2"/>
              <portSpacing port="source_input 1" spacing="0"/>
              <portSpacing port="source_input 2" spacing="0"/>
              <portSpacing port="sink_output 1" spacing="0"/>
              <portSpacing port="sink_output 2" spacing="0"/>
              <portSpacing port="sink_output 3" spacing="0"/>
            </process>
          </operator>
          <operator activated="true" breakpoints="before" class="append" compatibility="5.0.0" expanded="true" height="76" name="Append (2)" width="90" x="380" y="210"/>
          <connect from_op="Subprocess" from_port="out 1" to_op="Add Noise" to_port="example set input"/>
          <connect from_op="Add Noise" from_port="example set output" to_op="Loop (2)" to_port="input 1"/>
          <connect from_op="Loop" from_port="output 1" to_op="Append" to_port="example set 1"/>
          <connect from_op="Loop (2)" from_port="output 1" to_op="Append (2)" to_port="example set 1"/>
          <connect from_op="Loop (2)" from_port="output 2" to_port="result 2"/>
          <connect from_op="Append (2)" from_port="merged set" to_port="result 1"/>
          <portSpacing port="source_input 1" spacing="0"/>
          <portSpacing port="sink_result 1" spacing="180"/>
          <portSpacing port="sink_result 2" spacing="108"/>
          <portSpacing port="sink_result 3" spacing="0"/>
        </process>
      </operator>
    </process>
    I will add this to the bugtracker.

    Greetings,
      Sebastian Land
  • VDVD Member Posts: 7 Contributor II
    Hello Sebastian,

    Thank you !!

    Best Regards

    VD
Sign In or Register to comment.