Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Construindo Regressão Linear Múltipla | Seção
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
Fundamentos do Aprendizado Supervisionado

bookConstruindo Regressão Linear Múltipla

A classe LinearRegression permite construir uma Regressão Linear Múltipla da mesma forma que a Regressão Linear Simples. Ela lida automaticamente com múltiplas variáveis (colunas) na matriz de entrada.

Preparando os Dados

Temos o mesmo conjunto de dados do exemplo de regressão linear simples, mas agora com a altura da mãe como a segunda variável. Vamos carregá-lo e observar a variável X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Por padrão, o parâmetro fit_intercept=True está definido, então o modelo calcula automaticamente o termo de viés ()! Podemos passar o DataFrame X (que já é 2D) diretamente para o modelo.

Encontrando os Parâmetros

Ótimo! Agora podemos construir o modelo, encontrar os parâmetros e fazer previsões.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Nota

Agora que nosso conjunto de treinamento possui 2 variáveis, devemos fornecer 2 variáveis para cada nova instância que desejamos prever. Por isso foi utilizado np.array([[65, 62],[70, 65],[75, 70]]). Além disso, observe que model.coef_ retorna um array de coeficientes correspondente à ordem das colunas em X. Como X era ['Father', 'Mother'], coef_[0] é o coeficiente para Father e coef_[1] é para Mother.

question mark

A classe LinearRegression exige a adição manual de uma coluna constante?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookConstruindo Regressão Linear Múltipla

Deslize para mostrar o menu

A classe LinearRegression permite construir uma Regressão Linear Múltipla da mesma forma que a Regressão Linear Simples. Ela lida automaticamente com múltiplas variáveis (colunas) na matriz de entrada.

Preparando os Dados

Temos o mesmo conjunto de dados do exemplo de regressão linear simples, mas agora com a altura da mãe como a segunda variável. Vamos carregá-lo e observar a variável X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Por padrão, o parâmetro fit_intercept=True está definido, então o modelo calcula automaticamente o termo de viés ()! Podemos passar o DataFrame X (que já é 2D) diretamente para o modelo.

Encontrando os Parâmetros

Ótimo! Agora podemos construir o modelo, encontrar os parâmetros e fazer previsões.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Nota

Agora que nosso conjunto de treinamento possui 2 variáveis, devemos fornecer 2 variáveis para cada nova instância que desejamos prever. Por isso foi utilizado np.array([[65, 62],[70, 65],[75, 70]]). Além disso, observe que model.coef_ retorna um array de coeficientes correspondente à ordem das colunas em X. Como X era ['Father', 'Mother'], coef_[0] é o coeficiente para Father e coef_[1] é para Mother.

question mark

A classe LinearRegression exige a adição manual de uma coluna constante?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7
some-alt