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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.