t-SNE untuk peta 2 dimensi

Unsupervised Learning in Python

Benjamin Wilson

Director of Research at lateral.io

t-SNE untuk peta 2 dimensi

  • t-SNE = "t-distributed stochastic neighbor embedding"
  • Memetakan sampel ke ruang 2D (atau 3D)
  • Peta kira-kira mempertahankan kedekatan sampel
  • Cocok untuk inspeksi dataset
Unsupervised Learning in Python

t-SNE pada dataset iris

  • Dataset iris punya 4 pengukuran, jadi sampel berdimensi 4
  • t-SNE memetakan sampel ke ruang 2D
  • t-SNE tidak tahu ada spesies berbeda
  • ... tetapi tetap memisahkan spesies dengan cukup baik

plot sebar t-SNE pada dataset Iris

Unsupervised Learning in Python

Menafsirkan plot sebar t-SNE

  • "versicolor" dan "virginica" lebih sulit dibedakan
  • Konsisten dengan plot inersia k-means: bisa berargumen 2 klaster, atau 3

plot sebar t-SNE pada dataset Iris

Unsupervised Learning in Python

t-SNE di sklearn

  • Array NumPy 2D samples
print(samples)
[[ 5.   3.3  1.4  0.2]
 [ 5.   3.5  1.3  0.3]
 [ 4.9  2.4  3.3  1. ]
 [ 6.3  2.8  5.1  1.5]
 ...
 [ 4.9  3.1  1.5  0.1]]
  • Daftar species memberi label spesies sebagai angka (0, 1, atau 2)
print(species)
[0, 0, 1, 2, ..., 0]
Unsupervised Learning in Python

t-SNE di sklearn

import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
model = TSNE(learning_rate=100)

transformed = model.fit_transform(samples) xs = transformed[:,0] ys = transformed[:,1] plt.scatter(xs, ys, c=species) plt.show()

plot sebar t-SNE pada dataset Iris

Unsupervised Learning in Python

t-SNE hanya punya fit_transform()

  • Memiliki metode fit_transform()
  • Sekaligus melatih model dan mentransformasikan data
  • Tidak ada fit() atau transform() terpisah
  • Tidak bisa memperluas peta untuk sampel baru
  • Harus mulai dari awal setiap kali!
Unsupervised Learning in Python

Learning rate pada t-SNE

  • Pilih learning rate untuk dataset
  • Salah pilih: titik menumpuk
  • Coba nilai antara 50–200
Unsupervised Learning in Python

Berbeda setiap kali

  • Fitur t-SNE berbeda setiap kali
  • Wine Piedmont, 3 kali jalan, 3 sebaran berbeda!
  • ... namun: varietas wine (=warna) tetap relatif pada posisi yang sama satu sama lain

 

3 plot sebar t-SNE pada dataset wine dijalankan 3 kali

Unsupervised Learning in Python

Ayo berlatih!

Unsupervised Learning in Python

Preparing Video For Download...