sklearn.linear_model
.BayesianRidge¶
- class sklearn.linear_model.BayesianRidge¶
Regresión Bayesiana de Cresta.
Ajusta un modelo Bayesiano de cresta. Ver la sección Notas para detalles en esta implementación y la optimización de los parámetros de regularización lambda (precisión de los ponderados) y alpha (precisión del ruido).
Más información en el Manual de usuario.
- Parámetros
- n_iterint, default=300
Número máximo de iteraciones. Debe ser mayor o igual a 1.
- tolflotante, default=1e-3
Detiene el algoritmo si w ha convergido.
- alpha_1flotante, default=1e-6
Hiperparámetro : parámetro de forma para el prior de distribución Gamma sobre el parámetro alfa.
- alpha_2flotante, default=1e-6
Hiperparámetro : parámetro de escala inversa (parámetro de tasa) para el prior de distribución Gamma sobre el parámetro alfa.
- lambda_1flotante, default=1e-6
Hiperparámetro : parámetro de forma para el prior de distribución Gamma sobre el parámetro lambda.
- lambda_2flotante, default=1e-6
Hiperparámetro : parámetro de escala inversa (parámetro de tasa) para el prior de distribución Gamma sobre el parámetro lambda.
- alpha_initflotante, default=None
Valor inicial para alpha (precisión del ruido). Si no se establece, alpha_init es 1/Var(y).
Nuevo en la versión 0.22.
- lambda_initflotante, default=None
Valor inicial para lambda (precisión de los ponderados). Si no se establece, lambda_init es 1.
Nuevo en la versión 0.22.
- compute_scorebooleano, default=False
Si es True, calcula la probabilidad log marginal en cada iteración de la optimización.
- fit_interceptbooleano, default=True
Si se calcula el intercepto para este modelo. El intercepto no es tratado como un parámetro probabilístico y por lo tanto no tiene varianza asociada. Si se establece en False, no se utilizará ningún intercepto en los cálculos (es decir, los datos se espera que estén centrados).
- normalizebooleano, default=False
Este parámetro es ignorado cuando
fit_intercept
se establece como False. Si True, los regresores X serán normalizados antes de la regresión restando la media y dividiendo por la norma l2. Si tu deseas estandarizar, por favor utilizaStandardScaler
antes de llamarfit
en un estimador connormalize=False
.- copy_Xbooleano, default=True
Si es True, X se copiará; si no, puede ser sobrescrito.
- verbosebooleano, default=False
Modo verboso al ajustar el modelo.
- Atributos
- coef_array-like de forma (n_features,)
Coeficientes del modelo de regresión (media de distribución)
- intercept_flotante
Término independiente en la función de decisión. Establecido como 0.0 si
fit_intercept = False
.- alpha_flotante
Precisión estimada del ruido.
- lambda_flotante
Precisión estimada de los ponderados.
- sigma_array-like de forma (n_features, n_features)
Matriz de varianza-covarianza estimada de los ponderados
- scores_array-like de forma (n_iter_+1,)
Si computed_score es True, es el valor de la probabilidad marginal log (a ser maximizada) en cada iteración de la optimización. El arreglo empieza con el valor de la probabilidad marginal log obtenida para los valores iniciales de alfa y lambda, y termina con los valores obtenidos para el alfa y lambda estimado.
- n_iter_int
El número real de iteraciones para alcanzar el criterio de parada.
- X_offset_flotante
Si
normalize=True
, desplazamiento restado para centrar los datos a un medio cero.- X_scale_flotante
Si
normalize=True
, parámetro usado para escalar los datos a una desviación estándar unitaria.
Notas
Existen varias estrategias para realizar la regresión bayesiana de cresta. Esta implementación esta basada en el algoritmo descrito en el Apéndice A de (Tipping, 2001) donde actualizaciones de los parámetros de regularización se hacen como es sugerido en (MacKay, 1992). Note que de acuerdo a A New View of Automatic Relevance Determination (Wipf and Nagarajan, 2008) estas reglas de actualización no garantizan que la probabilidad marginal esta incrementando entre dos iteraciones consecutivas de la optimización.
Referencias
D. J. C. MacKay, Bayesian Interpolation, Computation and Neural Systems, Vol. 4, No. 3, 1992.
M. E. Tipping, Sparse Bayesian Learning and the Relevance Vector Machine, Journal of Machine Learning Research, Vol. 1, 2001.
Ejemplos
>>> from sklearn import linear_model >>> clf = linear_model.BayesianRidge() >>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2]) BayesianRidge() >>> clf.predict([[1, 1]]) array([1.])
Métodos
Ajusta el modelo
Obtiene los parámetros para este estimador.
Predice utilizando el modelo lineal.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
- fit()¶
Ajusta el modelo
- Parámetros
- Xndarray de forma (n_samples, n_features)
Datos del entrenamiento
- yndarray de forma (n_samples,)
Valores objetivos. Se convertirá al dtype de X si es necesario
- sample_weightndarray de forma (n_samples,), default=None
Ponderados individuales para cada muestra
Nuevo en la versión 0.20: apoyo del parámetro sample_weight a BayesianRidge.
- Devuelve
- selfdevuelve una instancia de sí misma.
- 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 subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- predict()¶
Predice utilizando el modelo lineal.
Además de la media de la distribución predictiva, también su desviación estándar se puede devolver.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Muestras.
- return_stdbooleano, default=False
Si se devuelve la desviación estándar de la predicción posterior.
- Devuelve
- y_meanarray-like de forma (n_samples,)
Media de la distribución predictiva de los puntos de consulta.
- y_stdarray-like de forma (n_samples,)
Desviación estándar de la distribución predictiva de los puntos de consulta.
- 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 residual de cuadrados
((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, 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_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
Ponderados de muestras.
- Devuelve
- scoreflotante
\(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 coherencia 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 en 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 del estimador.