How to convert predicted value back to its original value after normalisation?

dassdass Member Posts: 12 Contributor I
edited November 2018 in Help

Hi everyone, i'm having trouble to transform the predicted data to its original value after normalisation. Is there any method of doing so?thank you very much.

Answers

  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist

    Hi,

     

    sure. You can use a De-Normalize Operator to convert the preprocessing normalization model into a de-normalization model. This can be applied using Apply Model.

     

    Have a nice Sunday,

    Martin

    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • dassdass Member Posts: 12 Contributor I

    Hi @mschmitz, thank you very much for the reply. i have tried the method you suggessted, but the conversion seems like only applicable to the original dataset not for the predicted value. i have included the code here, i'm not sure if i have made some mistakes here. thank you very much.

    <?xml version="1.0" encoding="UTF-8"?><process version="8.1.001">
    <context>
    <input/>
    <output/>
    <macros/>
    </context>
    <operator activated="true" class="process" compatibility="8.1.001" expanded="true" name="Process">
    <process expanded="true">
    <operator activated="true" class="generate_data" compatibility="8.1.001" expanded="true" height="68" name="Generate Data" width="90" x="45" y="85"/>
    <operator activated="true" class="split_data" compatibility="8.1.001" expanded="true" height="103" name="Split Data" width="90" x="112" y="187">
    <enumeration key="partitions">
    <parameter key="ratio" value="0.8"/>
    <parameter key="ratio" value="0.2"/>
    </enumeration>
    <parameter key="sampling_type" value="linear sampling"/>
    </operator>
    <operator activated="true" class="normalize" compatibility="8.1.001" expanded="true" height="103" name="Normalize" width="90" x="179" y="34">
    <parameter key="include_special_attributes" value="true"/>
    </operator>
    <operator activated="true" class="support_vector_machine" compatibility="8.1.001" expanded="true" height="124" name="SVM" width="90" x="380" y="34"/>
    <operator activated="true" class="multiply" compatibility="8.1.001" expanded="true" height="103" name="Multiply" width="90" x="246" y="136"/>
    <operator activated="true" class="denormalize" compatibility="8.1.001" expanded="true" height="82" name="De-Normalize" width="90" x="581" y="187"/>
    <operator activated="true" class="apply_model" compatibility="8.1.001" expanded="true" height="82" name="Apply Model (3)" width="90" x="380" y="238">
    <list key="application_parameters"/>
    </operator>
    <operator activated="true" class="apply_model" compatibility="8.1.001" expanded="true" height="82" name="Apply Model" width="90" x="581" y="85">
    <list key="application_parameters"/>
    </operator>
    <operator activated="true" class="apply_model" compatibility="8.1.001" expanded="true" height="82" name="Apply Model (2)" width="90" x="782" y="136">
    <list key="application_parameters"/>
    </operator>
    <connect from_op="Generate Data" from_port="output" to_op="Split Data" to_port="example set"/>
    <connect from_op="Split Data" from_port="partition 1" to_op="Normalize" to_port="example set input"/>
    <connect from_op="Split Data" from_port="partition 2" to_op="Apply Model (3)" to_port="unlabelled data"/>
    <connect from_op="Normalize" from_port="example set output" to_op="SVM" to_port="training set"/>
    <connect from_op="Normalize" from_port="preprocessing model" to_op="Multiply" to_port="input"/>
    <connect from_op="SVM" from_port="model" to_op="Apply Model" to_port="model"/>
    <connect from_op="Multiply" from_port="output 1" to_op="Apply Model (3)" to_port="model"/>
    <connect from_op="Multiply" from_port="output 2" to_op="De-Normalize" to_port="model input"/>
    <connect from_op="De-Normalize" from_port="model output" to_op="Apply Model (2)" to_port="model"/>
    <connect from_op="Apply Model (3)" from_port="labelled data" to_op="Apply Model" to_port="unlabelled data"/>
    <connect from_op="Apply Model" from_port="labelled data" to_op="Apply Model (2)" to_port="unlabelled data"/>
    <connect from_op="Apply Model (2)" from_port="labelled data" to_port="result 1"/>
    <portSpacing port="source_input 1" spacing="0"/>
    <portSpacing port="sink_result 1" spacing="0"/>
    <portSpacing port="sink_result 2" spacing="0"/>
    </process>
    </operator>
    </process>
Sign In or Register to comment.