Nu Support Vector Regression.
Similar to NuSVC, for regression, uses a parameter nu to control the number of support vectors. However, unlike NuSVC, where nu replaces C, here nu replaces the parameter epsilon of epsilon-SVR.
The implementation is based on libsvm.
Read more in the :ref:`User Guide <svm_regression>`.
Parameters ---------- nu : float, default=0.5 An upper bound on the fraction of training errors and a lower bound of the fraction of support vectors. Should be in the interval (0, 1]. By default 0.5 will be taken.
C : float, default=1.0 Penalty parameter C of the error term.
kernel : 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'
, default='rbf' Specifies the kernel type to be used in the algorithm. It must be one of 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed' or a callable. If none is given, 'rbf' will be used. If a callable is given it is used to precompute the kernel matrix.
degree : int, default=3 Degree of the polynomial kernel function ('poly'). Ignored by all other kernels.
gamma : 'scale', 'auto'
or float, default='scale' Kernel coefficient for 'rbf', 'poly' and 'sigmoid'.
- if ``gamma='scale'`` (default) is passed then it uses 1 / (n_features * X.var()) as value of gamma,
- if 'auto', uses 1 / n_features.
.. versionchanged:: 0.22 The default value of ``gamma`` changed from 'auto' to 'scale'.
coef0 : float, default=0.0 Independent term in kernel function. It is only significant in 'poly' and 'sigmoid'.
shrinking : bool, default=True Whether to use the shrinking heuristic. See the :ref:`User Guide <shrinking_svm>`.
tol : float, default=1e-3 Tolerance for stopping criterion.
cache_size : float, default=200 Specify the size of the kernel cache (in MB).
verbose : bool, default=False Enable verbose output. Note that this setting takes advantage of a per-process runtime setting in libsvm that, if enabled, may not work properly in a multithreaded context.
max_iter : int, default=-1 Hard limit on iterations within solver, or -1 for no limit.
Attributes ---------- support_ : ndarray of shape (n_SV,) Indices of support vectors.
support_vectors_ : ndarray of shape (n_SV, n_features) Support vectors.
dual_coef_ : ndarray of shape (1, n_SV) Coefficients of the support vector in the decision function.
coef_ : ndarray of shape (1, n_features) Weights assigned to the features (coefficients in the primal problem). This is only available in the case of a linear kernel.
`coef_` is readonly property derived from `dual_coef_` and `support_vectors_`.
intercept_ : ndarray of shape (1,) Constants in decision function.
Examples -------- >>> from sklearn.svm import NuSVR >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> import numpy as np >>> n_samples, n_features = 10, 5 >>> np.random.seed(0) >>> y = np.random.randn(n_samples) >>> X = np.random.randn(n_samples, n_features) >>> regr = make_pipeline(StandardScaler(), NuSVR(C=1.0, nu=0.1)) >>> regr.fit(X, y) Pipeline(steps=('standardscaler', StandardScaler()),
('nusvr', NuSVR(nu=0.1))
)
See also -------- NuSVC Support Vector Machine for classification implemented with libsvm with a parameter to control the number of support vectors.
SVR epsilon Support Vector Machine for regression implemented with libsvm.
Notes ----- **References:** `LIBSVM: A Library for Support Vector Machines <http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf>`__