Özsel boyut

Python'da Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

Bir uçuş rotasının özsel boyutu

  • 2 özellik: bir uçuş rotası boyunca noktalarda boylam ve enlem
  • Veri kümesi 2 boyutlu gibi görünür
  • Ancak tek bir özellikle yaklaştırılabilir: rota boyunca yer değiştirme
  • Özünde 1 boyutludur
latitude  longitude
  50.529     41.513
  50.360     41.672
  50.196     41.835
...

Boylama karşı enlemin saçılım grafiği

Python'da Unsupervised Learning

Özsel boyut

  • Özsel boyut = veri kümesini yaklaştırmak için gereken özellik sayısı
  • Boyut indirgeme fikrinin özüdür
  • Örneklerin en sıkı temsili nedir?
  • PCA ile saptanabilir
Python'da Unsupervised Learning

Versicolor veri kümesi

  • "versicolor", iris türlerinden biri
  • Yalnızca 3 özellik: çanak yaprak uzunluğu, çanak yaprak genişliği ve taç yaprak genişliği
  • Örnekler 3B uzayda noktalardır
Python'da Unsupervised Learning

Versicolor veri kümesinin özsel boyutu 2'dir

  • Örnekler düz, 2 boyutlu bir yüzeye yakındır
  • Bu yüzden 2 özellikle yaklaştırılabilir

3B uzayda versicolor noktaları: çanak yaprak uzunluğu vs çanak yaprak genişliği vs taç yaprak genişliği

Python'da Unsupervised Learning

PCA özsel boyutu belirler

  • Saçılım grafikleri yalnızca 2 veya 3 özellik varsa işe yarar
  • Örneklerde kaç özellik olursa olsun PCA özsel boyutu belirler
  • Özsel boyut = anlamlı varyansa sahip PCA özelliklerinin sayısı
Python'da Unsupervised Learning

Versicolor örneklerinin PCA'sı

3B uzayda döndürülmüş versicolor noktaları: PC1 vs PC2 vs PC3

Python'da Unsupervised Learning

PCA özellikleri varyansa göre azalan sırada dizilir

Çubuk grafik: pca özellik numarası vs varyans

Python'da Unsupervised Learning

Varyans ve özsel boyut

  • Özsel boyut, anlamlı varyansa sahip PCA özelliklerinin sayısıdır
  • Bizim örnekte: ilk iki PCA özelliği
  • Yani özsel boyut 2'dir

Çubuk grafik: pca özellik numarası vs varyans; 1 ve 2 arasında dikey kırmızı çizgi

Python'da Unsupervised Learning

PCA özelliklerinin varyanslarını çizmek

  • samples = versicolor örneklerinin dizisi
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

pca = PCA()
pca.fit(samples)
PCA()
features = range(pca.n_components_)
Python'da Unsupervised Learning

PCA özelliklerinin varyanslarını çizmek

plt.bar(features, pca.explained_variance_)
plt.xticks(features)
plt.ylabel('variance')
plt.xlabel('PCA feature')
plt.show()

Çubuk grafik: pca özellik numarası vs varyans

Python'da Unsupervised Learning

Özsel boyut belirsiz olabilir

  • Özsel boyut bir idealleştirmedir
  • ... her zaman tek doğru yanıt yoktur!
  • Piedmont şarapları: 2, 3 ya da daha fazlası savunulabilir

Şarap veri kümesinde pca özellik numarası vs varyans çubuk grafiği

Python'da Unsupervised Learning

Haydi pratik yapalım!

Python'da Unsupervised Learning

Preparing Video For Download...