I am running the PROC Discrim function to do the classification, however I am getting the below error while testing the results.
Does anyone know what does this mean? I had doublecheckd and ensured that there are more than two classes available in the dependant variable.
ERROR: At least 2 complete classes are required in DATA= data set or
BY group.
Here are the steps I am following.
Step 1
~~~~~
Proc discrim data = test_data outstat=test_result METHOD=NORMAL POOL = no CROSSVALIDATE;
class trend;
var var1 var2 var3 var4 ; PRIORS PROPORTIONAL; RUN;
Step 2 - Here I need to test me previous results in data set
~~~~~~
Proc discrim data = test_result TESTDATA=universe_data TESTOUT = UNIVPRED;
class trend;
var var1 var2 var3 var4 ; PRIORS PROPORTIONAL; RUN;
Error : At least 2 complete classes are required in DATA= data set or
BY group.
I tested keeping the trend blank and keping some dummy names used in the test data, but same error message.
Seems like your TESTDATA= dataset must contain observations from at least two of your classes. I don't know why.
proc discrim data=sashelp.iris outstat=irisstat
method=normal pool=no;
class Species;
var SepalLength SepalWidth PetalLength PetalWidth;
priors proportional;
run;
proc discrim data=irisstat testdata=sashelp.iris testout=testout;
where species = "Setosa";
class species;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.