Özet - Regularizasyon
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 108/112
- 6 dk
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'deC = 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
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
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.
m = LogisticRegression(____=0.01)
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 |