GAUSS Logistic Regression Example

This example runs a logistic regression using the GAUSS DC application. The examples uses the diabetes dataset which contains 442 observations of ten feature variables including age, sex, body mass index, average blood pressure, and six blood serum measurements and one response variable, a quantitative measure of diabetes progression one year after baseline.

Load the data

This example loads the data directly from in the saved matrix, diabetes.fmt , stored in the examples directory.

new;
cls;
library dc;

/*
** Load Data
*/

mat_file = __FILE_DIR $+ "diabetes.fmt";
diabetes = loadd(mat_file);

y = diabetes[., 9];
x = diabetes[., 1:8];

The lrControl Structure

All parameters for the logisticRegress procedure are stored in the lrControl structure. An instance of the lrControl structure must be declared for storing all parameters prior to running the logisticRegress procedure. Once an instance is declared, the hyperparameters of the logistic regress model are controlled by changing the members within the structure:

// Declare and initialize lrControl structure
struct lrControl lctl;
lctl = lrGetDefaults();

// Set solver to the L2R_L2LOSS_SVC_DUAL
lctl.solverType = 3;

// Set cross validation to zero folds
lctl.crossValidation = 0;

// Turn on prediction
lctl.predict = 1;

// Turn on prediction plot
lctl.plotPredict = 1;

Estimate the Model

The logistic regression can be estimated using the logisticRegress procedure. This procedure takes a lrControl structure as an input, a dependent variable matrix, y, and in independent data matrix, x, as inputs. It returns all output to a lrOut structure.

// Call logistic regression function
struct lrOut lOut;
lOut = logisticRegress(lctl, y, x);

Output

The procedure produces the following plots: logistic regression output

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.