sklearn.linear_model.ARDRegression

class sklearn.linear_model.ARDRegression

Regresión bayesiana ARD.

Ajusta los ponderados de un modelo de regresión, utilizando un prior ARD. Los ponderados del modelo de regresión se asume que están en las distribuciones Gaussianas. También estima los parámetros lambda (precisiones de las distribuciones de los ponderados) y alfa (precisión de la distribución del ruido). la estimación se hace por procedimientos iterativos (Maximización de Pruebas)

Más información en el Manual de usuario.

Parámetros
n_iterint, default=300

Número máximo de iteraciones.

tolfloat, default=1e-3

Detiene el algoritmo si w ha convergido.

alpha_1float, default=1e-6

Hiperparámetro : parámetro de forma para el prior de distribución Gamma sobre el parámetro alfa.

alpha_2float, 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_1float, default=1e-6

Hiperparámetro : parámetro de forma para el prior de distribución Gamma sobre el parámetro lambda.

lambda_2float, 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.

compute_scorebooleano, default=False

Si es verdadero, calcula la función objetivo en cada paso del modelo.

threshold_lambdafloat, default=10 000

umbral para quitar (podar) ponderados con alta precisión del calculo.

fit_interceptbooleano, default=True

si se calcula el intercepto para este modelo. Si se establece como falso, no se usara 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 utiliza StandardScaler antes de llamar fit en un estimador con normalize=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)

alpha_flotante/flotador

precisión estimada del ruido.

lambda_array-like de forma (n_features,)

precisión estimada de los ponderados.

sigma_array-like de forma (n_features, n_features)

matriz de varianza-covarianza estimada de los ponderados

scores_flotante/flotador

si es calculado, valor de la función objetivo (a ser maximizada)

intercept_flotante/flotador

Término independiente en la función de decisión. Establecido como 0.0 si fit_intercept = False.

X_offset_flotante/flotador

Si normalize=True, desplazamiento restado para centrar los datos a un medio cero.

X_scale_flotante/flotador

Si normalize=True, parámetro usado para escalar los datos a una desviación estándar unitaria.

Notas

Para un ejemplo, ver examples/linear_model/plot_ard.py.

Referencias

D. J. C. MacKay, Bayesian nonlinear modeling for the prediction competition, ASHRAE Transactions, 1994.

R. Salakhutdinov, Lecture notes on Statistical Machine Learning, http://www.utstat.toronto.edu/~rsalakhu/sta4273/notes/Lecture2.pdf#page=15 Their beta is our self.alpha_ Their alpha is our self.lambda_ ARD is a little different than the slide: only dimensions/features for which self.lambda_ < self.threshold_lambda are kept and the rest are discarded.

Ejemplos

>>> from sklearn import linear_model
>>> clf = linear_model.ARDRegression()
>>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])
ARDRegression()
>>> clf.predict([[1, 1]])
array([1.])

Métodos

fit

Encaja el modelo ARDRegression de acuerdo a los datos de entrenamiento y parámetros 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()

Encaja el modelo ARDRegression de acuerdo a los datos de entrenamiento y parámetros dados.

Procedimiento iterativo para maximizar la evidencia

Parámetros
Xarray-like 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,)

Valores objetivos (enteros). Se convertirá al dtype de X si es necesario

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 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, 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), 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 la muestra.

Devuelve
scoreflotante/flotador

\(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 coherencia 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 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.

Ejemplos usando sklearn.linear_model.ARDRegression