Construcción de Regresión Lineal Utilizando Statsmodels
Desliza para mostrar el menú
Construcción de un modelo de regresión lineal
En statsmodels, la clase OLS se puede utilizar para crear un modelo de regresión lineal.
Primero es necesario inicializar un objeto de la clase OLS usando
sm.OLS(y, X_tilde).
Luego, entrenarlo utilizando el método fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Lo cual es equivalente a:
model = sm.OLS(y, X_tilde).fit()
El constructor de la clase OLS espera un arreglo específico X_tilde como entrada, que vimos en la Ecuación Normal. Por lo tanto, es necesario convertir tu arreglo X a X_tilde. Esto se puede lograr utilizando la función sm.add_constant().
Encontrar parámetros
Cuando el modelo está entrenado, puedes acceder fácilmente a los parámetros utilizando el atributo params.
123456789import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
Realización de predicciones
Nuevas instancias pueden predecirse fácilmente utilizando el método predict(), pero también es necesario preprocesar la entrada para ellas:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Obtención del resumen
Como probablemente hayas notado, utilizar la clase OLS no es tan sencillo como la función polyfit(). Sin embargo, usar OLS tiene sus ventajas. Durante el entrenamiento, calcula mucha información estadística. Puedes acceder a esta información utilizando el método summary().
1print(model.summary())
Eso es una gran cantidad de estadísticas. Analizaremos las partes más importantes de la tabla en secciones posteriores.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Construcción de Regresión Lineal Utilizando Statsmodels
Construcción de un modelo de regresión lineal
En statsmodels, la clase OLS se puede utilizar para crear un modelo de regresión lineal.
Primero es necesario inicializar un objeto de la clase OLS usando
sm.OLS(y, X_tilde).
Luego, entrenarlo utilizando el método fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Lo cual es equivalente a:
model = sm.OLS(y, X_tilde).fit()
El constructor de la clase OLS espera un arreglo específico X_tilde como entrada, que vimos en la Ecuación Normal. Por lo tanto, es necesario convertir tu arreglo X a X_tilde. Esto se puede lograr utilizando la función sm.add_constant().
Encontrar parámetros
Cuando el modelo está entrenado, puedes acceder fácilmente a los parámetros utilizando el atributo params.
123456789import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
Realización de predicciones
Nuevas instancias pueden predecirse fácilmente utilizando el método predict(), pero también es necesario preprocesar la entrada para ellas:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Obtención del resumen
Como probablemente hayas notado, utilizar la clase OLS no es tan sencillo como la función polyfit(). Sin embargo, usar OLS tiene sus ventajas. Durante el entrenamiento, calcula mucha información estadística. Puedes acceder a esta información utilizando el método summary().
1print(model.summary())
Eso es una gran cantidad de estadísticas. Analizaremos las partes más importantes de la tabla en secciones posteriores.
¡Gracias por tus comentarios!