Boyut İndirgeme (Dimensionality Reduction) – 2

Temel Bileşen Analizi (Principal Component Analysis – PCA)

Verisetini düşük boyutlu bir hiperdüzleme indirgemeden önce, doğru hiperdüzlemi seçmemiz gerekiyor.

pca1.pngÖrneğin, yukarıdaki grafikte, verisetindeki noktaların üç farklı eksen üzerine izdüşümleri alınmıştır. Sağda, en üstteki izdüşümde maksimum varyans, en alttakinde ise minimum varyans vardır. Boyut indirgemede amacımız, maksimum varyans elde edilecek hiperdüzlemi belirlemektir. PCA algoritmasının ana fikri de, orjinal noktalar ile izdüşümleri arasındaki ortalama uzaklığı minimum yapmaktır.

Hiperdüzlemi belirlediğimiz birim vektörler “temel bileşen”(principal component) olarak adlandırılmaktadır. Yukarıdaki grafikte, c_1 ve  c_2 temel bileşenlerdir. Peki temel bileşenleri nasıl bulacağız?

Bunun için tekil değer ayrışımı (singular value decomposition) olarak adlandırılan, bir matrisi üç farklı matrisin çarpımı şeklinde yazabildiğimiz bir metod kullanılabilir. Bu üç farklı matrisden biri de bizim temel bileşenlerimizi içermektedir.

Temel bileşenlerimizi bulduktan sonra, verisetimizi temel bileşenler ile oluşturduğumuz bir matris ile çarparız. Böylece noktaların izdüşümleri bulunur.

Şimdi Scikit-Learn ile bir örnek yapalım.

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

Gerekli modülleri içeri aktardık.

iris = load_iris()
X, y  = iris.data, iris.target

Verimizi içeri aktardık.

pca = PCA(n_components=2)
X_transformed = pca.fit_transform(X)

Verimizi 2-boyutlu bir düzleme indirgedik.

plt.scatter(X_transformed[:, 0], X_transformed[:, 1], c=y)
plt.legend()
plt.xlabel("Temel Bileşen 1")
plt.ylabel("Temel Bileşen 2")
plt.title("Iris veriseti")
plt.savefig('iris_pca.png')

Verimizi görselleştirdik ve bir dosyaya kaydettik.

iris_pca.png

Bir sonraki yazıda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.
Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s