sklearn.svm
.NuSVC¶
- class sklearn.svm.NuSVC¶
Clasificación de Vector Nu-Apoyo.
Similar al SVC pero usa un parámetro para controlar el número de vectores de soporte.
La implementación se basa en libsvm.
Más información en el Manual de usuario.
- Parámetros
- nuflotante, default=0.5
Un límite superior en la fracción de errores de margen (ver el Manual de Usuario) y un límite inferior en la fracción de vectores de soporte. Debe estar en el intervalo (0, 1].
- 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.
- probabilitybooleano, default=False
Si se habilitan los estimados de probabilidad. Esto se debe habilitar antes de llamar
fit
, ralentizará ese método ya que internamente utiliza la validación cruzada de 5 pliegues, ypredict_proba
podría ser inconsistente conpredict
. Lea más en 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).
- class_weight{dict, “balanced”}, default=None
Establece el parámetro C de la clase i a class_weight[i]*C para SVC. Si no es dado, todas las clases se suponen que tienen peso uno. El modo «balanced» utiliza los valores de y para ajustar automáticamente los ponderados inversamente proporcionales a las frecuencias de clase como
n_samples / (n_classes * np.bincount(y))
- 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.
- decision_function_shape{“ovo”, “ovr”}, default=”ovr”
Devolver o no una función de decisión uno contra el resto (“ovr”) de la forma (n_samples, n_classes) como todos los demás clasificadores, o la función original uno contra uno (“ovo”) de la función de decisión de libsvm que tiene forma (n_samples, n_classes * (n_classes - 1) / 2). Sin embargo, uno contra uno (“ovo”) siempre se utiliza como estrategia de multiclase. El parámetro se ignora para la clasificación binaria.
Distinto en la versión 0.19: decision_function_shape es “ovr” por defecto.
Nuevo en la versión 0.17: decision_function_shape=”ovr” es recomendado.
Distinto en la versión 0.17: decision_function_shape=”ovo” and None se ha hecho obsoleto.
- break_tiesbooleano, default=False
Si es verdadero,
decision_function_shape='ovr'
, y el número de clases > 2, predict romperá vínculos de acuerdo a los valores de confianza de decision_function; de lo contrario se devuelve la primera clase entre las clases enlazadas. Por favor note que romper enlaces tiene un costo computacional relativamente alto comparado a una predicción simple.Nuevo en la versión 0.22.
- random_stateint, instancia RandomState o None, default=None
Controla la generación de números pseudo-aleatorios para barajear los datos para estimados de probabilidad. Ignorado cuando
probability
es Falso. Pase un int para salida reproducible a través de múltiples llamadas de función. Ver Glosario.
- Atributos
- class_weight_ndarray de forma (n_classes,)
Multiplicadores del parámetro C de cada clase. Calculado basado en el parámetro
class_weight
.- classes_ndarray de forma (n_classes,)
Etiquetas de clase únicas.
- coef_ndarray de forma (n_classes * (n_classes -1) / 2, 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 dedual_coef_
ysupport_vectors_
.- dual_coef_ndarray de forma (n_classes - 1, n_SV)
Coeficientes duales del vector de apoyo en la función de decisión (ver Formulación matemática), multiplicado por sus objetivos. Para la multiclase, coeficiente para todos los clasificadores 1-vs-1. El diseño de los coeficientes en el caso multiclase es algo no-trivial. Ver la sección multiclase del Manual de Usuario para más detalles.
- fit_status_entero
0 si se ajusta correctamente, 1 si el algoritmo no converge.
- intercept_ndarray de forma (n_classes * (n_classes - 1) / 2,)
Constantes en la función de decisión.
- support_ndarray de forma (n_SV,)
Indices de vectores de apoyo.
- support_vectors_ndarray de forma (n_SV, n_features)
Vectores de apoyo.
- n_support_ndarray de forma (n_classes,), dtype=int32
Número de vectores de soporte para cada clase.
- fit_status_entero
0 si se ajusta correctamente, 1 si el algoritmo no converge.
- probA_ndarray de forma (n_classes * (n_classes - 1) / 2,)
- probB_ndarray de forma (n_classes * (n_classes - 1) / 2,)
Si
probability=True
, corresponde a los parámetros aprendidos en el escalado de Platt para producir estimados de probabilidad de los valores de decisión. Siprobability=False
, es un arreglo vacio. El escalado de Platt utiliza la función logistica1 / (1 + exp(decision_value * probA_ + probB_))
dondeprobA_
yprobB_
son aprendidos del conjunto de datos [2]. Para más información en el caso multiclase y el procedimiento de entrenamiento ver la sección 8 de [1].- shape_fit_tupla de int de la forma (n_dimensions_of_X,)
Dimensiones del arreglo del vector de entrenamiento
X
.
Ver también
Referencias
Ejemplos
>>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> from sklearn.svm import NuSVC >>> clf = make_pipeline(StandardScaler(), NuSVC()) >>> clf.fit(X, y) Pipeline(steps=[('standardscaler', StandardScaler()), ('nusvc', NuSVC())]) >>> print(clf.predict([[-0.8, -1]])) [1]
Métodos
Evalúa la función de decisión para las muestras en X.
Ajusta el modelo SVM de acuerdo a los datos de entrenamiento dados.
Obtiene los parámetros para este estimador.
Realiza la clasificación en las muestras en X.
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
Establece los parámetros de este estimador.
- decision_function()¶
Evalúa la función de decisión para las muestras en X.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
- Devuelve
- Xndarray de forma (n_samples, n_classes * (n_classes-1) / 2)
Devuelve la función de decisión de la muestra para cada clase en el modelo. Si decision_function_shape=”ovr”, la forma es (n_samples, n_classes).
Notas
Si decision_function_shape=”ovo”, los valores de función son proporcionales a la distancia de las muestras X al hiperplano separador. Si las distancias exactas son requeridas, divida los valores de función por la norma del vector de ponderado (
coef_
). Ver también esta pregunta para más detalles. Si decision_function_shape=”ovr”, la función de decisión es una transformación monotónica de la función de decisión ovo.
- 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 clasificación en las muestras en X.
Para un modelo de una clase, se devuelve +1 o -1.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features) o (n_samples_test, n_samples_train)
Para kernel=»precomputed», la forma esperada de X es (n_samples_test, n_samples_train).
- Devuelve
- y_predndarray de forma (n_samples,)
Etiquetas de clase para las muestras en X.
- property predict_log_proba¶
Calcula las probabilidades log de los posibles resultados de las muestras en X.
El modelo necesita tener información de probabilidad calculada en el tiempo de entrenamiento: ajustar con el atributo
probabilidad
establecido como True.- Parámetros
- Xarray-like de forma (n_samples, n_features) o (n_samples_test, n_samples_train)
Para kernel=»precomputed», la forma esperada de X es (n_samples_test, n_samples_train).
- Devuelve
- Tndarray de forma (n_samples, n_classes)
Devuelve las probabilidades logarítmica de las muestras para cada clase del modelo. Las columnas corresponden a las clases ordenadas, tal y como aparecen en el atributo classes_.
Notas
El modelo de probabilidad es creado utilizando la validación cruzada, así que los resultados pueden ser ligeramente diferentes que aquellos obtenidos mediante predict. También producirá resultandos sin sentido en conjuntos de datos muy pequeños.
- property predict_proba¶
Calcula las probabilidades de los posibles resultados de las muestras en X.
El modelo necesita tener información de probabilidad calculada en el tiempo de entrenamiento: ajustar con el atributo
probabilidad
establecido como True.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Para kernel=»precomputed», la forma esperada de X es (n_samples_test, n_samples_train).
- Devuelve
- Tndarray de forma (n_samples, n_classes)
Devuelve la probabilidad de las muestras para cada clase del modelo. Las columnas corresponden a las clases ordenadas, tal y como aparecen en el atributo classes_.
Notas
El modelo de probabilidad es creado utilizando la validación cruzada, así que los resultados pueden ser ligeramente diferentes que aquellos obtenidos mediante predict. También producirá resultandos sin sentido en conjuntos de datos muy pequeños.
- score()¶
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
En la clasificación multietiqueta, se trata de la precisión del subconjunto que es una métrica rigurosa, ya que se requiere para cada muestra que cada conjunto de etiquetas sea predicho correctamente.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de prueba.
- yarray-like de forma (n_samples,) o (n_samples, n_outputs)
Etiquetas True para
X
.- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de la muestra.
- Devuelve
- scoreflotante
Precisión media de
self.predict(X)
con respecto ay
.
- 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.