sklearn.svm.SVR

class sklearn.svm.SVR

Regresión de Vector de Soporte-Épsilon.

Los parámetros libres en el modelo son C y épsilon.

La implementación se basa en libsvm. La complejidad del tiempo de ajuste es más que cuadrática con el número de muestras lo cual lo hace dificil para escalar a conjuntos de datos con más de un par de 10000 muestras. Para conjuntos de datos mas grandes consideré usar LinearSVR o SGDRegressor en su lugar, posiblemente después de un transformador Nystroem.

Lee más en el Manual de usuario.

Parámetros
kernel{“linear”, “poly”, “rbf”, “sigmoid”, “precomputed”}, default=”rbf”

Especifica el tipo de núcleo a ser usado en el algoritmo. Debe ser uno de “linear”, “poly”, “rby”, “sigmoid”, “precomputed” o un invocable. Si no se da ninguna, se utilizará “rbf”. Si un invocable es dado se utilizara para precalcular la matriz del núcleo.

degreeentero, default=3

Grado de la función de núcleo polinómico (“poly”). Ignorado por todos los otros núcleos.

gamma{“scale”, “auto”} o flotante, default=”scale”

Coeficiente de núcleo para “rbf”, “poly” y “sigmoid”.

  • si se pasa gamma='scale' (valor predeterminado), entonces se usa 1 / (n_features * X.var()) como valor de gamma,

  • si es “auto”, utiliza 1 / n_features.

Distinto en la versión 0.22: El valor predeterminado de gamma cambió de “auto” a “scale”.

coef0flotante, default=0.0

Término independiente en la función del núcleo. Sólo es significativo en “poly” y “sigmoid”.

tolflotante, default=1e-3

Tolerancia para el criterio de parada.

Cflotante, default=1.0

Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C. Debe ser estrictamente positiva. La penalidad es una penalidad l2 cuadrática.

epsilonflotante, default=0.1

Épsilon en el modelo epsilon-SVR. Especifica el épsilon-tubo dentro del cual no se asocia ninguna penalización en la función de pérdida de entrenamiento con puntos predichos dentro de un épsilon de distancia del valor real.

shrinkingbooleano, default=True

Si se usa o no la heurística de reducción. Ver el Manual de usuario.

cache_sizeflotante, default=200

Específica el tamaño del caché del núcleo (en MB).

verbosebooleano, default=False

Activar salida detallada. Ten en cuenta que esta configuración toma ventaja de una configuración por proceso en el tiempo de ejecución en libsvm que, si está habilitada, puede no funcionar correctamente en un contexto multihilo.

max_iterentero, default=-1

Limite fuerte en iteraciones dentro del solucionador, o -1 para ningún límite.

Atributos
class_weight_ndarray de forma (n_classes,)

Multiplicadores del parámetro C para cada clase. Calculado basado en el parámetro class_weight.

coef_ndarray de forma (1, n_features)

Ponderaciones asignadas a las características (coeficientes en el problema primario). Esto solo está disponible en el caso de un kernel lineal.

coef_ es propiedad de solo lectura derivada de dual_coef_ y support_vectors_.

dual_coef_ndarray de forma (1, n_SV)

Coeficientes de los vectores de soporte en la función de decisión.

fit_status_entero

0 si se ajusta correctamente, 1 en caso contrario (producirá una advertencia)

intercept_ndarray de forma (1,)

Constantes en la función de decisión.

n_support_ndarray de forma (n_classes,), dtype=int32

Número de vectores de soporte para cada clase.

shape_fit_tupla de int de la forma (n_dimensions_of_X,)

Dimensiones del arreglo del vector de entrenamiento X.

support_ndarray de forma (n_SV,)

Indices de vectores de apoyo.

support_vectors_ndarray de forma (n_SV, n_features)

Vectores de apoyo.

Ver también

NuSVR

Maquína de Vector de Soporte para la regresión implementada usando libsvm con un parámetro para controlar el número de vectores de soporte.

LinearSVR

Maquina de Vectores de Soporte Escalable Lineal para regresión implementada usando liblinear.

Referencias

1

LIBSVM: A Library for Support Vector Machines

2

Platt, John (1999). «Probabilistic outputs for support vector machines and comparison to regularizedlikelihood methods.»

Ejemplos

>>> from sklearn.svm import SVR
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> regr = make_pipeline(StandardScaler(), SVR(C=1.0, epsilon=0.2))
>>> regr.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()),
                ('svr', SVR(epsilon=0.2))])

Métodos

fit

Ajusta el modelo SVM de acuerdo a los datos de entrenamiento dados.

get_params

Obtiene los parámetros para este estimador.

predict

Realiza la regresión en las muestras en X.

score

Devuelve el coeficiente de determinación \(R^2\) de la predicción.

set_params

Establece los parámetros de este estimador.

fit()

Ajusta el modelo SVM de acuerdo a los datos de entrenamiento dados.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features) o (n_samples, n_samples)

Vectores de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características. Para kernel=»precomputed», la forma esperada de X es (n_samples, n_samples).

yarray-like de forma (n_samples,)

Valores objetivo (etiquetas de clase en clasificación, números reales en regresión).

sample_weightarray-like de forma (n_samples,) default=None

Ponderados por muestra. Reescalado de C por muestra. Los ponderados más altos obligan al clasificador a poner más énfasis en estos puntos.

Devuelve
selfobjeto

Notas

Si X y y no son arreglos contiguos y C-ordenados de np.float64 y X no es un scipy.sparse.csr_matrix, X y/o y pueden ser copiados.

Si X es un arreglo denso, entonces los otros métodos no soportaran matrices dispersas como entrada.

get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbooleano, default=True

Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.

Devuelve
paramsdict

Los nombres de los parámetros asignados a sus valores.

predict()

Realiza la regresión en las muestras en X.

Para un modelo de una clase, se devuelve +1 (valor típico) o -1 (valor atípico).

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Para kernel=»precomputed», la forma esperada de X es (n_samples_test, n_samples_train).

Devuelve
y_predndarray de forma (n_samples,)
score()

Devuelve el coeficiente de determinación \(R^2\) de la predicción.

El coeficiente \(R^2\) se define como \((1 - \frac{u}{v})\), donde \(u\) es la suma de cuadrados de los residuos ((y_true - y_pred) ** 2).sum() y \(v\) es la suma total de cuadrados ((y_true - y_true.mean()) ** 2).sum(). La mejor puntuación posible es 1.0 y puede ser negativa (porque el modelo puede ser arbitrariamente peor). Un modelo constante que siempre predice el valor esperado de y, sin tener en cuenta las características de entrada, obtendría una puntuación \(R^2\) de 0.0.

Parámetros
Xarray-like de forma (n_samples_X, n_features)

Muestras de prueba. Para algunos estimadores esto puede ser una matriz de núcleo precalculada o una lista de objetos genéricos con forma (n_samples, n_samples_fitted), donde n_samples_fitted es el número de muestras utilizadas en el ajuste para el estimador.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Valores verdaderos para X.

sample_weightarray-like de forma (n_samples,) default=None

Ponderaciones de muestras.

Devuelve
scorede punto flotante (float)

\(R^2\) de self.predict(X) con respecto a y.

Notas

La puntuación \(R^2\) utilizada al llamar a score en un regresor utiliza multioutput='uniform_average' desde la versión 0.23 para mantener la consistencia con el valor predeterminado de r2_score. Esto influye en el método score de todos los regresores de salida múltiple (excepto para MultiOutputRegressor).

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia de estimador.

Ejemplos usando sklearn.svm.SVR