Veri Bilimi - Doğrusal Regresyon


Eğitim oturumunun Süresi olan Calorie_Burnage'ı etkileyen önemli bir değişkeni kaçırıyoruz.

Ortalama_Pulse ile birlikte süre, birlikte Calorie_Burnage'ı daha kesin olarak açıklayacaktır.


Doğrusal Regresyon

Değişkenler arasındaki ilişkiyi bulmaya çalıştığınızda regresyon terimi kullanılır.

Makine Öğreniminde ve istatistiksel modellemede, bu ilişki olayların sonucunu tahmin etmek için kullanılır.

Bu modülde aşağıdaki soruları ele alacağız:

  • Ortalama_Nabız ve Sürenin Kalori_Yakımı ile ilgili olduğu sonucuna varabilir miyiz?
  • Calorie_Burnage'ı tahmin etmek için Ortalama_Nabız ve Süreyi kullanabilir miyiz?

En Küçük Kare Yöntemi

Doğrusal regresyon, en küçük kareler yöntemini kullanır.

Konsept, çizilen tüm veri noktalarından bir çizgi çizmektir. Çizgi, tüm veri noktalarına olan mesafeyi en aza indirecek şekilde konumlandırılmıştır.

Mesafeye "artık" veya "hata" denir.

Kırmızı kesikli çizgiler, veri noktalarından çizilen matematiksel fonksiyona olan mesafeyi temsil eder.

Doğrusal Regresyon - En Küçük Kare

Bir Açıklayıcı Değişken Kullanan Doğrusal Regresyon

Bu örnekte, Lineer Regresyon kullanarak Ortalama_Pulse ile Calorie_Burnage'ı tahmin etmeye çalışacağız:

Örnek

import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

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

x = full_health_data["Average_Pulse"]
y = full_health_data ["Calorie_Burnage"]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
 return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, slope * x + intercept)
plt.ylim(ymin=0, ymax=2000)
plt.xlim(xmin=0, xmax=200)
plt.xlabel("Average_Pulse")
plt.ylabel ("Calorie_Burnage")
plt.show()

Örnek Açıklama:

  • İhtiyacınız olan modülleri içe aktarın: Pandas, matplotlib ve Scipy
  • Ortalama_Darbeyi x olarak ayırın. Calorie_burnage'ı y olarak ayırın
  • Şunlarla önemli anahtar değerleri alın: eğim, kesişim, r, p, std_err = stats.linregress(x, y)
  • Yeni bir değer döndürmek için eğim ve kesişme değerlerini kullanan bir işlev oluşturun. Bu yeni değer, karşılık gelen x değerinin y ekseninde nereye yerleştirileceğini temsil eder.
  • x dizisinin her değerini işlev aracılığıyla çalıştırın. Bu, y ekseni için yeni değerlere sahip yeni bir diziyle sonuçlanacaktır: modelim = liste(map(işlevim, x))
  • Orijinal dağılım grafiğini çizin: plt.scatter(x, y)
  • Doğrusal regresyon çizgisini çizin: plt.plot(x, mymodel)
  • Eksenin maksimum ve minimum değerlerini tanımlayın
  • Ekseni etiketleyin: "Average_Pulse" ve "Calorie_Burnage"

Çıktı:

Doğrusal Regresyon - Bir değişken - En Küçük Kare

Çizginin Calorie_Burnage'ı tam olarak tahmin edebileceğini düşünüyor musunuz?

Ortalama_Nabız değişkeninin tek başına Calorie_Burnage'ın kesin tahminini yapmak için yeterli olmadığını göstereceğiz.