Özet - SVM
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 30/112
- 6 dk
Bu grupta SVM, marj, kernel ve C parametresini öğrendin.
Özet: SVM
Bu grupta:
- SVM sınıflara en uzak sınırı seçer; sınırı destek vektörleri belirler.
- Marj
2/‖w‖; yumuşak marjda ihlallerin cezasıC. - Çekirdekler:
linear,poly,rbf; RBF'tegammaetki alanını belirler. - C ve gamma birlikte logaritmik ızgarada aranır.
- Her zaman ölçekleyiciyle pipeline; çok sınıfta OvO; regresyonda
SVR.
Uygulama C ve gamma araması
Ay verisinde {"svc__C": [0.1, 1, 10, 100], "svc__gamma": [0.1, 1, 10]} ızgarasıyla make_pipeline(StandardScaler(), SVC()) için GridSearchCV(..., cv=5) çalıştır. best_params_ ve test doğruluğunu round(..., 3) ile alt alta yazdır.
Başlangıç kodu
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X, y = make_moons(n_samples=300, noise=0.25, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
# buraya yazÖrnek çözüm
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X, y = make_moons(n_samples=300, noise=0.25, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
gs = GridSearchCV(make_pipeline(StandardScaler(), SVC()), {"svc__C": [0.1, 1, 10, 100], "svc__gamma": [0.1, 1, 10]}, cv=5)
gs.fit(X_train, y_train)
print(gs.best_params_)
print(round(gs.score(X_test, y_test), 3))Beklenen çıktı
{'svc__C': 1, 'svc__gamma': 10}
0.989
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 RBF SVM eğitim doğruluğu 1.0, test doğruluğu düşükse hangi ayar değişikliği önce denenmelidir?
- gamma ve/veya C'yi küçültmek Doğru cevap
- gamma'yı büyütmek
- Ölçeklemeyi kaldırmak
- C'yi büyütmek
Açıklama: İkisi de modelin esnekliğini azaltır ve aşırı öğrenmeyi düşürür.
2 SVM regresörünü oluştur.
r = ____(C=10, epsilon=0.1)
r = SVR(C=10, epsilon=0.1)
Açıklama: SVR, epsilon tüpü dışındaki hataları cezalandırır.
3 Parametreleri eşleştir.
| Kavram | Anlamı |
|---|---|
C |
İhlal cezası |
gamma |
Etki alanı darlığı |
kernel |
Benzerlik fonksiyonu |
epsilon |
Tüp genişliği |