Regression Tree Interpretation

islem_h
New Altair Community Member
Hi everyone
After applying a model, I got this regression tree (see screenshot).
It is understandable, however can s.one give me an example of a clear interpretation of it?

Thank you very much!

After applying a model, I got this regression tree (see screenshot).
It is understandable, however can s.one give me an example of a clear interpretation of it?

Thank you very much!
Tagged:
0
Best Answers
-
Hello @islem_h
Generally, a decision tree is formed based on rules. These rules can be extracted by "Tree to rules" operator or other like the one mentioned in an earlier post.
From the image you show, these are nested if-else statements that were formed by a decision tree based on its learning from your data.
If the attribute Acrooms value is greater than 4.3 then the tree check for a value in ELwater then if this is 0 it checks Acrooms again and if the value is greater than 7.5 it gives output 16646.31. Similarly all other outputs are interpreted.5 -
1
-
Did you try Get Decision Tree path (need to install operator toolbox extension) as mentioned by @yyhuang. This gives the tree structure and description as well. It starts from top and branches out. You can see image below.
<?xml version="1.0" encoding="UTF-8"?><process version="9.2.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="9.2.001" expanded="true" name="Process">
<parameter key="logverbosity" value="init"/>
<parameter key="random_seed" value="2001"/>
<parameter key="send_mail" value="never"/>
<parameter key="notification_email" value=""/>
<parameter key="process_duration_for_mail" value="30"/>
<parameter key="encoding" value="SYSTEM"/>
<process expanded="true">
<operator activated="true" class="retrieve" compatibility="9.2.001" expanded="true" height="68" name="Retrieve Polynomial" width="90" x="112" y="34">
<parameter key="repository_entry" value="//Samples/data/Polynomial"/>
</operator>
<operator activated="true" class="concurrency:parallel_decision_tree" compatibility="9.2.001" expanded="true" height="103" name="Decision Tree" width="90" x="246" y="34">
<parameter key="criterion" value="least_square"/>
<parameter key="maximal_depth" value="10"/>
<parameter key="apply_pruning" value="true"/>
<parameter key="confidence" value="0.1"/>
<parameter key="apply_prepruning" value="true"/>
<parameter key="minimal_gain" value="0.01"/>
<parameter key="minimal_leaf_size" value="2"/>
<parameter key="minimal_size_for_split" value="4"/>
<parameter key="number_of_prepruning_alternatives" value="3"/>
</operator>
<operator activated="true" class="operator_toolbox:get_dectree_path" compatibility="1.8.000" expanded="true" height="82" name="Get Decision Tree Path" width="90" x="447" y="136"/>
<connect from_op="Retrieve Polynomial" from_port="output" to_op="Decision Tree" to_port="training set"/>
<connect from_op="Decision Tree" from_port="model" to_op="Get Decision Tree Path" to_port="mod"/>
<connect from_op="Decision Tree" from_port="exampleSet" to_op="Get Decision Tree Path" to_port="exa"/>
<connect from_op="Get Decision Tree Path" from_port="mod" 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>
5
Answers
-
Hello @islem_h
Generally, a decision tree is formed based on rules. These rules can be extracted by "Tree to rules" operator or other like the one mentioned in an earlier post.
From the image you show, these are nested if-else statements that were formed by a decision tree based on its learning from your data.
If the attribute Acrooms value is greater than 4.3 then the tree check for a value in ELwater then if this is 0 it checks Acrooms again and if the value is greater than 7.5 it gives output 16646.31. Similarly all other outputs are interpreted.5 -
1
-
Did you try Get Decision Tree path (need to install operator toolbox extension) as mentioned by @yyhuang. This gives the tree structure and description as well. It starts from top and branches out. You can see image below.
<?xml version="1.0" encoding="UTF-8"?><process version="9.2.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="9.2.001" expanded="true" name="Process">
<parameter key="logverbosity" value="init"/>
<parameter key="random_seed" value="2001"/>
<parameter key="send_mail" value="never"/>
<parameter key="notification_email" value=""/>
<parameter key="process_duration_for_mail" value="30"/>
<parameter key="encoding" value="SYSTEM"/>
<process expanded="true">
<operator activated="true" class="retrieve" compatibility="9.2.001" expanded="true" height="68" name="Retrieve Polynomial" width="90" x="112" y="34">
<parameter key="repository_entry" value="//Samples/data/Polynomial"/>
</operator>
<operator activated="true" class="concurrency:parallel_decision_tree" compatibility="9.2.001" expanded="true" height="103" name="Decision Tree" width="90" x="246" y="34">
<parameter key="criterion" value="least_square"/>
<parameter key="maximal_depth" value="10"/>
<parameter key="apply_pruning" value="true"/>
<parameter key="confidence" value="0.1"/>
<parameter key="apply_prepruning" value="true"/>
<parameter key="minimal_gain" value="0.01"/>
<parameter key="minimal_leaf_size" value="2"/>
<parameter key="minimal_size_for_split" value="4"/>
<parameter key="number_of_prepruning_alternatives" value="3"/>
</operator>
<operator activated="true" class="operator_toolbox:get_dectree_path" compatibility="1.8.000" expanded="true" height="82" name="Get Decision Tree Path" width="90" x="447" y="136"/>
<connect from_op="Retrieve Polynomial" from_port="output" to_op="Decision Tree" to_port="training set"/>
<connect from_op="Decision Tree" from_port="model" to_op="Get Decision Tree Path" to_port="mod"/>
<connect from_op="Decision Tree" from_port="exampleSet" to_op="Get Decision Tree Path" to_port="exa"/>
<connect from_op="Get Decision Tree Path" from_port="mod" 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>
5 -
Thank you very much0