Help using Base SAS procedures

How to perform Logistic Regression with Lasso using Proc GLMSELECT?

Reply
New Contributor
Posts: 4

How to perform Logistic Regression with Lasso using Proc GLMSELECT?

I am trying to perform logistic regression with Lasso. For the logistic regression part I am using PROC LOGISTIC but I am not sure how to do Lasso with it. I searched online an and found that PROC GLMSELECT allows us to do lasso. But I am not sure how to do a Lasso on Logistic Regression.
SAS Employee
Posts: 6

Re: How to perform Logistic Regression with Lasso using Proc GLMSELECT?

PROC GLMSELECT cannot perform logistic regression with LASSO.  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 = rannor(&seed);
          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(choose=validate include=1 sh=3);
   partition fraction(validate=0.2);
run;

Ask a Question
Discussion stats
  • 1 reply
  • 717 views
  • 0 likes
  • 2 in conversation