CodeBlanks Logo Icon CodeBlanks

Özet - Boyut indirgeme

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; KernelPCA doğ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

model.py
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

model.py
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.

Soru
pipe.set_params(pca=____)
Cevap
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ı

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