Veri Bilimi - Doğrusal Regresyon Durumu


Vaka: Calorie_Burnage'ı Tahmin etmek için Duration + Ortalama_Nabız kullanın

Açıklayıcı Değişkenler olarak Ortalama_Nabız ve Süre ile Doğrusal Bir Regresyon Tablosu Oluşturun:

Örnek

import pandas as pd
import statsmodels.formula.api as smf

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

model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results = model.fit()
print(results.summary())

Örnek Açıklama:

  • statsmodels.formula.api kitaplığını smf olarak içe aktarın. Statsmodels, Python'da bir istatistiksel kütüphanedir.
  • full_health_data setini kullanın.
  • smf.ols() ile Sıradan En Küçük Karelere dayalı bir model oluşturun. Açıklayıcı değişkenin önce parantez içinde yazılması gerektiğine dikkat edin. full_health_data veri setini kullanın.
  • .fit()'i çağırarak değişken sonuçlarını elde edersiniz. Bu, regresyon modeli hakkında birçok bilgi içerir.
  • Doğrusal regresyon sonuçlarını içeren tabloyu almak için özet()'i çağırın.

Çıktı:

Lineer Regresyon Tablosu Örneği

Doğrusal regresyon işlevi matematiksel olarak şu şekilde yeniden yazılabilir:

Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194

İki ondalık basamağa yuvarlanır:

Calorie_Burnage = Average_Pulse * 3.17 + Duration * 5.84 - 334.52


Python'da Doğrusal Regresyon İşlevini Tanımlayın

Tahminleri gerçekleştirmek için Python'da doğrusal regresyon işlevini tanımlayın.

Aşağıdaki durumlarda Calorie_Burnage nedir:

  • Ortalama nabız 110 ve antrenman süresi 60 dakika mı?
  • Ortalama nabız 140 ve antrenman süresi 45 dakika mı?
  • Ortalama nabız 175 ve antrenman süresi 20 dakika mı?

Örnek

def Predict_Calorie_Burnage(Average_Pulse, Duration):
 return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)

print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))

Cevaplar:

  • Ortalama nabız 110 ve eğitim seansının süresi 60 dakika = 365 Kalori
  • Ortalama nabız 140 ve egzersiz seansının süresi 45 dakika = 372 Kalori
  • Ortalama nabız 175 ve egzersiz seansının süresi 20 dakika = 337 Kalori

Katsayılara Erişin

Katsayılara bakın:

  • Ortalama_Nabız bir artarsa ​​Calorie_Burnage 3,17 artar.
  • Süre bir artarsa ​​Calorie_Burnage 5,84 artar.

P-Değerine Erişin

Her katsayı için P değerine bakın.

  • Ortalama_Nabız, Süre ve Kesişme için P değeri 0,00'dir.
  • P değeri, 0,05'ten küçük olduğu için tüm değişkenler için istatistiksel olarak anlamlıdır.

Dolayısıyla burada, Ortalama_Nabız ve Duration'ın Calorie_Burnage ile bir ilişkisi olduğu sonucuna varabiliriz.


Düzeltilmiş R-Kare

Birden fazla açıklayıcı değişkenimiz varsa, R-kare ile ilgili bir sorun vardır.

Daha fazla değişken eklersek, R-kare neredeyse her zaman artacaktır ve asla azalmayacaktır.

Bunun nedeni, doğrusal regresyon işlevinin etrafına daha fazla veri noktası eklememizdir.

Calorie_Burnage'ı etkilemeyen rastgele değişkenler eklersek, yanlış bir şekilde lineer regresyon fonksiyonunun iyi bir uyum olduğu sonucuna varma riskini alırız. Düzeltilmiş R-kare bu sorun için ayarlar.

Bu nedenle, birden fazla açıklayıcı değişkenimiz varsa, düzeltilmiş R-kare değerine bakmak daha iyidir.

Düzeltilmiş R-kare 0,814'tür.

R-Kare değeri her zaman 0 ila 1 arasındadır (%0 ila %100).

  • Yüksek bir R-Kare değeri, birçok veri noktasının doğrusal regresyon fonksiyon çizgisine yakın olduğu anlamına gelir.
  • Düşük bir R-Kare değeri, doğrusal regresyon fonksiyon çizgisinin verilere iyi uymadığı anlamına gelir.

Sonuç: Model, veri noktasına iyi uyuyor!

Tebrikler! Artık veri bilimi kitaplığının son modülünü bitirdiniz.