<?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: How to split a data frame into 60% training, 20% validation, and 20% test sets? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342319#M272824</link>
    <description>&lt;PRE&gt;
Or PROC SURVEYSELECT.


%let dsid=%sysfunc(open(sashelp.class));
%let nobs=%sysfunc(attrn(&amp;amp;dsid,nlobs));
%let dsid=%sysfunc(close(&amp;amp;dsid));

%let train=%sysevalf(0.6*&amp;amp;nobs,int);
%let valid=%sysevalf(0.2*&amp;amp;nobs,int);
%let test=%eval(&amp;amp;nobs-&amp;amp;train-&amp;amp;valid);

%put &amp;amp;train &amp;amp;valid &amp;amp;test;

proc surveyselect data=sashelp.class group=(&amp;amp;train &amp;amp;valid &amp;amp;test) out=want;
run;

data train valid test;
 set want;
 select(groupid);
 when(1) output train;
 when(2) output valid;
 when(3) output test;
 otherwise;
 end;
run;

&lt;/PRE&gt;</description>
    <pubDate>Sun, 19 Mar 2017 02:48:36 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2017-03-19T02:48:36Z</dc:date>
    <item>
      <title>How to split a data frame into 60% training, 20% validation, and 20% test sets?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342287#M272820</link>
      <description>&lt;P&gt;I'm using SAS to do machine learning. I would like to randomly split my data into 60% training, 20% validation, and 20% test data sets. How do I do that in SAS?&lt;/P&gt;</description>
      <pubDate>Sat, 18 Mar 2017 22:33:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342287#M272820</guid>
      <dc:creator>John4</dc:creator>
      <dc:date>2017-03-18T22:33:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to split a data frame into 60% training, 20% validation, and 20% test sets?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342294#M272821</link>
      <description>&lt;P&gt;There are many ways. Here is one:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data training validation test;
  set sashelp.class;
  _n_=rand('uniform');
  if _n_ le .6 then output training;
  else if _n_ le .8 then output validation;
  else output test;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Sat, 18 Mar 2017 23:07:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342294#M272821</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-03-18T23:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to split a data frame into 60% training, 20% validation, and 20% test sets?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342295#M272822</link>
      <description>&lt;P&gt;Are you using SAS EM? If so, check the Partition task.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 18 Mar 2017 23:26:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342295#M272822</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-03-18T23:26:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to split a data frame into 60% training, 20% validation, and 20% test sets?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342310#M272823</link>
      <description>&lt;P&gt;No, i'am using SAS only&lt;/P&gt;</description>
      <pubDate>Sun, 19 Mar 2017 01:59:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342310#M272823</guid>
      <dc:creator>John4</dc:creator>
      <dc:date>2017-03-19T01:59:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to split a data frame into 60% training, 20% validation, and 20% test sets?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342319#M272824</link>
      <description>&lt;PRE&gt;
Or PROC SURVEYSELECT.


%let dsid=%sysfunc(open(sashelp.class));
%let nobs=%sysfunc(attrn(&amp;amp;dsid,nlobs));
%let dsid=%sysfunc(close(&amp;amp;dsid));

%let train=%sysevalf(0.6*&amp;amp;nobs,int);
%let valid=%sysevalf(0.2*&amp;amp;nobs,int);
%let test=%eval(&amp;amp;nobs-&amp;amp;train-&amp;amp;valid);

%put &amp;amp;train &amp;amp;valid &amp;amp;test;

proc surveyselect data=sashelp.class group=(&amp;amp;train &amp;amp;valid &amp;amp;test) out=want;
run;

data train valid test;
 set want;
 select(groupid);
 when(1) output train;
 when(2) output valid;
 when(3) output test;
 otherwise;
 end;
run;

&lt;/PRE&gt;</description>
      <pubDate>Sun, 19 Mar 2017 02:48:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-a-data-frame-into-60-training-20-validation-and-20/m-p/342319#M272824</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-03-19T02:48:36Z</dc:date>
    </item>
  </channel>
</rss>

