This bundle provides a Random Fourier Features accelerated version of Gaussian Process Regressor. It allows Data Scientist, researchers or software programmers to apply Gaussian Process Regressor in the parallelized environment of HPCC Systems.
Random Fourier Features(RFF) map the input data to a randomized low-dimensional feature space. Then one can apply fast existing linear methods to such new space and thus accelerate the training of large scale kernel machines[1]. This bundle is the accelerated version of Gaussian Process Regression(GPR) using such random fourier features.
The module GPRI is the main ECL interface. Three functions are available to the users: getSession, fit and predict.
- getSession function generates a 'session ID' for the training and predict process.
- fit function fits the input data and train a GPR model.
- predict funcion uses the trained GPR model to make predictions for the new observations.
For details of each function, see the comments below above each function in GPRI.ecl file. For details of record structure used in these functions, see Types.ecl file. For usage examples of GPR bundle, see the test cases in Test/test.ecl file.
To use GPR bundle, 'session ID' is required to feed to each fit or predict function call. However, if the training and predict process are in the same session/workunit, getSession only needs to be called once, i.e. fit and predict share same 'session ID' in this case.
Python3 must be installed on each node of HPCC Systems. ML_Core bundle from HPCC Systems Machine Learning Library should be installed as well. To install GPR bundle, run following command via HPCC Systems client tool:
ecl bundle install https://github.com/hpcc-systems/GaussianProcessRegression.git
Test examples are included in the Test folder. Under Test folder, test.ecl file shows the process to define session ID, fit a GPR model and make predictions. The testing data is generated by M_dataGen.ecl file which generates random test data by user defined size.
HPCC Systems Machine Learning Library
Using HPCC Systems Machine Learning Library
This bundle is built upon the orignal python implementaton of GPR module from below source: https://github.com/gwgundersen/random-fourier-features
[1] Ali Rahimi and Benjamin Recht. 2007. Random features for large-scale kernel machines. In Proceedings of the 20th International Conference on Neural Information Processing Systems (NIPS'07). Curran Associates Inc., Red Hook, NY, USA, 1177โ1184.