<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Minimum difference across terminal nodes in SAS Data Science</title>
    <link>https://communities.sas.com/t5/SAS-Data-Science/Minimum-difference-across-terminal-nodes/m-p/399524#M6082</link>
    <description>&lt;P&gt;No:&amp;nbsp; The procedure that underlies the&amp;nbsp; EM decision tree node does not have&amp;nbsp;an option to prune close siblings. One would have to resort to advanced SAS data step programming, outputing the nodes statistics, searching for leaves that are too close, and pruning their parents. Some key elements might be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC ARBOR INMODEL = savedTreeDataTable;&lt;/P&gt;
&lt;P&gt;SAVE STATSBYNODE= statsDataTable&amp;nbsp; TOPOLOGY=topologyDataTable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Write data step code to use the topologyDataTable to add a ParentNode variable in the statsDataTable, search the statsDataTable for siblings that are too close, and outputting a macro variable containing a list of the ParentNodes of the close siblings.&amp;nbsp; Then:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC ARBOR INMODEL=savedTreeDataTable;&lt;/P&gt;
&lt;P&gt;PRUNE &amp;amp;listOfNodes;&lt;/P&gt;
&lt;P&gt;SAVE model=prunedTreeDataTable;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the simplist way I can think of doing it.&lt;/P&gt;
&lt;P&gt;-Padraic&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 28 Sep 2017 15:19:47 GMT</pubDate>
    <dc:creator>PadraicGNeville</dc:creator>
    <dc:date>2017-09-28T15:19:47Z</dc:date>
    <item>
      <title>Minimum difference across terminal nodes</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Minimum-difference-across-terminal-nodes/m-p/398824#M6073</link>
      <description>&lt;P&gt;I am using SAS EM to grow a Decision Tree. I was asked by a reviewer if a "minimum difference" could be set at the terminal nodes. That is, could a threshold be set such that a parent node will not split unless the difference in the % event reaches a critical threshold value across nodes?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example: Prune back to the parent node, any terminal nodes where the % difference is less than 5%.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The question was raised in the context of "clinically-meaningful" differences across terminal nodes vs. "statistically-meaningful" differences.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is this minimal difference something I could manually set in SAS-EM?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;Josh&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 15:04:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Minimum-difference-across-terminal-nodes/m-p/398824#M6073</guid>
      <dc:creator>JTho</dc:creator>
      <dc:date>2017-09-26T15:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: Minimum difference across terminal nodes</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Minimum-difference-across-terminal-nodes/m-p/399524#M6082</link>
      <description>&lt;P&gt;No:&amp;nbsp; The procedure that underlies the&amp;nbsp; EM decision tree node does not have&amp;nbsp;an option to prune close siblings. One would have to resort to advanced SAS data step programming, outputing the nodes statistics, searching for leaves that are too close, and pruning their parents. Some key elements might be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC ARBOR INMODEL = savedTreeDataTable;&lt;/P&gt;
&lt;P&gt;SAVE STATSBYNODE= statsDataTable&amp;nbsp; TOPOLOGY=topologyDataTable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Write data step code to use the topologyDataTable to add a ParentNode variable in the statsDataTable, search the statsDataTable for siblings that are too close, and outputting a macro variable containing a list of the ParentNodes of the close siblings.&amp;nbsp; Then:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC ARBOR INMODEL=savedTreeDataTable;&lt;/P&gt;
&lt;P&gt;PRUNE &amp;amp;listOfNodes;&lt;/P&gt;
&lt;P&gt;SAVE model=prunedTreeDataTable;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the simplist way I can think of doing it.&lt;/P&gt;
&lt;P&gt;-Padraic&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2017 15:19:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Minimum-difference-across-terminal-nodes/m-p/399524#M6082</guid>
      <dc:creator>PadraicGNeville</dc:creator>
      <dc:date>2017-09-28T15:19:47Z</dc:date>
    </item>
  </channel>
</rss>

