t-SNE ile Manifold Learning

Manifold learning algoritmaları, asıl olarak veri görselleştirme için kullanılır. t-SNE (t-Distributed Stochastic Neighbor Embedding), en kullanışlı manifold learning algoritmalarından biridir. t-SNE algoritmasının ana fikri, noktalar arasındaki uzaklıkları olabildiğince koruyacak bir şekilde düşük boyutlu bir temsil bulmaktır. t-SNE, her bir veri noktası için rastgele bir düşük boyutlu temsil ile başlar ve, orjinal uzayda yakın olan noktaları birbirine yakın, uzak olanları ise birbirinden uzak tutmaya çalışır. t-SNE, birbirine uzak noktaların arasındaki uzaklığı korumaktansa birbirine yakın noktalara daha çok önem verir.

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

İlk olarak, her zamanki gibi, gerekli kütüphane, modül ve fonksiyonları içeri aktarıyoruz:

from sklearn.datasets import load_digits
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt

Verilerimizi yüklüyoruz. Örnek olarak Digits verisetini kullanacağız.

digits = load_digits()

t-SNE nesnesini oluşturup verimiz üzerinde eğitiyoruz:

tsne = TSNE()
digits_tsne = tsne.fit_transform(digits.data)

Görselleştirme zamanı:

colors = ["#476A2A", "#7851B8", "#BD3430", "#4A2D4E", "#875525",        "#A83683", "#4E655E", "#853541", "#3A3120", "#535D8E"]
plt.figure(figsize=(10, 10))
plt.xlim(digits_tsne[:, 0].min(), digits_tsne[:, 0].max() + 1)
plt.ylim(digits_tsne[:, 1].min(), digits_tsne[:, 1].max() + 1)
for i in range(len(digits.data)):
    plt.text(digits_tsne[i, 0], digits_tsne[i, 1], str(digits.target[i]),
    color = colors[digits.target[i]],
    fontdict={'weight': 'bold', 'size': 9})
    plt.xlabel("t-SNE feature 0")
    plt.xlabel("t-SNE feature 1")

tsne.png

Gördüğünüz gibi çoğu sınıf tek bir öbekte toplanmış durumda. Bu metodun bir gözetimsiz öğrenme metodu olduğunu göz önünde bulundurursak – yani, etiketler hakkında hiç bir bilgiye sahip değil – iki boyutta da sınıfları birbirinden ayırabilen bir temsil bulabildi.

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

Kaynaklar

  1. Andreas C. Müller (Author), Sarah Guido (Author). (n.d.). Introduction to Machine Learning with Python: A Guide for Data Scientists 1st Edition.
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 )

Google+ fotoğrafı

Google+ 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 )

Connecting to %s