How to transform the normalized value to its original value.

nagai
nagai New Altair Community Member
edited November 2024 in Community Q&A
Hello everyone

I used TurboPrep and AutoModel to normalize the training data of Kaggle Future Sales and created a prediction model.

I will do the following two tasks.
1. Get the prediction value from normalized test data by using this prediction model.
2. Transform the predicted value to its original value.

Please tell me how to create a process to perform these two tasks.

By the way, I am using ramidminer studio 9.2.001.

Regards,

nagai
Tagged:

Best Answers

  • David_A
    David_A New Altair Community Member
    Answer ✓
    Hi,

    you need the "preprocessing model" of the normalization operator that you applied on your data, then you can use the "De-Normalize" Operator, to create a new model that transforms your data back to its original value.

    See the attached demo process for an example.

    Best,
    David



    <?xml version="1.0" encoding="UTF-8"?><process version="9.2.001"><br> <context><br> <input/><br> <output/><br> <macros/><br> </context><br> <operator activated="true" class="process" compatibility="9.2.001" expanded="true" name="Process"><br> <parameter key="logverbosity" value="init"/><br> <parameter key="random_seed" value="2001"/><br> <parameter key="send_mail" value="never"/><br> <parameter key="notification_email" value=""/><br> <parameter key="process_duration_for_mail" value="30"/><br> <parameter key="encoding" value="SYSTEM"/><br> <process expanded="true"><br> <operator activated="true" class="retrieve" compatibility="9.2.001" expanded="true" height="68" name="Retrieve Iris" width="90" x="45" y="187"><br> <parameter key="repository_entry" value="//Samples/data/Iris"/><br> </operator><br> <operator activated="true" class="normalize" compatibility="9.2.001" expanded="true" height="103" name="Normalize" width="90" x="246" y="187"><br> <parameter key="return_preprocessing_model" value="false"/><br> <parameter key="create_view" value="false"/><br> <parameter key="attribute_filter_type" value="all"/><br> <parameter key="attribute" value=""/><br> <parameter key="attributes" value=""/><br> <parameter key="use_except_expression" value="false"/><br> <parameter key="value_type" value="numeric"/><br> <parameter key="use_value_type_exception" value="false"/><br> <parameter key="except_value_type" value="real"/><br> <parameter key="block_type" value="value_series"/><br> <parameter key="use_block_type_exception" value="false"/><br> <parameter key="except_block_type" value="value_series_end"/><br> <parameter key="invert_selection" value="false"/><br> <parameter key="include_special_attributes" value="false"/><br> <parameter key="method" value="range transformation"/><br> <parameter key="min" value="0.0"/><br> <parameter key="max" value="1.0"/><br> <parameter key="allow_negative_values" value="false"/><br> </operator><br> <operator activated="true" class="denormalize" compatibility="9.2.001" expanded="true" height="82" name="De-Normalize" width="90" x="447" y="289"><br> <parameter key="missing_attribute_handling" value="proceed on missing"/><br> </operator><br> <operator activated="true" class="apply_model" compatibility="9.2.001" expanded="true" height="82" name="Apply Model" width="90" x="648" y="187"><br> <list key="application_parameters"/><br> <parameter key="create_view" value="false"/><br> </operator><br> <connect from_op="Retrieve Iris" from_port="output" to_op="Normalize" to_port="example set input"/><br> <connect from_op="Normalize" from_port="example set output" to_op="Apply Model" to_port="unlabelled data"/><br> <connect from_op="Normalize" from_port="preprocessing model" to_op="De-Normalize" to_port="model input"/><br> <connect from_op="De-Normalize" from_port="model output" to_op="Apply Model" to_port="model"/><br> <connect from_op="Apply Model" from_port="labelled data" to_port="result 1"/><br> <portSpacing port="source_input 1" spacing="0"/><br> <portSpacing port="sink_result 1" spacing="0"/><br> <portSpacing port="sink_result 2" spacing="0"/><br> </process><br> </operator><br></process><br><br>


  • Telcontar120
    Telcontar120 New Altair Community Member
    Answer ✓
    Note that you can use Store on the preprocessing model as well and Retrieve it later when you need it, and then use Denormalize as needed.  
    Alternatively you can always Generate Copy attributes before you normalize and then keep both normalized and non-normalized versions in the same dataset.

Answers

  • David_A
    David_A New Altair Community Member
    Answer ✓
    Hi,

    you need the "preprocessing model" of the normalization operator that you applied on your data, then you can use the "De-Normalize" Operator, to create a new model that transforms your data back to its original value.

    See the attached demo process for an example.

    Best,
    David



    <?xml version="1.0" encoding="UTF-8"?><process version="9.2.001"><br> <context><br> <input/><br> <output/><br> <macros/><br> </context><br> <operator activated="true" class="process" compatibility="9.2.001" expanded="true" name="Process"><br> <parameter key="logverbosity" value="init"/><br> <parameter key="random_seed" value="2001"/><br> <parameter key="send_mail" value="never"/><br> <parameter key="notification_email" value=""/><br> <parameter key="process_duration_for_mail" value="30"/><br> <parameter key="encoding" value="SYSTEM"/><br> <process expanded="true"><br> <operator activated="true" class="retrieve" compatibility="9.2.001" expanded="true" height="68" name="Retrieve Iris" width="90" x="45" y="187"><br> <parameter key="repository_entry" value="//Samples/data/Iris"/><br> </operator><br> <operator activated="true" class="normalize" compatibility="9.2.001" expanded="true" height="103" name="Normalize" width="90" x="246" y="187"><br> <parameter key="return_preprocessing_model" value="false"/><br> <parameter key="create_view" value="false"/><br> <parameter key="attribute_filter_type" value="all"/><br> <parameter key="attribute" value=""/><br> <parameter key="attributes" value=""/><br> <parameter key="use_except_expression" value="false"/><br> <parameter key="value_type" value="numeric"/><br> <parameter key="use_value_type_exception" value="false"/><br> <parameter key="except_value_type" value="real"/><br> <parameter key="block_type" value="value_series"/><br> <parameter key="use_block_type_exception" value="false"/><br> <parameter key="except_block_type" value="value_series_end"/><br> <parameter key="invert_selection" value="false"/><br> <parameter key="include_special_attributes" value="false"/><br> <parameter key="method" value="range transformation"/><br> <parameter key="min" value="0.0"/><br> <parameter key="max" value="1.0"/><br> <parameter key="allow_negative_values" value="false"/><br> </operator><br> <operator activated="true" class="denormalize" compatibility="9.2.001" expanded="true" height="82" name="De-Normalize" width="90" x="447" y="289"><br> <parameter key="missing_attribute_handling" value="proceed on missing"/><br> </operator><br> <operator activated="true" class="apply_model" compatibility="9.2.001" expanded="true" height="82" name="Apply Model" width="90" x="648" y="187"><br> <list key="application_parameters"/><br> <parameter key="create_view" value="false"/><br> </operator><br> <connect from_op="Retrieve Iris" from_port="output" to_op="Normalize" to_port="example set input"/><br> <connect from_op="Normalize" from_port="example set output" to_op="Apply Model" to_port="unlabelled data"/><br> <connect from_op="Normalize" from_port="preprocessing model" to_op="De-Normalize" to_port="model input"/><br> <connect from_op="De-Normalize" from_port="model output" to_op="Apply Model" to_port="model"/><br> <connect from_op="Apply Model" from_port="labelled data" to_port="result 1"/><br> <portSpacing port="source_input 1" spacing="0"/><br> <portSpacing port="sink_result 1" spacing="0"/><br> <portSpacing port="sink_result 2" spacing="0"/><br> </process><br> </operator><br></process><br><br>


  • Telcontar120
    Telcontar120 New Altair Community Member
    Answer ✓
    Note that you can use Store on the preprocessing model as well and Retrieve it later when you need it, and then use Denormalize as needed.  
    Alternatively you can always Generate Copy attributes before you normalize and then keep both normalized and non-normalized versions in the same dataset.
  • nagai
    nagai New Altair Community Member
    Hi

    The answers were very helpful.

    I will try based on the answer.

    Thanks so much. Nagai