RapidMiner

RapidMiner

How to nest/compare multiple learners?

Contributor II

How to nest/compare multiple learners?

I want to nest and compare 3 different learners such as ANN, DT and LR for a classification task. I want to use 10-fold CV. How can I do that? Do I need to do the XValidation separately for each algorithm, or is there a way to nest them into a meta block?

Thanks,

Delen
1 REPLY
RMStaff

Re: How to nest/compare multiple learners?

Hi,

you can combine the operator OperatorSelector with a parameter iteration like in the following process:


<operator name="Root" class="Process" expanded="yes">
    <operator name="ExampleSetGenerator" class="ExampleSetGenerator">
        <parameter key="target_function" value="sum classification"/>
    </operator>
    <operator name="ParameterIteration" class="ParameterIteration" expanded="yes">
        <list key="parameters">
          <parameter key="OperatorSelector.select_which" value="[1.0;3.0;2;linear]"/>
        </list>
        <parameter key="keep_output" value="true"/>
        <operator name="XValidation" class="XValidation" expanded="yes">
            <operator name="OperatorSelector" class="OperatorSelector" expanded="yes">
                <parameter key="select_which" value="3"/>
                <operator name="DecisionTree" class="DecisionTree">
                </operator>
                <operator name="LinearRegression" class="LinearRegression">
                </operator>
                <operator name="JMySVMLearner" class="JMySVMLearner">
                </operator>
            </operator>
            <operator name="OperatorChain" class="OperatorChain" expanded="yes">
                <operator name="ModelApplier" class="ModelApplier">
                    <list key="application_parameters">
                    </list>
                </operator>
                <operator name="Performance" class="Performance">
                </operator>
            </operator>
        </operator>
    </operator>
</operator>


Cheers,
Ingo