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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.