Algorithms that learn from labeled data a regression function.

The following regression learning algorithm are divided into:

**Kernel Methods**: methods operating in the Reproducing Kernel Hilbert Space**Linear Methods**: methods operating in the explicit primal space

**Kernel Methods**

### EpsilonSvmRegression

**Java class**: EpsilonSvmRegression

**Source code**: EpsilonSvmRegression.java

**Maven Project**: kelp-core

**JSON type**: epsilonSvmRegression

**Description**: It implements the ε-Support Vector Regression learning algorithm. It is a learning algorithm for linear regression based on Support Vector Machines [Vapnik(1998)]. It relies on kernel functions. It is a Java porting of the library LIBSVM v3.17, written in C++ [Chang and Lin(2011)].

**Parameters:**

*kernel: The kernel function**pReg*: The regularization parameter for positive examples*c*: The regularization parameter

### KernelizedPassiveAggressiveRegression

**Java class**: KernelizedPassiveAggressiveRegression

**Source code**: KernelizedPassiveAggressiveRegression.java

**Maven Project**: kelp-additional-algorithms

**JSON type**: kernelizedPA-R

**Description**: Online Passive-Aggressive Learning Algorithm for regression tasks (kernel-based version, proposed in [Crammer et al.(2006)]).

**Parameters**:

*kernel*: The kernel function*policy*: The updating policy applied by the Passive Aggressive Algorithm when a miss-prediction occurs*c*: The aggressiveness parameter*eps*: The accepted distance between the predicted and the real regression values

# **Linear Methods**

### LibLinearRegression

**Java class**: LibLinearRegression

**Source code**: LibLinearRegression.java

**Maven Project**: kelp-additional-algorithms

**JSON type**: liblinearregression

**Description**: This class implements linear SVM regression trained using a coordinate descent algorithm [Fan et al.(2008)]. It operates in an explicit feature space (i.e., it does not rely on any kernel). This code has been adapted from the Java port of the original LIBLINEAR C++ sources.

**Parameters**:

*p*: The ε in the loss function of SVR (default 0.1)*c*: The regularization parameter*representation*: The identifier of the representation to be considered for the training step

### LinearPassiveAggressiveRegression

**Java class**: LinearPassiveAggressiveRegression

**Source code**: LinearPassiveAggressiveRegression.java

**Maven Project**: kelp-additional-algorithms

**JSON type**: linearPA-R

**Description**: Online Passive-Aggressive Learning Algorithm for regression tasks (linear version, proposed in [Crammer et al.(2006)]).

**Parameters**:

*policy*: The updating policy applied by the Passive Aggressive Algorithm when a miss-prediction occurs*c*: The aggressiveness parameter*eps*: The accepted distance between the predicted and the real regression values*representation*: The identifier of the representation to be considered for the training step

### References

Koby Crammer, Ofer Dekel, Joseph Keshet, Shai Shalev-Shwartz, and Yoram Singer. *On-line passive-aggressive algorithms*. Journal of Machine Learning Research, 7:551–585, December 2006. ISSN 1532-4435.

Hsieh, C.–J., Chang, K.–W., Lin, C.–J., Keerthi, S. S. and Sundararajan, S. (2008). *A Dual Coordinate Descent Method for Large–scale Linear SVM.* Proceedings of the 25th international conference on Machine learning – ICML ’08 (pp. 408–415). New York, New York, USA: ACM Press.

R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang, and **C.-J. Lin**. LIBLINEAR: A library for large linear classification *Journal of Machine Learning Research* 9(2008), 1871-1874.