Can the predicted function (equation) created by the regression learner toolbox be output?

I have created a trained model GPR (RegressionGP,matern52) and have tested it using the predictFcn. Is there any way I can look at the final equation and associated parameters so that it can be incorporated into c++ code? Or do I have to find a similar c++ library or python machine learning library and try to duplicate my results (using a similar Gaussian Process Model)?

2 Comments

Hey @Scott,
Were you able to get the equation from the trained model?
No. As Carl states below, I was able to get the final Hyperparameters, but not the equation(s). To incorporate into C++ code I duplicated the analysis in Python using scikit-learn using the aforementioned Hyperparameters and similar GPR model. It is very easy deploy and integrate Python machine learning models using "pickle" file and "SimpleXMLRPCServer" function. The matlab "coder" is another expensive Matlab add on that looked difficult to deploy with C++ code. My solution took a day or so. Scott.

Sign in to comment.

Answers (1)

You can extract the final parameters and equation from the GPR model's properties. See the following page:
You can obtain the values of beta, sigma, the hyperparameters, and other properties. Let me know if this doesn't provide what you are specifically looking for.

4 Comments

Hi, Thank you for responding to my question. I can see some of the hyperparameters in the struct "RegressionGP.KernelInformation.KernelParameters." I still cannot find the actual formula that uses these parameters for calculating new predictions.
Thanks for the follow up. In this case, my recommendation would be to upgrade to MATLAB R2017b and use MATLAB Coder. The predict method of RegressionGP will be fully supported for code generation with MATLAB Coder in R2017b. This will let you directly generate C++ code, without having to manually rewrite the function.
R2017b has not yet been released, but follow the link here for instructions on getting the R2017b prerelease: https://www.mathworks.com/matlabcentral/answers/101155-how-do-i-obtain-a-prerelease-for-a-new-matlab-version
Please keep in mind that the prerelease versions of MATLAB are only available to users with valid SMS (software maintenance service).
After I use regression learner and export the model to the workspace, I can use it to train my new data in matlab. But when I try to use matlab coder to develop c++ code, it fail. Really need a video to show me how to do it.
I want to use matlab coder to let my machine learning model in workspace to a function with c++ code.

Sign in to comment.

Asked:

on 21 Jul 2017

Commented:

on 21 Dec 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!