Doğrusal regresyonun temelleri

scikit-learn ile Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

Regresyonun işleyişi

  • $y = ax + b$

    • Basit doğrusal regresyon tek bir özellik kullanır

      • $y$ = hedef

      • $x$ = tek özellik

      • $a$, $b$ = model parametreleri/katsayıları — eğim, kesişim

  • $a$ ve $b$ nasıl seçilir?

    • Her doğru için bir hata fonksiyonu tanımlayın

    • Hata fonksiyonunu en aza indiren doğrultuyu seçin

  • Hata fonksiyonu = kayıp fonksiyonu = maliyet fonksiyonu

scikit-learn ile Supervised Learning

Kayıp fonksiyonu

dağılım grafiği

scikit-learn ile Supervised Learning

Kayıp fonksiyonu

gözlemlerin ortasından sol alttan sağ üste giden regresyon doğrusu

scikit-learn ile Supervised Learning

Kayıp fonksiyonu

regresyon doğrusundan her gözleme çizilen kırmızı çizgiler

scikit-learn ile Supervised Learning

Kayıp fonksiyonu

kırmızı çizgiler artık değerleri gösterir

scikit-learn ile Supervised Learning

Kayıp fonksiyonu

gözlem regresyon doğrusunun üstünde olduğundan pozitif artık değerini vurgulayan ok

scikit-learn ile Supervised Learning

En Küçük Kareler yöntemi

negatif artık değerini gösteren, regresyon doğrusunun altında kalmış artık değerine işaret eden ikinci ok

$RSS = $ $\displaystyle\sum_{i=1}^{n}(y_i-\hat{y_i})^2$

En Küçük Kareler (OLS): RSS’yi en aza indir

scikit-learn ile Supervised Learning

Daha yüksek boyutlarda doğrusal regresyon

$$ y = a_{1}x_{1} + a_{2}x_{2} + b$$

  • Burada doğrusal regresyonu uydurmak için:
    • 3 değişken belirtmelisiniz: $ a_1,\ a_2,\ b $
  • Daha yüksek boyutlarda:
    • Çoklu regresyon olarak bilinir
    • Her özellik için katsayılar ve $b$ değişkeni belirtilir

$$ y = a_{1}x_{1} + a_{2}x_{2} + a_{3}x_{3} +... + a_{n}x_{n}+ b$$

  • scikit-learn aynı şekilde çalışır:
    • İki dizi verin: özellikler ve hedef
scikit-learn ile Supervised Learning

Tüm özelliklerle doğrusal regresyon

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
reg_all = LinearRegression()
reg_all.fit(X_train, y_train)
y_pred = reg_all.predict(X_test)
scikit-learn ile Supervised Learning

R-kare

  • $R^2$: özelliklerin hedefte açıkladığı varyansı ölçer

    • Değerler 0 ile 1 arasındadır
  • Yüksek $R^2$:

sol alttan sağ üste 45 derece giden ve gözlemlere yakın geçen regresyon doğrusu

 

 

  • Düşük $R^2$:

yatay seyreden ve gözlemlerin doğrudan uzaklaştığı regresyon doğrusu

scikit-learn ile Supervised Learning

scikit-learn'de R-kare

reg_all.score(X_test, y_test)
0.356302876407827
scikit-learn ile Supervised Learning

Ortalama kare hata ve karekök ortalama kare hata

$MSE = $ $\displaystyle\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2$

  • $MSE$ hedef birimlerinin karesi cinsindendir

 

$RMSE = $ $\sqrt{MSE}$

  • $RMSE$ hedef değişkenle aynı birimledir
scikit-learn ile Supervised Learning

scikit-learn'de RMSE

from sklearn.metrics import root_mean_squared_error

root_mean_squared_error(y_test, y_pred)
24.028109426907236
scikit-learn ile Supervised Learning

Vamos praticar!

scikit-learn ile Supervised Learning

Preparing Video For Download...