t-SNE pour les cartes en deux dimensions

Apprentissage non supervisé en Python

Benjamin Wilson

Director of Research at lateral.io

t-SNE pour les cartes en deux dimensions

  • t-SNE = "t-distributed stochastic neighbor embedding"
  • Mappe les échantillons dans un espace 2D (ou 3D)
  • La carte préserve approximativement la proximité des échantillons
  • Idéal pour l'inspection des ensembles de données
Apprentissage non supervisé en Python

t-SNE sur l'ensemble de données iris

  • L'ensemble de données Iris comporte 4 mesures, les échantillons sont donc à 4 dimensions
  • t-SNE représente les échantillons dans un espace 2D
  • t-SNE n'était pas conscient qu'il existait différentes espèces
  • … tout en maintenant les espèces largement séparées

scatter plot of t-SNE performed on Iris dataset

Apprentissage non supervisé en Python

Interprétation des diagrammes en nuage de points t-SNE

  • « versicolor » et « virginica » sont plus difficiles à distinguer l'une de l'autre
  • Conforme au graphique d'inertie k-means : pourrait indiquer 2 clusters, ou 3

scatter plot of t-SNE performed on Iris dataset

Apprentissage non supervisé en Python

t-SNE dans sklearn

  • Tableau 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]]
  • Liste species indiquant les espèces d'étiquettes sous forme de chiffres (0, 1 ou 2)
print(species)
[0, 0, 1, 2, ..., 0]
Apprentissage non supervisé en Python

t-SNE dans 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()

scatter plot of t-SNE performed on Iris dataset

Apprentissage non supervisé en Python

t-SNE ne dispose que de fit_transform()

  • Possède une méthode fit_transform()
  • Ajuste simultanément le modèle et transforme les données
  • Pas de méthodes distinctes pour fit() ou transform()
  • Il n'est pas possible d'étendre la carte pour inclure de nouveaux échantillons de données
  • Il est nécessaire de recommencer à chaque fois
Apprentissage non supervisé en Python

Taux d'apprentissage t-SNE

  • Sélectionner le taux d'apprentissage pour l'ensemble de données
  • Choix incorrect : les points se regroupent
  • Essayer des valeurs comprises entre 50 et 200
Apprentissage non supervisé en Python

Différent à chaque fois

  • Les caractéristiques t-SNE varient à chaque fois
  • Vins du Piémont, trois séries, trois diagrammes en nuage de points distincts.
  • … cependant : Les variétés de vin (ou couleurs) occupent la même position les unes par rapport aux autres

 

3 scatter plots of t-SNE performed on wines dataset 3 different times

Apprentissage non supervisé en Python

Passons à la pratique !

Apprentissage non supervisé en Python

Preparing Video For Download...