Epsilon-Support Vector regression.
Syntax
parameters = svrfit(X,y)
parameters = svrfit(X,y,options)
Inputs
- X
- Training data.
- Type: double
- Dimension: vector | matrix
- y
- Target values.
- Type: double
- Dimension: vector | matrix
- options
- Type: struct
-
- kernel
- Kernel type to be used in the algorithm. Allowed values are 'linear' (default), 'poly', 'rbf', 'sigmoid'.
- Type: char
- Dimension: string
- degree
- Degree of the polynomial kernel function ('poly') (default: 3). This parameter is ignored by other kernels.
- Type: integer
- Dimension: scalar
- gamma
- Kernel coefficient for 'rbf', 'poly' and 'sigmoid' kernel. Allowed values are any float. If gamma is not assigned, then 1 / (n_features * variance(X)) is taken as gamma.
- Type: char
- Dimension: string
- coef0
- Independent term in kernel function (default: 0). It is only significant in 'poly' and 'sigmoid'.
- Type: double
- Dimension: scalar
- tol
- Tolerance of stopping criterion (default: 1e-3).
- Type: double
- Dimension: scalar
- C
- Penalty parameter C of the error term (default: 1).
- Type: double
- Dimension: scalar
- epsilon
- Epsilon in Epsilon-SVR model (default: 0.1). It specifies the epsilon-tube within which no penalty is associated in the training loss function with points predicted within a distance epsilon from the actual value.
- Type: double
- Dimension: scalar
- shrinking
- Whether to use the shrinking heuristic (default: true).
- Type: Boolean
- Dimension: logical
- cache_size
- Specify the size of kernel cache (in MB).
- Type: double
- Dimension: scalar
- cache_size
- Hard limit on iterations within solver (default: -1, which means no limit).
- Type: integer
- Dimension: scalar
Outputs
- parameters
- Contains all the values passed to svrfit method as options. Additionally it has below key-value pairs.
- Type: struct
-
- scorer
- Function handle pointing to r2 function (R2 Coefficient of Determination).
- Type: function handle
- n_samples
- Number of rows in the training data.
- Type: integer
- Dimension: scalar
- n_features
- Number of columns in the training data.
- Type: integer
- Dimension: scalar
- support
- Indices of support vectors.
- Type: integer
- Dimension: vector
- support_vectors
- Support vectors.
- Type: double
- Dimension: vector | matrix
- dual_coef
- Coefficients of the support vector in the decision function.
- Type: integer
- Dimension: vector
- intercept
- Constants in decision function.
- Type: double
- Dimension: scalar
- coef
- Weights assigned to features (coefficients in primal problem). This is available only if kernel is set to 'linear'. It is derived from dual_coef and support_vectors.
- Type: double
- Dimension: vector
Example
Usage of svrfit with options
X = [1 2 3; 4 5 6; 7 8 9; 10 11 12; 13 14 15; 16 17 18; 19 20 21];
y = [1, 2, 3, 4, 5, 6, 7];
options = struct;
options.kernel = 'poly';
options.degree = 3;
parameters = svrfit(X, y, options)
parameters = struct [
C: 1
coef0: 0
degree: 3
dual_coef: [Matrix] 1 x 7 Row[1] Columns[1:5]
-1.00000 -1.00000 0.18977 1.00000 1.00000
Row[1] Columns[6:7]
0.81023 -1.00000
epsilon: 0.1
gamma: scale
intercept: 2.3423911
kernel: poly
max_iter: -1
model_name: model_16353129739498596
n_features: 3
n_samples: 7
scorer: @r2
shrinking: 1
support: [Matrix] 1 x 7
0 1 2 3 4 5 6
support_vectors: [Matrix] 7 x 3
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
tol: 0.001
]
Comments
Output 'parameters' can be passed to svrpredict function.