Intel® oneAPI Data Analytics Library
Learn from community members on how to build compute-intensive applications that run efficiently on Intel® architecture.

Linear regression; predict with coefficients

Farzaneh_T_
Beginner
663 Views

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
1 Solution
VictoriyaS_F_Intel
663 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
VictoriyaS_F_Intel
664 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

0 Kudos
Farzaneh_T_
Beginner
663 Views

Hi Victoriya,

Thanks for your complete response!

Best,

Farzaneh

0 Kudos
Reply