Mannigfaltigkeitslernmethode mit Scikit-Learn

Machine LearningMachine LearningBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die Mannigfaltigkeitslernmethode untersuchen, die ein Verfahren zur nichtlinearen Dimensionsreduzierung ist. Die Dimensionsreduzierung wird häufig verwendet, um hochdimensionale Datensätze zu visualisieren, da es schwierig sein kann, Daten in mehr als drei Dimensionen zu interpretieren. Die Algorithmen der Mannigfaltigkeitslernmethode zielen darauf ab, eine niedrigerdimensionale Darstellung der Daten zu finden, die die zugrunde liegende Struktur bewahrt.

In diesem Lab werden wir die Bibliothek scikit-learn verwenden, um die Mannigfaltigkeitslernmethode auf verschiedenen Datensätzen durchzuführen. Wir werden verschiedene Algorithmen untersuchen und deren Leistung und Ausgabe vergleichen.

Tipps für die VM

Nachdem der Start der VM abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby um Hilfe bitten. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Isomap

Der Isomap-Algorithmus ist eine der frühesten Ansätze zur Mannigfaltigkeitslernmethode. Er sucht eine niedrigerdimensionale Einbettung, die die geodätischen Distanzen zwischen allen Punkten erhält.

from sklearn.manifold import Isomap

## Erstellen einer Instanz des Isomap-Algorithmus
isomap = Isomap(n_components=2)

## Anpassen des Algorithmus an die Daten und Transformation der Daten in den niedrigerdimensionalen Raum
X_transformed = isomap.fit_transform(X)

Lokale lineare Einbettung (Locally Linear Embedding, LLE)

Die Lokale lineare Einbettung (LLE) ist ein weiterer Algorithmus zur Mannigfaltigkeitslernmethode. Sie sucht eine niedrigerdimensionale Projektion der Daten, die die Distanzen innerhalb lokaler Nachbarschaften erhält.

from sklearn.manifold import LocallyLinearEmbedding

## Erstellen einer Instanz des LLE-Algorithmus
lle = LocallyLinearEmbedding(n_components=2)

## Anpassen des Algorithmus an die Daten und Transformation der Daten in den niedrigerdimensionalen Raum
X_transformed = lle.fit_transform(X)

t-verteilte stochastische Nachbar-Einbettung (t-SNE)

t-SNE ist eine beliebte Methode zur Mannigfaltigkeitslernmethode, die die Affinitäten von Datenpunkten in Wahrscheinlichkeiten umwandelt. Sie ist besonders effektiv bei der Visualisierung von hochdimensionalen Daten.

from sklearn.manifold import TSNE

## Erstellen einer Instanz des t-SNE-Algorithmus
tsne = TSNE(n_components=2)

## Anpassen des Algorithmus an die Daten und Transformation der Daten in den niedrigerdimensionalen Raum
X_transformed = tsne.fit_transform(X)

Ergebnisse vergleichen

Vergleichen Sie die Ergebnisse der verschiedenen Algorithmen zur Mannigfaltigkeitslernmethode. Visualisieren Sie die transformierten Daten, um zu sehen, wie die Algorithmen die zugrunde liegende Struktur der Daten bewahrt haben.

import matplotlib.pyplot as plt

## Erstellen eines Streudiagramms der transformierten Daten
plt.scatter(X_transformed[:, 0], X_transformed[:, 1], c=y)
plt.title('Mannigfaltigkeitslernmethode')
plt.xlabel('Komponente 1')
plt.ylabel('Komponente 2')
plt.show()

Zusammenfassung

Die Mannigfaltigkeitslernmethode ist ein leistungsstarkes Werkzeug zur Visualisierung von hochdimensionalen Datensätzen. Sie ermöglicht es uns, die Dimensionalität der Daten zu reduzieren, während die zugrunde liegende Struktur erhalten bleibt. In diesem Lab haben wir drei verschiedene Algorithmen zur Mannigfaltigkeitslernmethode untersucht: Isomap, Lokale lineare Einbettung (Locally Linear Embedding, LLE) und t-SNE. Wir haben diese Algorithmen auf verschiedene Datensätze angewandt und ihre Ergebnisse verglichen. Durch die Verwendung der Mannigfaltigkeitslernmethode können wir Einblicke in die Struktur komplexer Datensätze gewinnen und hochdimensionale Daten effektiver analysieren und visualisieren.