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