Ciência de Dados - Inclinação e Interceptação


Inclinação e Interceptação

Agora vamos explicar como encontramos a inclinação e a interceptação de nossa função:

f(x) = 2x + 80

A imagem abaixo aponta para o Slope - que indica a inclinação da linha, e o Intercept - que é o valor de y, quando x = 0 (o ponto onde a linha diagonal cruza o eixo vertical). A linha vermelha é a continuação da linha azul da página anterior.

Função linear

Encontre a inclinação

A inclinação é definida como o quanto a queima de calorias aumenta, se o pulso médio aumentar em um. Ela nos diz quão "íngreme" é a linha diagonal.

Podemos encontrar a inclinação usando a diferença proporcional de dois pontos do gráfico.

  • Se o pulso médio é de 80, a queima de calorias é de 240
  • Se o pulso médio for de 90, a queima de calorias é de 260

Vemos que se o pulso médio aumenta em 10, a queima de calorias aumenta em 20.

Slope = 20/10 = 2

A inclinação é 2.

Matematicamente, a inclinação é definida como:

Slope = f(x2) - f(x1) / x2-x1

f(x2) = Segunda observação de Calorie_Burnage = 260
f(x1) = Primeira observação de Calorie_Burnage = 240
x2 = Segunda observação de Average_Pulse = 90
x1 = Primeira observação de Average_Pulse = 80

Slope = (260-240) / (90 - 80) = 2

Seja consistente para definir as observações na ordem correta! Caso contrário, a previsão não estará correta!

Use Python para encontrar a inclinação

Calcule a inclinação com o seguinte código:

Exemplo

def slope(x1, y1, x2, y2):
  s = (y2-y1)/(x2-x1)
  return s

print (slope(80,240,90,260))

Encontre a interceptação

A interceptação é usada para ajustar a capacidade das funções de prever Calorie_Burnage.

A interceptação é onde a linha diagonal cruza o eixo y, se for totalmente desenhada.

O intercepto é o valor de y, quando x = 0.

Aqui, vemos que se o pulso médio (x) é zero, então a queima de calorias (y) é 80.

Então, a interceptação é 80.

Às vezes, a interceptação tem um significado prático. Às vezes não.

Faz sentido que o pulso médio seja zero?

Não, você estaria morto e certamente não queimaria calorias.

No entanto, precisamos incluir a interceptação para concluir a capacidade da função matemática de prever Calorie_Burnage corretamente.

Outros exemplos em que a interceptação de uma função matemática pode ter um significado prático:

  • Prever a receita dos próximos anos usando as despesas de marketing (Quanta receita teremos no próximo ano, se as despesas de marketing forem zero?). É provável que uma empresa ainda tenha alguma receita, mesmo que não gaste dinheiro em marketing.
  • Consumo de combustível com velocidade (Quanto combustível usamos se a velocidade for igual a 0 mph?). Um carro que usa gasolina ainda usará combustível quando estiver ocioso.


Encontre a inclinação e intercepte usando Python

A np.polyfit()função retorna a inclinação e a interceptação.

Se continuarmos com o código a seguir, podemos obter a inclinação e a interceptação da função.

Exemplo

import pandas as pd
import numpy as np

health_data = pd.read_csv("data.csv", header=0, sep=",")

x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)

print(slope_intercept)

Exemplo explicado:

  • Isole as variáveis ​​Average_Pulse (x) e Calorie_Burnage (y) de health_data.
  • Chame a função np.polyfit().
  • O último parâmetro da função especifica o grau da função, que neste caso é "1".

Dica: funções lineares = função 1.degree. Em nosso exemplo, a função é linear, que está no grau 1. Isso significa que todos os coeficientes (os números) estão na potência de um.

Agora calculamos a inclinação (2) e o intercepto (80). Podemos escrever a função matemática da seguinte forma:

Preveja Calorie_Burnage usando uma expressão matemática:

f(x) = 2x + 80

Tarefa:

Agora, queremos prever a queima de calorias se o pulso médio for 135.

Lembre-se que a interceptação é uma constante. Uma constante é um número que não muda.

Agora podemos substituir a entrada x por 135:

f(135) = 2 * 135 + 80 = 350

Se o pulso médio for 135, a queima de calorias é 350.


Definir a função matemática em Python

Aqui está exatamente a mesma função matemática, mas em Python. A função retorna 2*x + 80, com x como entrada:

Exemplo

def my_function(x):
  return 2*x + 80

print (my_function(135))

Tente substituir x por 140 e 150.


Traçar um novo gráfico em Python

Aqui, traçamos o mesmo gráfico de antes, mas formatamos um pouco o eixo.

O valor máximo do eixo y agora é 400 e para o eixo x é 150:

Exemplo

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)

plt.show()

Exemplo explicado

  • Importe o módulo pyplot da biblioteca matplotlib
  • Plote os dados de Average_Pulse contra Calorie_Burnage
  • kind='line'nos diz que tipo de enredo queremos. Aqui, queremos ter uma linha reta
  • plt.ylim() e plt.xlim() nos informam em qual valor queremos que o eixo inicie e pare.
  • plt.show() nos mostra a saída