Construindo Regressão Linear Usando Statsmodels
Construindo um Modelo de Regressão Linear
No statsmodels, a classe OLS pode ser utilizada para criar um modelo de regressão linear.
Primeiro, é necessário inicializar um objeto da classe OLS utilizando
sm.OLS(y, X_tilde).
Em seguida, treine-o utilizando o método fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
O que é equivalente a:
model = sm.OLS(y, X_tilde).fit()
O construtor da classe OLS espera um array específico X_tilde como entrada, conforme visto na Equação Normal. Portanto, é necessário converter seu array X para X_tilde. Isso pode ser feito utilizando a função sm.add_constant().
Encontrando Parâmetros
Quando o modelo é treinado, é possível acessar facilmente os parâmetros utilizando o 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)
Realizando as Previsões
Novas instâncias podem ser previstas facilmente utilizando o método predict(), mas é necessário também pré-processar a entrada para elas:
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))
Obtendo o Sumário
Como você provavelmente percebeu, usar a classe OLS não é tão simples quanto a função polyfit(). No entanto, utilizar o OLS traz benefícios. Durante o treinamento, ele calcula diversas informações estatísticas. É possível acessar essas informações utilizando o método summary().
1print(model.summary())
São muitas estatísticas. Discutiremos as partes mais importantes da tabela em seções posteriores.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain what the `add_constant` function does?
What do the values of `beta_0` and `beta_1` represent in this context?
How do I interpret the output of the `summary()` method?
Awesome!
Completion rate improved to 5.26
Construindo Regressão Linear Usando Statsmodels
Deslize para mostrar o menu
Construindo um Modelo de Regressão Linear
No statsmodels, a classe OLS pode ser utilizada para criar um modelo de regressão linear.
Primeiro, é necessário inicializar um objeto da classe OLS utilizando
sm.OLS(y, X_tilde).
Em seguida, treine-o utilizando o método fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
O que é equivalente a:
model = sm.OLS(y, X_tilde).fit()
O construtor da classe OLS espera um array específico X_tilde como entrada, conforme visto na Equação Normal. Portanto, é necessário converter seu array X para X_tilde. Isso pode ser feito utilizando a função sm.add_constant().
Encontrando Parâmetros
Quando o modelo é treinado, é possível acessar facilmente os parâmetros utilizando o 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)
Realizando as Previsões
Novas instâncias podem ser previstas facilmente utilizando o método predict(), mas é necessário também pré-processar a entrada para elas:
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))
Obtendo o Sumário
Como você provavelmente percebeu, usar a classe OLS não é tão simples quanto a função polyfit(). No entanto, utilizar o OLS traz benefícios. Durante o treinamento, ele calcula diversas informações estatísticas. É possível acessar essas informações utilizando o método summary().
1print(model.summary())
São muitas estatísticas. Discutiremos as partes mais importantes da tabela em seções posteriores.
Obrigado pelo seu feedback!