sklearn.svm.LinearSVR

class sklearn.svm.LinearSVR

Regresión de Vector de Soporte Lineal.

Similar a SVR con el parámetro kernel=”linear”, pero implementado en términos de liblinear en lugar de libsvm, por lo que tiene más flexibilidad en la elección de las penalidades y funciones de pérdida y debería escalar mejor a un gran número de muestras.

Esta clase soporta entradas densas y dispersas.

Lee más en el Manual de usuario.

Nuevo en la versión 0.16.

Parámetros
epsilonflotante, default=0.0

Parámetro épsilon en la función de pérdida insensibles a épsilon. Tenga en cuenta que el valor de este parámetro depende de la escala de la variable de destino y. Si no está seguro, establezca epsilon=0.

tolflotante, default=1e-4

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.

loss{“epsilon_insensitive”, “squared_epsilon_insensitive”}, default=”epsilon_insensitive”

Especifica la función de pérdida. La pérdida insensible a épsilon (estándar SVR) es la pérdida L1, mientras que la pérdida insensible a épsilon cuadrada (“squared_epsilon_insensitive”) es la pérdida L2.

fit_interceptbooleano, default=True

Si se calcula el intercepto para este modelo. Si se establece en False, no se utilizará ningún intercepto en los cálculos (es decir, se espera que los datos ya estén centrados).

intercept_scalingflotante, default=1.

Cuando self.fit_intercept es True, la instancia vector y se vuelve [x, self.intercept_scaling], es decir, una característica «synthetic» con valor constante igual a intercept_scaling se adjunta al vector de instancia. El intercepto se vuelve intercept_scaling * synthetic feature weight. Nota! El ponderado de característica sintetica es sujeto a la regularización l1/l2 como todás las demás características. Para disminuir el efecto de la regularización en el ponderado de características synteticas (y por lo tanto, en el intercepto) intercept_scaling debe ser incrementado.

dualbooleano, default=True

Seleccione el algoritmo para resolver el problema de optimización dual o primaria. Se prefiere dual=False cuando n_samples > n_features.

verboseentero, default=0

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 liblinear que, si está habilitada, puede no funcionar correctamente en un contexto multihilo.

random_stateentero, instancia de RandomState o None, default=None

Controla la generación de números pseudo aleatorios para revolver los datos. Pasa un int para salidas reproducibles a través de múltiples llamadas a la función. Ver el Glosario.

max_iterentero, default=1000

Número máximo de iteraciones a correr.

Atributos
coef_ndarray de forma (n_features) si n_classes == 2 de lo contrario (n_classes, 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 una propiedad de sólo lectura derivada de raw_coef_ que sigue el diseño de memoria interna de liblinear.

intercept_ndarray de forma (1) si n_classes == 2 de lo contrario (n_classes)

Constantes en la función de decisión.

n_iter_entero

Número máximo de iteraciones ejecutadas en todas las clases.

Ver también

LinearSVC

Implementación del clasificador Máquina de Vectores de Soporte usando la misma librería que esta clase (liblinear).

SVR

Implementación de regresión por Maquina de Vectores de Soporte usando libsvm: el núcleo puede ser no lineal pero su algoritmo SMO no escala a un gran número de muestras como LinearSVC lo hace.

sklearn.linear_model.SGDRegressor

SGDRegressor puede optimizar la misma función de costo que LinearSVR ajustando los parámetros de penalización y pérdida. Además requiere menos memoria, permite un aprendizaje incremental (en línea) e implementa varias funciones de pérdida y regimenes de regularización.

Ejemplos

>>> from sklearn.svm import LinearSVR
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_features=4, random_state=0)
>>> regr = make_pipeline(StandardScaler(),
...                      LinearSVR(random_state=0, tol=1e-5))
>>> regr.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()),
                ('linearsvr', LinearSVR(random_state=0, tol=1e-05))])
>>> print(regr.named_steps['linearsvr'].coef_)
[18.582... 27.023... 44.357... 64.522...]
>>> print(regr.named_steps['linearsvr'].intercept_)
[-4...]
>>> print(regr.predict([[0, 0, 0, 0]]))
[-2.384...]

Métodos

fit

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

get_params

Obtiene los parámetros para este estimador.

predict

Predice utilizando el modelo lineal.

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 de acuerdo a los datos de entrenamiento dados.

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

Vector de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,)

Vector objetivo relativo a X

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

Arreglo de ponderados asignados a muestras individuales. Si no se proporciona, entonces se le da peso unitario a cada muestra.

Nuevo en la versión 0.18.

Devuelve
selfobjeto

Una instancia del estimador.

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

Predice utilizando el modelo lineal.

Parámetros
Xarray-like o matriz dispersa, forma (n_samples, n_features)

Muestras.

Devuelve
Carreglo, forma (n_samples,)

Devuelve los valores predichos.

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.