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.

Comparison of several algorithms

csoarescsoares Member Posts: 13 Contributor II
edited November 2018 in Help
Hi
I'm a newbie to RapidMiner and I'm trying to compare the performance of several algorithms. The way I found to do it is to add a OperatorSelect operator with all the algorithms I want to test as sub-operators. The problem with this approach is that I need to run the process for an algorithm, change the parameter of OperatorSelect, run the next algorithm and so on. Additionally, I need to store the results of each iteration somewhere and I couldn't find a way to analyze them simultaneously with RapidMiner.

I looked in the forum and found no answer for this although I think this is something I was expecting more people needed. So, what am I missing here?

Thanks in advance.
Cheers,
Carlos

Answers

  • IngoRMIngoRM Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, Community Manager, RMResearcher, Member, University Professor Posts: 1,751 RM Founder
    Hi Carlos,

    here is the basic setup:

    <operator name="Root" class="Process" expanded="yes">
        <operator name="ExampleSetGenerator" class="ExampleSetGenerator">
            <parameter key="number_examples" value="200"/>
            <parameter key="target_function" value="sum classification"/>
        </operator>
        <operator name="NoiseGenerator" class="NoiseGenerator">
            <list key="noise">
            </list>
            <parameter key="random_attributes" value="1"/>
        </operator>
        <operator name="ParameterIteration" class="ParameterIteration" expanded="yes">
            <parameter key="keep_output" value="true"/>
            <list key="parameters">
              <parameter key="OperatorSelector.select_which" value="1,2,3"/>
            </list>
            <operator name="XValidation" class="XValidation" expanded="yes">
                <parameter key="local_random_seed" value="100"/>
                <operator name="OperatorSelector" class="OperatorSelector" expanded="yes">
                    <parameter key="select_which" value="3"/>
                    <operator name="DecisionTree" class="DecisionTree">
                    </operator>
                    <operator name="NaiveBayes" class="NaiveBayes">
                    </operator>
                    <operator name="LinearRegression" class="LinearRegression">
                    </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 name="ProcessLog" class="ProcessLog">
                <list key="log">
                  <parameter key="which" value="operator.ParameterIteration.value.iteration"/>
                  <parameter key="performance" value="operator.XValidation.value.performance"/>
                </list>
            </operator>
        </operator>
    </operator>
    Please note that you will have to adapt the parameter list of the ParameterIteration operator if you want to use more or less than three inner operators.

    Cheers,
    Ingo
Sign In or Register to comment.