sklearn.svm.NuSVR

class sklearn.svm.NuSVR

Regresión de Vector de Soporte Nu.

Similar a NuSVC, para regresión, utiliza un parámetro nu para controlar el número de vectores de soporte. Sin embargo, a diferencia de NuSVC, donde nu sustituye C, aquí nu reemplaza el parámetro epsilon de epsilon-SVR.

La implementación se basa en libsvm.

Lee más en el Manual de usuario.

Parámetros
nuflotante, default=0.5

Límite superior en la fracción de errores de entrenamiento y un límite inferior de la fracción de vectores de soporte. Debe estar en el intervalo (0, 1]. Por defecto se tomará 0.5.

Cflotante, default=1.0

Parámetro de penalización C del término de error.

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”.

shrinkingbooleano, default=True

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

tolflotante, default=1e-3

Tolerancia para el criterio de parada.

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_iterint, 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

NuSVC

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

SVR

Maquína de Vector de Soporte de Epsilon para regresión implementado con libsvm.

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 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))])

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
selfobject

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

Nombres de parámetros mapeados 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 puede ser una matriz de núcleo precalculada o una lista de objetos genéricos con forma (n_muestras, n_muestras_ajustadas), donde n_muestras_ajustadas 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 la muestra.

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.NuSVR