cvxreg.models.CSVR¶
cvxreg.models.CSVR(*, c=1.0, epsilon=0.1, shape='convex', monotonic=None, fit_intercept=True, solver='ecos')
Convex Support Vector Regression (CSVR) model.¶
CSVR fit a convex function with coefficients \(\boldsymbol{\xi}_1,\ldots,\boldsymbol{\xi}_n\) from the data. \(\boldsymbol{\xi}_i\) is d-dimensional vector and n is the number of observations. The optimization problem is:
where \(\boldsymbol{x}_i\) is the i-th observation, \(y_i\) is the i-th target value, \(\theta_i\) is the value of \(f(\boldsymbol{x}_i)\), \(\boldsymbol{\xi}_i\) is the coefficient at the i-th observation, and \(c\) is the regularization parameter.
Parameters¶
Parameters |
Options |
|---|---|
|
Float, default: 1.0. c must be non-negative Float, i.e. in \([0, inf)\). The regularization parameter. |
|
Float, default: 0.1. epsilon must be non-negative Float, i.e. in \([0, inf)\).
|
|
Selection: { The shape of the function to be fitted. |
|
Selection: { Whether to constrain the function monotonic. |
|
Boolean, default: True Whether to fit the intercept. |
|
Selection: { The solver to use. There three open-source solvers: To use commercial solvers, you need to install them first, see Install. |
Attributes¶
Attributes |
Type |
|---|---|
|
numpy.ndarray The coefficients of the fitted function. |
|
numpy.ndarray The intercept of the fitted function. |
Examples¶
import numpy as np
from cvxreg.models import CSVR
X = np.array([[1, 1], [1, 2], [2, 2]])
y = [1, 2, 3]
csvr = CSVR()
csvr.fit(X, y)
print(csvr.coef_)
# [[-2.72282908e-09 -9.16695789e-09]
# [-4.73065053e-09 4.99999982e-01]
# [ 9.99992687e-01 4.99999982e-01]]
print(csvr.intercept_)
# [ 1.40000369 0.9000037 -0.09998899]
Methods¶
Methods |
Type |
|---|---|
|
Fit model with solver. X of shape (n_samples, n_features) y of shape (n_samples,) |
|
Predict using the convex regression model. X of shape (n_samples, n_features) |
See examples: Examples.