2-डायमेंशनल मैप्स के लिए t-SNE

Python में Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

2-डायमेंशनल मैप्स के लिए t-SNE

  • t-SNE = "t-distributed stochastic neighbor embedding"
  • सैंपल्स को 2D (या 3D) स्पेस में मैप करता है
  • मैप सैंपल्स की नज़दीकी लगभग बनाए रखता है
  • डेटासेट जाँचने के लिए बेहतरीन
Python में Unsupervised Learning

iris डेटासेट पर t-SNE

  • Iris डेटासेट में 4 माप हैं, इसलिए सैंपल 4-डायमेंशनल हैं
  • t-SNE सैंपल्स को 2D स्पेस में मैप करता है
  • t-SNE को अलग प्रजातियों का पता नहीं था
  • ... फिर भी प्रजातियाँ अधिकतर अलग रहीं

Iris डेटासेट पर किए गए t-SNE का स्कैटर प्लॉट

Python में Unsupervised Learning

t-SNE स्कैटर प्लॉट्स को समझना

  • "versicolor" और "virginica" को अलग पहचानना कठिन
  • k-means inertia प्लॉट के अनुरूप: 2 या 3 क्लस्टर्स का तर्क दिया जा सकता है

Iris डेटासेट पर किए गए t-SNE का स्कैटर प्लॉट

Python में Unsupervised Learning

sklearn में t-SNE

  • 2D NumPy array 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]]
  • सूची species जो लेबल्स की species को संख्या (0, 1, या 2) में देती है
print(species)
[0, 0, 1, 2, ..., 0]
Python में Unsupervised Learning

sklearn में t-SNE

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()

Iris डेटासेट पर किए गए t-SNE का स्कैटर प्लॉट

Python में Unsupervised Learning

t-SNE में सिर्फ fit_transform() होता है

  • fit_transform() मेथड होता है
  • यह साथ में मॉडल फिट करता है और डेटा ट्रांसफॉर्म करता है
  • अलग fit() या transform() मेथड नहीं होते
  • नए डेटा सैंपल्स को मैप में जोड़ नहीं सकते
  • हर बार फिर से शुरू करना पड़ता है!
Python में Unsupervised Learning

t-SNE learning rate

  • डेटासेट के लिए learning rate चुनें
  • गलत चुनाव: पॉइंट्स एक साथ सिमट जाते हैं
  • 50 से 200 के बीच मान आज़माएँ
Python में Unsupervised Learning

हर बार अलग

  • t-SNE फीचर्स हर बार अलग होते हैं
  • Piedmont वाइन्स, 3 रन, 3 अलग स्कैटर प्लॉट!
  • ... लेकिन: wine varieties (=रंग) एक-दूसरे के सापेक्ष वही स्थिति रखते हैं

 

वाइन्स डेटासेट पर 3 अलग समय पर किए गए t-SNE के 3 स्कैटर प्लॉट

Python में Unsupervised Learning

अभ्यास करते हैं!

Python में Unsupervised Learning

Preparing Video For Download...