Construindo Regressão Linear Usando NumPy
Você já sabe o que é regressão linear simples e como encontrar a linha que melhor se ajusta aos dados. Agora, você passará por todas as etapas de construção de uma regressão linear para um conjunto de dados real.
Carregando Dados
Temos um arquivo, simple_height_data.csv, com os dados dos nossos exemplos. Vamos carregar o arquivo e analisá-lo:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
O conjunto de dados possui duas colunas: a primeira é 'Father', que é a característica de entrada, e a segunda é 'Height', que é nossa variável alvo.
Atribuímos os valores alvo à variável y e os valores da característica a X e construímos um gráfico de dispersão.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Encontrando os Parâmetros
Agora, o NumPy possui uma função útil para encontrar os parâmetros da regressão linear.
A Regressão Linear é uma Regressão Polinomial de grau 1 (iremos abordar Regressão Polinomial em seções posteriores). Por isso, é necessário definir deg=1 para obter os parâmetros da regressão linear.
Veja um exemplo:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Se você não está familiarizado com a sintaxe beta_1, beta_0 = np.polyfit(X,y,1), isso é chamado de desempacotamento. Se você possui um iterador (por exemplo, uma lista, array do NumPy ou série do pandas) com dois itens, escrever
a, b = my_iterator
é equivalente a
a = my_iterator[0]
b = my_iterator[1]
E como o retorno da função polyfit() é um array do NumPy com dois valores, é permitido fazer isso.
Fazendo as Previsões
Agora podemos traçar a linha e prever novas variáveis usando os parâmetros.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Agora que temos os parâmetros, podemos usar a equação da regressão linear para prever novos valores.
123X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Assim, é bastante simples obter os parâmetros da regressão linear. No entanto, algumas bibliotecas também podem fornecer informações adicionais.
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 parameters beta_0 and beta_1 represent?
How can I interpret the scatterplot and the fitted line?
What extra information can other libraries provide for linear regression?
Incrível!
Completion taxa melhorada para 5.26
Construindo Regressão Linear Usando NumPy
Deslize para mostrar o menu
Você já sabe o que é regressão linear simples e como encontrar a linha que melhor se ajusta aos dados. Agora, você passará por todas as etapas de construção de uma regressão linear para um conjunto de dados real.
Carregando Dados
Temos um arquivo, simple_height_data.csv, com os dados dos nossos exemplos. Vamos carregar o arquivo e analisá-lo:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
O conjunto de dados possui duas colunas: a primeira é 'Father', que é a característica de entrada, e a segunda é 'Height', que é nossa variável alvo.
Atribuímos os valores alvo à variável y e os valores da característica a X e construímos um gráfico de dispersão.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Encontrando os Parâmetros
Agora, o NumPy possui uma função útil para encontrar os parâmetros da regressão linear.
A Regressão Linear é uma Regressão Polinomial de grau 1 (iremos abordar Regressão Polinomial em seções posteriores). Por isso, é necessário definir deg=1 para obter os parâmetros da regressão linear.
Veja um exemplo:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Se você não está familiarizado com a sintaxe beta_1, beta_0 = np.polyfit(X,y,1), isso é chamado de desempacotamento. Se você possui um iterador (por exemplo, uma lista, array do NumPy ou série do pandas) com dois itens, escrever
a, b = my_iterator
é equivalente a
a = my_iterator[0]
b = my_iterator[1]
E como o retorno da função polyfit() é um array do NumPy com dois valores, é permitido fazer isso.
Fazendo as Previsões
Agora podemos traçar a linha e prever novas variáveis usando os parâmetros.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Agora que temos os parâmetros, podemos usar a equação da regressão linear para prever novos valores.
123X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Assim, é bastante simples obter os parâmetros da regressão linear. No entanto, algumas bibliotecas também podem fornecer informações adicionais.
Obrigado pelo seu feedback!