2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Künstliche Intelligenz (KI) ist heute eines der heißesten Themen der Welt und verändert die Art und Weise, wie wir leben und arbeiten. Als wichtiger Zweig der KI hat maschinelles Lernen in verschiedenen Bereichen großes Potenzial und Wert gezeigt. Beim maschinellen Lernen ist Clustering ein wichtiger Algorithmus, und K-Means-Clustering ist eine der klassischen Methoden. In diesem Blog stellen wir den Trainingsprozess und den Vorhersageprozess des K-Means-Clustering-Modells im Detail vor und stellen Beispiele bereit, um zu veranschaulichen, wie K-Means-Clustering zur Durchführung einer Clusteranalyse für Daten verwendet wird.
K-Means-Clustering ist ein unbeaufsichtigter Lernalgorithmus, der die Stichproben im Datensatz in K Cluster aufteilt, um den Abstand zwischen Stichproben im selben Cluster so klein wie möglich und den Abstand zwischen verschiedenen Clustern so groß wie möglich zu machen. Beim K-Means-Clustering wird jeder Cluster durch einen Schwerpunkt dargestellt, und das Clustering wird iterativ durchgeführt, indem der Abstand zwischen den Stichproben im Cluster und dem Schwerpunkt minimiert wird.
Der Prozess des K-Means-Clustering kann grob in die folgenden Schritte unterteilt werden:
Der Vorhersageprozess des K-Means-Clustering-Modells besteht darin, dem Cluster mit dem nächstgelegenen Schwerpunkt neue Stichproben zuzuweisen.
In diesem Teil stellen wir den Trainingsprozess des K-Means-Clustering-Modells im Detail vor. Zur Vereinfachung der Erklärung verwenden wir zur Demonstration die Scikit-Learn-Bibliothek von Python.
Zuerst müssen wir die relevanten Bibliotheken importieren:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
Als Nächstes generieren wir einige simulierte Daten, um Folgendes zu demonstrieren:
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
Anschließend können wir das K-Means-Clustering-Modell verwenden, um die Daten zu trainieren:
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
Schließlich können wir die Trainingsergebnisse sowie die Schwerpunkte der Cluster visualisieren:
plt.scatter(X[:, 0], X[:, 1], s=50, c="lightblue", marker="o", edgecolor="black")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker="*", c="red", edgecolor="black")
plt.show()
Durch die oben genannten Schritte haben wir den Trainingsprozess des K-Means-Clustering-Modells abgeschlossen und außerdem ein visuelles Bild der Trainingsergebnisse erhalten.
Als nächstes stellen wir den Vorhersageprozess des K-Means-Clustering-Modells vor. Im K-Means-Clustering-Modell besteht der Vorhersageprozess darin, dem Cluster mit dem nächstgelegenen Schwerpunkt neue Stichproben zuzuweisen.
Erstens können wir das trainierte K-Means-Clustering-Modell verwenden, um neue Stichproben vorherzusagen:
new_samples = np.array([[0, 0], [4, 4]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
Im obigen Code erstellen wir zwei neue Beispiele[0, 0]
Und[4, 4]
, und verwendenpredict
Methode, um es vorherzusagen. Schließlich erhalten wir die vorhergesagten Clusterbezeichnungen für neue Stichproben.
Um den Trainings- und Vorhersageprozess des K-Means-Clustering-Modells intuitiver zu verstehen, werden wir ihn anhand eines konkreten Beispiels veranschaulichen.
Angenommen, wir haben einen Datensatz mit drei FunktionenX
, wir wollen es in 3 Cluster aufteilen. Zunächst können wir die Daten mithilfe eines K-Means-Clustering-Modells trainieren:
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
Als nächstes wenden wir das trainierte Modell auf neue Proben an:
new_samples = np.array([[1, 1, 1], [2, 2, 2]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
Anhand der obigen Beispiele können wir den Trainings- und Vorhersageprozess des K-Means-Clustering-Modells deutlich erkennen.
Durch die Einführung dieses Blogs erhalten wir ein detailliertes Verständnis des Trainingsprozesses und des Vorhersageprozesses des K-Means-Clustering-Modells und demonstrieren anhand von Beispielen, wie die Scikit-Learn-Bibliothek von Python zum Durchführen von K-Means-Clustering verwendet wird. K-Means-Clustering ist ein einfacher und effizienter Clustering-Algorithmus, der auf verschiedene Bereiche angewendet werden kann, einschließlich Datenanalyse, Bildverarbeitung usw. Ich hoffe, dieser Blog hilft Ihnen beim Erlernen von maschinellem Lernen und künstlicher Intelligenz!