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.
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