PCA dönüşümünü görselleştirme

Python'da Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

Boyut indirgeme

  • Daha verimli depolama ve hesaplama
  • Daha az bilgilendirici "gürültü" özelliklerini kaldırır
  • ... bu özellikler sınıflandırma, regresyon gibi tahmin görevlerinde sorun yaratır
Python'da Unsupervised Learning

Principal Component Analysis

  • PCA = "Principal Component Analysis"
  • Temel bir boyut indirgeme tekniği
  • İlk adım: "dekorelasyon" (burada ele alınır)
  • İkinci adım: boyutu indirgeme (sonra ele alınır)
Python'da Unsupervised Learning

PCA veriyi eksenlere hizalar

  • Veriyi eksenlere hizalamak için döndürür
  • Veriyi ortalaması 0 olacak şekilde kaydırır
  • Bilgi kaybı yoktur

rotasyonlu eksenlerle şarap verisinin saçılım grafiği

Python'da Unsupervised Learning

PCA fit/transform desenini izler

  • PCA, KMeans veya StandardScaler gibi bir scikit-learn bileşenidir
  • fit() verilen veriden dönüşümü öğrenir
  • transform() öğrenilen dönüşümü uygular
  • transform() yeni veriye de uygulanabilir
Python'da Unsupervised Learning

scikit-learn PCA kullanımı

  • samples = iki özelliğe sahip dizi (total_phenols ve od280)
[[ 2.8   3.92]
 ...
 [ 2.05  1.6 ]]
from sklearn.decomposition import PCA

model = PCA() model.fit(samples)
PCA()
transformed = model.transform(samples)
Python'da Unsupervised Learning

PCA özellikleri

  • Dönüştürülenin satırları örneklere karşılık gelir
  • Sütunlar "PCA özellikleri"dir
  • Satır, ilgili örneğin PCA özellik değerlerini verir
print(transformed)
[[  1.32771994e+00   4.51396070e-01]
 [  8.32496068e-01   2.33099664e-01]
 ...
 [ -9.33526935e-01  -4.60559297e-01]]
Python'da Unsupervised Learning

PCA özellikleri ilişkili değildir

  • Veri kümesindeki özellikler genelde ilişkilidir; örn. total_phenols ve od280
  • PCA veriyi eksenlere hizalar
  • Ortaya çıkan PCA özellikleri doğrusal olarak ilişkili değildir ("dekorelasyon")

rotasyonlu eksenlerle şarap verisinin saçılım grafiği

Python'da Unsupervised Learning

Pearson korelasyonu

  • Özellikler arasındaki doğrusal korelasyonu ölçer
  • Değer −1 ile 1 arasındadır
  • 0 değeri doğrusal korelasyon olmadığını gösterir

korelasyonu 0.7, 0 ve -0.7 olan 3 saçılım grafiği

Python'da Unsupervised Learning

Temel bileşenler

  • "Temel bileşenler" = varyans yönleri
  • PCA, temel bileşenleri eksenlerle hizalar

2 kırmızı okla temel bileşen yönlerini (döndürülmüş eksenler) gösteren şarap verisi saçılım grafiği

Python'da Unsupervised Learning

Temel bileşenler

  • PCA nesnesinin components_ özniteliği olarak bulunur
  • Her satır, ortalamadan sapma yönünü tanımlar
print(model.components_)
[[ 0.64116665  0.76740167]
 [-0.76740167  0.64116665]]
Python'da Unsupervised Learning

Haydi pratik yapalım!

Python'da Unsupervised Learning

Preparing Video For Download...