Find more posts tagged with
Sort by:
1 - 6 of
61
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.
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.
Thank you for the detailed answer @varunm1!
The "tree to rules" operator doesn't support numerical variables and it is a regression task that I have at hand with numerous numerical attributes. How should I proceed in your opinion?
The "tree to rules" operator doesn't support numerical variables and it is a regression task that I have at hand with numerous numerical attributes. How should I proceed in your opinion?
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.
<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>

<?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>

Sort by:
1 - 3 of
31
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.
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.
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.
<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>

<?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>

Have you tried the "Explain Predictions" operator and for trees we can extract the rules/path of the prediction
Best,
YY