The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here

How to average two predictions?

torstentorsten Member Posts: 4 Contributor I
edited November 2018 in Help
I would like to combine two predictions of two different regression techniques, for example a SimpleLinearRegression and a SupportVectorRegression. The actual prediction on which the regression performance shall then be computed, should simply be the average of these two single predictions. I'm sure that there is an appropriate operator in Rapidminer, but I could not find it yet...

Thank you for your help :)

Answers

  • haddockhaddock Member Posts: 849 Maven
    God aften og velkommen!

    You've probably looked at stacking, ensembles, etc., but if all else fails you could try this....
    <operator name="Root" class="Process" expanded="yes">
        <description text="This learner creates a linear regression model and an SVM model allowing average numerical predictions for the loaded data set."/>
        <operator name="ExampleSetGenerator" class="ExampleSetGenerator">
            <parameter key="target_function" value="random"/>
        </operator>
        <operator name="LinearRegression" class="LinearRegression">
            <parameter key="keep_example_set" value="true"/>
        </operator>
        <operator name="IOStorer" class="IOStorer">
            <parameter key="name" value="model1"/>
            <parameter key="io_object" value="Model"/>
        </operator>
        <operator name="LibSVMLearner" class="LibSVMLearner">
            <parameter key="keep_example_set" value="true"/>
            <parameter key="svm_type" value="nu-SVR"/>
            <list key="class_weights">
            </list>
        </operator>
        <operator name="ModelApplier" class="ModelApplier">
            <list key="application_parameters">
            </list>
        </operator>
        <operator name="ChangeAttributeNamesReplace" class="ChangeAttributeNamesReplace">
            <parameter key="replace_what" value="\(|\)"/>
        </operator>
        <operator name="ChangeAttributeRole" class="ChangeAttributeRole">
            <parameter key="name" value="predictionlabel"/>
        </operator>
        <operator name="IORetriever" class="IORetriever">
            <parameter key="name" value="model1"/>
            <parameter key="io_object" value="Model"/>
        </operator>
        <operator name="ModelApplier (2)" class="ModelApplier">
            <list key="application_parameters">
            </list>
        </operator>
        <operator name="ChangeAttributeNamesReplace (2)" class="ChangeAttributeNamesReplace">
            <parameter key="replace_what" value="\(|\)"/>
            <parameter key="replace_by" value="_"/>
        </operator>
        <operator name="ChangeAttributeRole (2)" class="ChangeAttributeRole">
            <parameter key="name" value="prediction_label_"/>
        </operator>
        <operator name="AttributeAggregation" class="AttributeAggregation">
            <parameter key="attribute_name" value="nu"/>
            <parameter key="aggregation_attributes" value="pred.*"/>
            <parameter key="aggregation_function" value="average"/>
        </operator>
        <operator name="FeatureNameFilter" class="FeatureNameFilter">
            <parameter key="skip_features_with_name" value="pred.*"/>
        </operator>
        <operator name="ChangeAttributeRole (3)" class="ChangeAttributeRole">
            <parameter key="name" value="nu"/>
            <parameter key="target_role" value="prediction"/>
        </operator>
    </operator>
  • torstentorsten Member Posts: 4 Contributor I
    Thank you haddock, that was exactly the process I needed, it helped me a lot!
Sign In or Register to comment.