CodeBlanks Logo Icon CodeBlanks

Özet - Regularizasyon

Bu grupta L1, L2 ve ElasticNet regularizasyonunu öğrendin.

Özet: düzenlileştirme

Bu grupta:

  • Düzenlileştirme katsayı büyüklüğüne ceza ekleyerek aşırı öğrenmeyi azaltır; özellikler önce ölçeklenmelidir.
  • Lasso (L1): katsayıları sıfıra iter, özellik seçer; ilişkili özelliklerden birini keyfi seçebilir.
  • Ridge (L2): katsayıları küçültür, ağırlığı paylaştırır, kararlıdır.
  • ElasticNet: ikisinin karışımı, l1_ratio.
  • alpha CV ile seçilir: RidgeCV, LassoCV, ElasticNetCV; lojistik ve SVM'de C = 1/α.

Uygulama Üç modeli karşılaştır

LinearRegression, RidgeCV(alphas=np.logspace(-2, 3, 11)) ve LassoCV(cv=5, random_state=0) modellerini ölçekli veride 5 katlı CV R² ortalamasıyla karşılaştır. Üç skoru round(..., 3) ile aynı satırda yazdır.

Başlangıç kodu

model.py
import numpy as np
from sklearn.preprocessing import StandardScaler

rng = np.random.default_rng(0)
X = rng.normal(size=(60, 20))
y = 3 * X[:, 0] - 2 * X[:, 1] + 1.5 * X[:, 2] + rng.normal(0, 1, 60)
Xs = StandardScaler().fit_transform(X)
from sklearn.linear_model import LinearRegression, RidgeCV, LassoCV
from sklearn.model_selection import cross_val_score

# buraya yaz

Örnek çözüm

model.py
import numpy as np
from sklearn.preprocessing import StandardScaler

rng = np.random.default_rng(0)
X = rng.normal(size=(60, 20))
y = 3 * X[:, 0] - 2 * X[:, 1] + 1.5 * X[:, 2] + rng.normal(0, 1, 60)
Xs = StandardScaler().fit_transform(X)
from sklearn.linear_model import LinearRegression, RidgeCV, LassoCV
from sklearn.model_selection import cross_val_score

modeller = [LinearRegression(), RidgeCV(alphas=np.logspace(-2, 3, 11)), LassoCV(cv=5, random_state=0)]
print(*[round(cross_val_score(m, Xs, y, cv=5).mean(), 3) for m in modeller])

Beklenen çıktı

0.848 0.854 0.888

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Yorumlanabilir, az özellikli bir model istiyorsan hangisini seçersin?

  • Düzenlileştirme yok
  • Lasso Doğru cevap
  • Ridge
  • Sıradan regresyon

Açıklama: Lasso'nun sıfır katsayıları özellik seçimi anlamına gelir.

2 Lojistik regresyonda güçlü ceza uygula.

Soru
m = LogisticRegression(____=0.01)
Cevap
m = LogisticRegression(C=0.01)

Açıklama: C ceza gücünün tersidir; küçük C güçlü cezadır.

3 Modelleri eşleştir.

Kavram Anlamı
Lasso L1, seyrek
Ridge L2, paylaşımlı
ElasticNet L1 + L2
RidgeCV alpha'yı seçer

Orta seviye bölümündeki tüm dersler