Veri Bilimi - Eğim ve Kesişme


Eğim ve Kesişme

Şimdi fonksiyonumuzun eğimini ve kesişimini nasıl bulduğumuzu açıklayacağız:

f(x) = 2x + 80

Aşağıdaki resim, çizginin ne kadar dik olduğunu gösteren Eğimi ve x = 0 olduğunda (diyagonal çizginin dikey ekseni kestiği nokta) y değeri olan Intercept'i gösterir. Kırmızı çizgi, önceki sayfadaki mavi çizginin devamıdır.

Doğrusal fonksiyon

Eğimi Bul

Eğim, ortalama nabız bir artarsa, ne kadar kalori yakmanın arttığı olarak tanımlanır. Bize diyagonal çizginin ne kadar "dik" olduğunu söyler.

Eğimi, grafikten iki noktanın orantılı farkını kullanarak bulabiliriz.

  • Ortalama nabız 80 ise, kalori yakma 240'tır.
  • Ortalama nabız 90 ise, kalori yakma 260'tır.

Ortalama nabız 10 artarsa, kalori yakmanın 20 arttığını görüyoruz.

Slope = 20/10 = 2

Eğim 2'dir.

Matematiksel olarak Eğim şu şekilde tanımlanır:

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

f(x2) = İkinci Calorie_Burnage gözlemi = 260
f(x1) = İlk Calorie_Burnage gözlemi = 240
x2 = İkinci Ortalama_Nabız gözlemi = 90
x1 = İlk Ortalama_Nabız gözlemi = 80

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

Gözlemleri doğru sırada tanımlamak için tutarlı olun! Aksi takdirde, tahmin doğru olmayacaktır!

Eğimi Bulmak için Python Kullanın

Eğimi aşağıdaki kodla hesaplayın:

Örnek

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

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

Arayı Bul

Kesişme, Calorie_Burnage tahmin etme işlevinin ince ayarını yapmak için kullanılır.

Kesişme, tam olarak çizilmişse çapraz çizginin y eksenini kestiği yerdir.

Kesişme, x = 0 olduğunda y'nin değeridir.

Burada, ortalama nabız (x) sıfır ise, kalori yakmanın (y) 80 olduğunu görüyoruz.

Yani, kesişim 80'dir.

Bazen, kesişmenin pratik bir anlamı vardır. Bazen değil.

Ortalama nabzın sıfır olması mantıklı mı?

Hayır, ölmüş olursun ve kesinlikle kalori yakmazsın.

Ancak, matematiksel fonksiyonun Calorie_Burnage'ı doğru tahmin etme yeteneğini tamamlamak için kesmeyi dahil etmemiz gerekiyor.

Matematiksel bir fonksiyonun kesilmesinin pratik bir anlama sahip olabileceği diğer örnekler:

  • Pazarlama harcamalarını kullanarak gelecek yıl gelirini tahmin etme (Pazarlama harcaması sıfır ise gelecek yıl ne kadar gelirimiz olacak?). Bir şirketin pazarlamaya para harcamasa bile bir miktar gelirinin olacağını varsaymak olasıdır.
  • Hızla birlikte yakıt kullanımı (Hız 0 mph ise ne kadar yakıt kullanırız?). Benzin kullanan bir araba, rölantideyken de yakıt kullanmaya devam edecektir.


Python'u Kullanarak Eğimi ve Kesişi Bulun

İşlev np.polyfit(), eğimi ve kesişimi döndürür.

Aşağıdaki kod ile devam edersek fonksiyondan hem eğimi hem de kesişimi alabiliriz.

Örnek

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)

Örnek Açıklama:

  • Ortalama_Nabız (x) ve Kalori_Burnage (y) değişkenlerini sağlık_verilerinden ayırın.
  • np.polyfit() işlevini çağırın.
  • İşlevin son parametresi, bu durumda "1" olan işlevin derecesini belirtir.

İpucu: doğrusal fonksiyonlar = 1.derece fonksiyon. Örneğimizde, fonksiyon 1.derecede olan lineerdir. Bu, tüm katsayıların (sayıların) birin gücünde olduğu anlamına gelir.

Şimdi eğimi (2) ve kesişimi (80) hesapladık. Matematiksel fonksiyonu aşağıdaki gibi yazabiliriz:

Matematiksel bir ifade kullanarak Calorie_Burnage'ı tahmin edin:

f(x) = 2x + 80

Görev:

Şimdi, ortalama nabız 135 ise kalori yakmayı tahmin etmek istiyoruz.

Kesişmenin bir sabit olduğunu unutmayın. Sabit, değişmeyen bir sayıdır.

Şimdi x girişini 135 ile değiştirebiliriz:

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

Ortalama nabız 135 ise, kalori yakma 350'dir.


Python'da Matematiksel Fonksiyonu Tanımlayın

İşte tam olarak aynı matematiksel fonksiyon, ancak Python'da. İşlev, girdi olarak x ile 2*x + 80 döndürür:

Örnek

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

print (my_function(135))

x'i 140 ve 150 ile değiştirmeyi deneyin.


Python'da Yeni Bir Grafik Çiz

Burada, öncekiyle aynı grafiği çizdik, ancak ekseni biraz biçimlendirdik.

Y ekseninin maksimum değeri şimdi 400 ve x ekseni için 150'dir:

Örnek

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

Örnek Açıklama

  • matplotlib kitaplığının pyplot modülünü içe aktarın
  • Ortalama_Pulse'den alınan verileri Calorie_Burnage'a göre çizin
  • kind='line'bize ne tür bir arsa istediğimizi söyler. Burada düz bir çizgiye sahip olmak istiyoruz
  • plt.ylim() ve plt.xlim() bize eksenin hangi değerde başlayıp durmasını istediğimizi söyler.
  • plt.show() bize çıktıyı gösterir