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
oSGDRegressor
en su lugar, posiblemente después de un transformadorNystroem
.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 dedual_coef_
ysupport_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
Referencias
- 1
- 2
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
Ajusta el modelo SVM de acuerdo a los datos de entrenamiento dados.
Obtiene los parámetros para este estimador.
Realiza la regresión en las muestras en X.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
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 dey
, 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)
, donden_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 ay
.
Notas
La puntuación \(R^2\) utilizada al llamar a
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantener la consistencia con el valor predeterminado der2_score
. Esto influye en el métodoscore
de todos los regresores de salida múltiple (excepto paraMultiOutputRegressor
).
- 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.