I split my data into 70% training 20% validation and 10% test sets.
and i run this code :
proc genmod data=valid; class sexe country job; model price = country sexe job / dist=gamma link=log; run;
how can I compute Mean Square Error on validation data set?
Use CODE statement to get VALID table 's predict value.
Once you got predict value , it is easy to get MSE.
proc genmod data=train;
class sex country job;
model price=country sex job/dist=gamma link=log;
code file='c:\mycode.sas';
run;
data Score;
set vallid(rename=(price=old_price)) end=last;
%include 'c:\mycode.sas';
sum+(price-old_price)**2;
if last then mse=sum/_n_;
run;
Use CODE statement to get VALID table 's predict value.
Once you got predict value , it is easy to get MSE.
proc genmod data=train;
class sex country job;
model price=country sex job/dist=gamma link=log;
code file='c:\mycode.sas';
run;
data Score;
set vallid(rename=(price=old_price)) end=last;
%include 'c:\mycode.sas';
sum+(price-old_price)**2;
if last then mse=sum/_n_;
run;
why it's
proc genmod data=train;
and not :
proc genmod data=valid;
I change into "valid" but I got zero as MSE. Is there any function to compute MSE on SAS ?
use TRAIN to get parameter estimator , so you can use it to score VALID data.
Yes.there is function MSE to compute, check documentation and better use IML code to get MSE.
1. Use STORE statement in PROC GENMOD to get model
2. Use PROC PLM with FITSTATISTICS to score dataset and generate stats.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.