CodeBlanks Logo Icon CodeBlanks

Özet - PCA

Bu grupta PCA, varyans ve n_components'i öğrendin.

Özet: PCA

Bu grupta:

  • PCA veriyi en büyük varyans yönlerine döndürür; bileşenler birbirine diktir.
  • Önce ölçekleme şarttır; yoksa büyük birimli özellik baskın olur.
  • Bileşen varyansları kovaryans matrisinin özdeğerleridir; tüm bileşenlerle PCA kayıpsız bir döndürmedir.
  • n_components: sayı ya da varyans oranı; en iyisi pipeline içinde CV ile seçilir.
  • inverse_transform yaklaşık geri dönüş; explained_variance_ratio_ ve yükler yorumu sağlar.

Uygulama PCA ile sınıflandırma

make_pipeline(StandardScaler(), PCA(), LogisticRegression(max_iter=1000)) için pca__n_components değerlerini [1, 2, 3, 5, 8] arasında GridSearchCV(..., cv=5) ile ara. best_params_ ve best_score_'u (round(..., 3)) alt alta yazdır.

Başlangıç kodu

model.py
from sklearn.datasets import load_wine
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV

X, y = load_wine(return_X_y=True)

# buraya yaz

Örnek çözüm

model.py
from sklearn.datasets import load_wine
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV

X, y = load_wine(return_X_y=True)

pipe = make_pipeline(StandardScaler(), PCA(), LogisticRegression(max_iter=1000))
gs = GridSearchCV(pipe, {"pca__n_components": [1, 2, 3, 5, 8]}, cv=5).fit(X, y)
print(gs.best_params_)
print(round(gs.best_score_, 3))

Beklenen çıktı

{'pca__n_components': 8}
0.978

Soru ve cevaplar

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

1 PCA hangi tür ilişkileri yakalayamaz?

  • Hepsini yakalar
  • Doğrusal olmayan yapılar (ör. spiral) Doğru cevap
  • Doğrusal korelasyonlar
  • Varyans farkları

Açıklama: PCA doğrusal bir dönüşümdür; kıvrımlı yapılar için t-SNE ya da UMAP gibi yöntemler gerekir.

2 Varyansın %95'ini koruyacak biçimde indir.

Soru
pca = PCA(n_components=____)
Cevap
pca = PCA(n_components=0.95)

Açıklama: 0-1 arası değer varyans oranı olarak yorumlanır.

3 Araçları eşleştir.

Kavram Anlamı
PCA Doğrusal boyut indirgeme
StandardScaler PCA öncesi
np.linalg.eigvalsh Özdeğerler
GridSearchCV Bileşen sayısı seçimi

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