Apprentissage sur variété avec Scikit-Learn

Machine LearningMachine LearningBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous explorerons l'apprentissage sur variété, qui est une approche de réduction de la dimensionalité non linéaire. La réduction de la dimensionalité est souvent utilisée pour visualiser des ensembles de données à haute dimension, car il peut être difficile d'interpréter les données en plus de trois dimensions. Les algorithmes d'apprentissage sur variété visent à trouver une représentation à basse dimension des données qui conserve la structure sous-jacente.

Dans ce laboratoire, nous utiliserons la bibliothèque scikit-learn pour effectuer l'apprentissage sur variété sur divers ensembles de données. Nous explorerons différents algorithmes et comparerons leurs performances et leurs sorties.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Isomap

L'algorithme Isomap est l'un des premiers approches d'apprentissage sur variété. Il cherche une projection à basse dimension qui conserve les distances géodésiques entre tous les points.

from sklearn.manifold import Isomap

## Crée une instance de l'algorithme Isomap
isomap = Isomap(n_components=2)

## Ajuste l'algorithme aux données et transforme les données dans l'espace à basse dimension
X_transformed = isomap.fit_transform(X)

Embedding localement linéaire (Locally Linear Embedding - LLE)

L'Embedding localement linéaire (LLE) est un autre algorithme d'apprentissage sur variété. Il cherche une projection à basse dimension des données qui conserve les distances au sein des voisinages locaux.

from sklearn.manifold import LocallyLinearEmbedding

## Crée une instance de l'algorithme LLE
lle = LocallyLinearEmbedding(n_components=2)

## Ajuste l'algorithme aux données et transforme les données dans l'espace à basse dimension
X_transformed = lle.fit_transform(X)

t-distributed Stochastic Neighbor Embedding (t-SNE)

Le t-SNE est une méthode populaire d'apprentissage sur variété qui convertit les affinités entre les points de données en probabilités. Il est particulièrement efficace pour visualiser les données à haute dimension.

from sklearn.manifold import TSNE

## Crée une instance de l'algorithme t-SNE
tsne = TSNE(n_components=2)

## Ajuste l'algorithme aux données et transforme les données dans l'espace à basse dimension
X_transformed = tsne.fit_transform(X)

Comparez les résultats

Comparez les résultats des différents algorithmes d'apprentissage sur variété. Visualisez les données transformées pour voir comment les algorithmes ont conservé la structure sous-jacente des données.

import matplotlib.pyplot as plt

## Crée un graphique en points dispersés des données transformées
plt.scatter(X_transformed[:, 0], X_transformed[:, 1], c=y)
plt.title('Apprentissage sur variété')
plt.xlabel('Composante 1')
plt.ylabel('Composante 2')
plt.show()

Sommaire

L'apprentissage sur variété est un outil puissant pour visualiser des ensembles de données à haute dimension. Il nous permet de réduire la dimensionalité des données tout en conservant la structure sous-jacente. Dans ce laboratoire, nous avons exploré trois algorithmes différents d'apprentissage sur variété : Isomap, Embedding localement linéaire (LLE) et t-SNE. Nous avons appliqué ces algorithmes à divers ensembles de données et comparé leurs résultats. En utilisant l'apprentissage sur variété, nous pouvons obtenir des informations sur la structure des ensembles de données complexes et analyser et visualiser plus efficacement les données à haute dimension.