You may try PROC QUANTSELECT to perform Support Vector Machine (SVM) classification with LASSO penalty. An example is as follows:
/* Start: data simulation */
%let seed=111;
Data raw;
array x[10];
do i=1 to 1000;
x0=1; /* regressor for estimating bias parameter */
do j=1 to 10;
x
end;
y = 2*((3*x1+2*x2+x3+1+0.1*rannor(&seed))>0)-1; /*So the true model is proportional to (bias=1, x1=3, x2=2, x1=1).*/
output;
end;
run;
/* End: data simulation */
/* TransformSVM2QR macro pre-processes raw data for using QUANTSELECT.*/
%macro TransformSVM2QR(raw);
data transferred_&raw;
set &raw;
%do j=1 %to 10;
x&j = y*x&j;
%end;
bias=y;
y=1;
run;
%mend TransformSVM2QR;
%TransformSVM2QR(raw);
ods graphics on;
proc quantselect data=transferred_raw plot=all;
model y= bias x1-x10/quantile=1 noint selection=lasso(select=aic include=1 sh=3);
partition fraction(validate=0.2);
run;
If you have sas 9.4 (released this summer), you can run the new HPGENSELECT for model selection with exponential-family distributions.Thus, you can do logistic regression. The proc is designed for Big Data problems, but runs on any data set. It does not have the full functionality of GLMSELECT, but it may be fine for your needs. I have not tried it yet (I still can't use 9.4)
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.
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.