Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
9 Views

Linear regression; predict with coefficients

Jump to solution

Hi there,

I wonder whether we can predict using DAAL prediction algorithm, only with regression coefficients from a training performed before. Basically how can I use only the prediction algorithm individually?

Thanks,

Farzaneh 

0 Kudos

Accepted Solutions
Highlighted
9 Views

Hello Farzaneh,

Intel(R) DAAL provides the ability to use linear regression prediction algorithm with the pre-computed coefficients. To implement this scenario you have to create linear regression model object using this constructor:

    /* Create linear regression model object using the default parameters */
    Parameter defaultParameter;
    services::SharedPtr<ModelNormEq> model(new ModelNormEq(nFeatures, nDependentVariables, defaultParameter, 0.0));

and set the pre-computed coefficients into this model. Please use getBeta() method to access the coefficients of the model:

    /* Get the numeric table with coefficients from the model */
    NumericTablePtr betaTable = model->getBeta();

The coefficients are stored as a numeric table of size nDependentVariables x (nFeatures + 1). Here nDependentVariables is the number of dependent variables (or responses) you want to predict; nFeatures is the number of features in the data set. The first value in the row of coefficients is an intercept coefficient, the second value in each row is the coefficient that corresponds to the first feature in the data set, ..., the last value in the row - corresponds to the last feature in the data set.

For your convenience I attach an example that shows how to use linear regression prediction algorithm with the pre-trained coefficients.

Best regards,

Victoriya

View solution in original post

0 Kudos
2 Replies
Highlighted
10 Views

Hello Farzaneh,

Intel(R) DAAL provides the ability to use linear regression prediction algorithm with the pre-computed coefficients. To implement this scenario you have to create linear regression model object using this constructor:

    /* Create linear regression model object using the default parameters */
    Parameter defaultParameter;
    services::SharedPtr<ModelNormEq> model(new ModelNormEq(nFeatures, nDependentVariables, defaultParameter, 0.0));

and set the pre-computed coefficients into this model. Please use getBeta() method to access the coefficients of the model:

    /* Get the numeric table with coefficients from the model */
    NumericTablePtr betaTable = model->getBeta();

The coefficients are stored as a numeric table of size nDependentVariables x (nFeatures + 1). Here nDependentVariables is the number of dependent variables (or responses) you want to predict; nFeatures is the number of features in the data set. The first value in the row of coefficients is an intercept coefficient, the second value in each row is the coefficient that corresponds to the first feature in the data set, ..., the last value in the row - corresponds to the last feature in the data set.

For your convenience I attach an example that shows how to use linear regression prediction algorithm with the pre-trained coefficients.

Best regards,

Victoriya

View solution in original post

0 Kudos
Highlighted
Beginner
9 Views

Hi Victoriya,

Thanks for your complete response!

Best,

Farzaneh

0 Kudos