Data Science - Slope and Intercept


Sklon a záchyt

Nyní vysvětlíme, jak jsme našli sklon a průsečík naší funkce:

f(x) = 2x + 80

Obrázek níže ukazuje na Sklon – což ukazuje, jak strmá je čára, a Průsečík – což je hodnota y, když x = 0 (bod, kde diagonální čára protíná vertikální osu). Červená čára je pokračováním modré čáry z předchozí stránky.

Lineární funkce

Najděte Svah

Sklon je definován jako zvýšení spalování kalorií, pokud se průměrný puls zvýší o jednu. Říká nám, jak „strmá“ je diagonální čára.

Sklon můžeme najít pomocí proporcionálního rozdílu dvou bodů z grafu.

  • Pokud je průměrný puls 80, spálené kalorie je 240
  • Pokud je průměrný puls 90, spálené kalorie je 260

Vidíme, že pokud se průměrný puls zvýší o 10, zvýší se spalování kalorií o 20.

Slope = 20/10 = 2

Sklon je 2.

Matematicky je sklon definován jako:

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

f(x2) = Druhé pozorování Calorie_Burnage = 260
f(x1) = První pozorování Calorie_Burnage = 240
x2 = Druhé pozorování Average_Pulse = 90
x1 = První pozorování Average_Pulse = 80

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

Buďte důslední, abyste definovali pozorování ve správném pořadí! Pokud ne, předpověď nebude správná!

Použijte Python k nalezení sklonu

Vypočítejte sklon pomocí následujícího kódu:

Příklad

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

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

Najděte Intercept

Intercept se používá k jemnému doladění schopnosti funkcí předpovídat Calorie_Burnage.

Průsečík je místo, kde diagonální čára protíná osu y, pokud by byla zcela nakreslena.

Průsečík je hodnota y, když x = 0.

Zde vidíme, že pokud je průměrný puls (x) nulový, pak je spálení kalorií (y) 80.

Takže zachycení je 80.

Někdy má odposlech praktický význam. Někdy ne.

Dává smysl, že průměrný puls je nulový?

Ne, byli byste mrtví a rozhodně byste nespálili žádné kalorie.

Musíme však zahrnout zachycení, abychom dokončili schopnost matematické funkce správně předpovídat Calorie_Burnage.

Další příklady, kde může mít průsečík matematické funkce praktický význam:

  • Předpovídání příjmů v příštím roce pomocí marketingových výdajů (Jaké příjmy budeme mít příští rok, pokud jsou marketingové výdaje nulové?). Je pravděpodobné, že společnost bude mít stále nějaké příjmy, i když nebude utrácet peníze na marketing.
  • Spotřeba paliva s rychlostí (Kolik paliva spotřebujeme, když je rychlost rovna 0 mph?). Automobil, který používá benzín, bude stále spotřebovávat palivo, když je nečinný.


Najděte Slope a Intercept pomocí Pythonu

Funkce np.polyfit()vrací sklon a průsečík.

Pokud budeme pokračovat s následujícím kódem, můžeme z funkce získat jak sklon, tak průsečík.

Příklad

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)

Vysvětlený příklad:

  • Izolujte proměnné Average_Pulse (x) a Calorie_Burnage (y) z health_data.
  • Zavolejte funkci np.polyfit().
  • Poslední parametr funkce udává stupeň funkce, což je v tomto případě "1".

Tip: lineární funkce = funkce 1. stupně. V našem příkladu je funkce lineární, což je v 1. stupni. To znamená, že všechny koeficienty (čísla) jsou v mocnině jedné.

Nyní jsme vypočítali sklon (2) a průsečík (80). Matematickou funkci můžeme zapsat následovně:

Předpovězte Calorie_Burnage pomocí matematického výrazu:

f(x) = 2x + 80

Úkol:

Nyní chceme předpovědět spalování kalorií, pokud je průměrný tep 135.

Pamatujte, že zachycení je konstantní. Konstanta je číslo, které se nemění.

Nyní můžeme nahradit vstup x 135:

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

Pokud je průměrný pulz 135, spálené kalorie je 350.


Definujte matematickou funkci v Pythonu

Zde je přesně stejná matematická funkce, ale v Pythonu. Funkce vrátí 2*x + 80 s x jako vstupem:

Příklad

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

print (my_function(135))

Zkuste nahradit x 140 a 150.


Vykreslete nový graf v Pythonu

Zde vykreslíme stejný graf jako dříve, ale trochu naformátujeme osu.

Maximální hodnota osy y je nyní 400 a pro osu x je 150:

Příklad

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()

Příklad vysvětlen

  • Importujte modul pyplot z knihovny matplotlib
  • Vyneste data z Average_Pulse proti Calorie_Burnage
  • kind='line'nám říká, jaký typ zápletky chceme. Tady chceme mít rovnou čáru
  • plt.ylim() a plt.xlim() nám říkají, na jaké hodnotě chceme, aby osa začínala a zastavovala.
  • plt.show() nám ukazuje výstup