Unüberwachtes Lernen: Suche nach Repräsentationen der Daten

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 das Konzept des unüberwachten Lernens, insbesondere Clustering und Decomposition, erkunden. Unüberwachtes Lernen ist eine Art Maschinelles Lernen, bei der wir keine markierten Daten zum Training haben. Stattdessen versuchen wir, Muster oder Strukturen in den Daten zu finden, ohne vorherige Kenntnisse. Clustering ist eine häufige Technik für unüberwachtes Lernen, die verwendet wird, um ähnliche Beobachtungen zusammenzuteilen. Decomposition hingegen wird verwendet, um eine niedrigdimensionale Darstellung der Daten zu finden, indem die wichtigsten Merkmale oder Komponenten extrahiert werden.

VM-Tipps

Nachdem die VM gestartet 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 von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-71101{{"Unüberwachtes Lernen: Suche nach Repräsentationen der Daten"}} end

Clustering mit K-Means

Die erste Technik, die wir erkunden werden, ist das Clustering mit dem K-Means-Algorithmus. K-Means ist ein populärer Clustering-Algorithmus, der darauf abzielt, die Beobachtungen in gut voneinander getrennte Gruppen, genannt Cluster, aufzuteilen. Lassen Sie uns das Iris-Datensatz als Beispiel nehmen, um das Clustering mit K-Means zu demonstrieren.

from sklearn import cluster, datasets

## Lade den Iris-Datensatz
X_iris, y_iris = datasets.load_iris(return_X_y=True)

## Führe das K-Means-Clustering durch
k_means = cluster.KMeans(n_clusters=3)
k_means.fit(X_iris)

## Drucke die Cluster-Labels
print(k_means.labels_)

Clusteringbewertung

Nachdem das Clustering durchgeführt wurde, ist es wichtig, die Ergebnisse zu bewerten. In der unüberwachten Lernmethode haben wir jedoch keinen Zugang zu den wahren Labels. Daher müssen wir bei der Interpretation der Clustering-Ergebnisse vorsichtig sein. Es ist üblich, die Clustering-Ergebnisse anhand von Metriken wie dem Silhouettenindex und der innerhalb-Cluster-Summe der Quadrate zu bewerten. Diese Metriken können Einblicke in die Qualität des Clusterings geben.

Vektorquantisierung

Eine Anwendung von Clustering ist die Vektorquantisierung, bei der wir Clustering verwenden, um eine kleine Anzahl von Exemplaren auszuwählen, um Informationen zu komprimieren. Beispielsweise können wir Clustering verwenden, um ein Bild zu posterisieren:

import numpy as np
from sklearn import cluster, datasets
from sklearn.datasets import load_sample_image
import matplotlib.pyplot as plt

## Lade ein Beispielbild
image = load_sample_image("china.jpg")
## Konvertiere es in Graustufen
gray_image = image.mean(axis=2)

X = gray_image.reshape((-1, 1))

## Führe das K-Means-Clustering durch
k_means = cluster.KMeans(n_clusters=5, n_init=1)
k_means.fit(X)

## Komprimiere das Bild mit den Clusterzentren
values = k_means.cluster_centers_.squeeze()
labels = k_means.labels_
face_compressed = np.choose(labels, values)
face_compressed.shape = gray_image.shape

## Zeige das ursprüngliche und das komprimierte Bild an
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.imshow(gray_image, cmap='gray')
plt.title('Originalbild')

plt.subplot(1, 2, 2)
plt.imshow(face_compressed, cmap='gray')
plt.title('Komprimiertes Bild')

plt.show()

Zusammenfassung

In diesem Lab haben wir die Konzepte des unüberwachten Lernens, insbesondere Clustering und Decomposition, erkundet. Wir haben uns mit K-Means-Clustering, hierarchischem Agglomerations-Clustering, Feature-Agglomeration, Hauptkomponentenanalyse (PCA) und unabhängiger Komponentenanalyse (ICA) vertraut gemacht. Diese Techniken sind wertvoll für das Entdecken von Mustern und Strukturen in unmarkierten Daten und das Finden von niedrigdimensionalen Darstellungen, die die wichtigsten Informationen erfassen.