Özet - Boyut indirgeme
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 80/112
- 6 dk
Bu grupta PCA, t-SNE ve boyut indirgeme avantajlarını öğrendin.
Özet: boyut indirgeme
Bu grupta:
- İki aile: özellik seçimi (özgün sütunlar) ve özellik çıkarımı (yeni sütunlar).
- Nedenler: hız, gürültü azaltma, görselleştirme, boyutun laneti.
- PCA doğrusal ve yeni veriye uygulanabilir; t-SNE yerel komşulukları koruyan bir görselleştirme aracıdır.
- 2 boyutlu haritalar sınıf ayrılabilirliği ve karışacak sınıflar hakkında ipucu verir.
- Kazanç her zaman indirgemesiz modelle karşılaştırılarak ölçülür;
KernelPCAdoğrusal olmayan yapılar için.
Uygulama İndirgemenin kazancı
Rakam verisinde make_pipeline(StandardScaler(), PCA(n_components=20), SVC()) kur. Önce olduğu gibi, sonra set_params(pca="passthrough") ile 5 katlı CV doğruluğunu hesapla. İki skoru round(..., 3) ile aynı satırda yazdır (önce PCA'lı).
Başlangıç kodu
import numpy as np
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.svm import SVC
from sklearn.model_selection import cross_val_score
# buraya yazÖrnek çözüm
import numpy as np
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.svm import SVC
from sklearn.model_selection import cross_val_score
pipe = make_pipeline(StandardScaler(), PCA(n_components=20), SVC())
a = cross_val_score(pipe, X, y, cv=5).mean()
pipe.set_params(pca="passthrough")
b = cross_val_score(pipe, X, y, cv=5).mean()
print(round(a, 3), round(b, 3))Beklenen çıktı
0.941 0.946
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir modelde pipeline içinde boyut indirgeme için hangisi kullanılamaz?
- PCA
- KernelPCA
- SelectKBest
- TSNE Doğru cevap
Açıklama: TSNE'nin transform yöntemi yoktur; test verisi aynı uzaya taşınamaz.
2 İndirgeme adımını kapatıp karşılaştır.
pipe.set_params(pca=____)
pipe.set_params(pca="passthrough")
Açıklama: "passthrough" adımı veri değişmeden geçecek biçimde kapatır.
3 Araçları eşleştir.
| Kavram | Anlamı |
|---|---|
load_digits |
8x8 rakam görüntüleri |
TSNE |
2B görselleştirme |
KernelPCA |
Kıvrımlı yapılar |
explained_variance_ratio_ |
Haritadaki bilgi payı |