Das Label-Akquisitionsproblem beim unüberwachten Lernen erfordert spezifische Codebeispiele
Mit der Entwicklung von Big Data und maschinellem Lernen ist unüberwachtes Lernen zu einer der wichtigsten Methoden zur Lösung verschiedener Probleme in der realen Welt geworden. Im Gegensatz zum überwachten Lernen sind beim unüberwachten Lernen keine vorab markierten Trainingsdaten erforderlich, sondern es lernt und prognostiziert, indem automatisch Muster und Regelmäßigkeiten aus den Daten ermittelt werden. In praktischen Anwendungen werden jedoch häufig einige Label- oder Kategorieinformationen benötigt, um Daten zu analysieren und auszuwerten. Daher wird die Frage, wie man Labels beim unbeaufsichtigten Lernen erhält, zu einer zentralen Frage.
Das Problem der Etikettenerfassung beim unbeaufsichtigten Lernen umfasst zwei Aspekte: Clustering und Dimensionsreduktion. Beim Clustering werden ähnliche Stichproben in dieselbe Kategorie oder Gruppe eingeteilt. Dies kann uns dabei helfen, verborgene Strukturen in den Daten zu entdecken und hochdimensionale Daten einem niedrigdimensionalen Raum zuzuordnen, um die Daten besser zu visualisieren und zu verstehen. In diesem Artikel werden die Probleme bei der Etikettenerfassung beim Clustering bzw. bei der Dimensionsreduzierung vorgestellt und spezifische Codebeispiele gegeben.
1. Probleme bei der Etikettenerfassung beim Clustering
Clustering ist eine unbeaufsichtigte Lernmethode, die ähnliche Proben in verschiedene Kategorien oder Gruppen einteilt. Beim Clustering ist es oft notwendig, die Clustering-Ergebnisse mit den tatsächlichen Labels zu vergleichen, um die Qualität und Wirksamkeit des Clusterings zu bewerten. Beim unbeaufsichtigten Lernen ist es jedoch schwierig, echte Etiketteninformationen zur Auswertung zu erhalten. Daher benötigen wir einige Techniken und Methoden, um die Beschriftungen von Clustern zu erhalten.
Eine gängige Methode besteht darin, externe Indikatoren wie ARI (Adjusted Rand Index) und NMI (Normalized Mutual Information) zu verwenden, um die Ähnlichkeit zwischen den Clustering-Ergebnissen und den tatsächlichen Bezeichnungen zu messen. Diese Metriken können über das Metrikmodul in der sklearn-Bibliothek berechnet werden. Das Folgende ist ein Beispiel für die Verwendung des K-Means-Clustering-Algorithmus zum Erhalten von Beschriftungen:
from sklearn.cluster import KMeans from sklearn import metrics # 加载数据 data = load_data() # 初始化聚类器 kmeans = KMeans(n_clusters=3) # 进行聚类 labels = kmeans.fit_predict(data) # 计算外部指标ARI和NMI true_labels = load_true_labels() ari = metrics.adjusted_rand_score(true_labels, labels) nmi = metrics.normalized_mutual_info_score(true_labels, labels) print("ARI: ", ari) print("NMI: ", nmi)
Im obigen Code werden die Daten zuerst über die Funktion „load_data()“ geladen, dann wird der KMeans-Algorithmus zum Clustering verwendet und fit_predict( )-Methode wird verwendet, um die Beschriftungen der Cluster zu erhalten. Laden Sie abschließend die tatsächlichen Etiketteninformationen über die Funktion „load_true_labels()“ und verwenden Sie „adjusted_rand_score()“ und „normalized_mutual_info_score()“, um die ARI- und NMI-Indikatoren zu berechnen.
Zusätzlich zu externen Metriken können wir auch interne Metriken verwenden, um die Qualität des Clusterings zu bewerten. Interne Metriken werden innerhalb der Daten berechnet und erfordern keine echten Etiketteninformationen. Zu den häufig verwendeten internen Indikatoren gehören der Silhouette-Koeffizient und der DB-Index (Davies-Bouldin-Index). Das Folgende ist ein Beispiel für die Verwendung von Silhouette-Koeffizienten zum Erhalten von Beschriftungen:
from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score # 加载数据 data = load_data() # 初始化聚类器 kmeans = KMeans(n_clusters=3) # 进行聚类 labels = kmeans.fit_predict(data) # 计算轮廓系数 silhouette_avg = silhouette_score(data, labels) print("Silhouette Coefficient: ", silhouette_avg)
Im obigen Code werden die Daten zuerst über die Funktion „load_data()“ geladen, dann wird der KMeans-Algorithmus zum Clustering verwendet und die Methode „fit_predict()“ verwendet um die Beschriftungen der Cluster zu erhalten. Schließlich wird der Silhouette-Koeffizient über silhouette_score() berechnet.
2. Etikettenerfassungsproblem bei der Dimensionsreduktion
Dimensionalitätsreduktion ist eine Methode zur Abbildung hochdimensionaler Daten auf niedrigdimensionalen Raum, die uns helfen kann, die Daten besser zu verstehen und zu visualisieren. Bei der Dimensionsreduzierung sind auch einige Beschriftungs- oder Kategorieinformationen erforderlich, um den Effekt der Dimensionsreduzierung zu bewerten.
Ein häufig verwendeter Algorithmus zur Dimensionsreduzierung ist die Hauptkomponentenanalyse (PCA), die die Originaldaten durch lineare Transformation einem neuen Koordinatensystem zuordnet. Wenn wir PCA zur Dimensionsreduzierung verwenden, können wir die Beschriftungsinformationen der Originaldaten verwenden, um den Effekt der Dimensionsreduzierung zu bewerten. Das Folgende ist ein Beispiel für die Verwendung von PCA zum Erhalten von Etiketten:
from sklearn.decomposition import PCA # 加载数据和标签 data, labels = load_data_and_labels() # 初始化PCA模型 pca = PCA(n_components=2) # 进行降维 reduced_data = pca.fit_transform(data) # 可视化降维结果 plt.scatter(reduced_data[:, 0], reduced_data[:, 1], c=labels) plt.show()
Im obigen Code werden die Daten und Etiketten zuerst über die Funktion „load_data_and_labels()“ geladen, dann wird der PCA-Algorithmus zur Dimensionsreduzierung und die Methode „fit_transform()“ verwendet wird verwendet, um die Ergebnisse der Dimensionsreduktion zu erhalten. Schließlich wird die Funktion „scatter()“ verwendet, um die Ergebnisse der Dimensionsreduzierung zu visualisieren, wobei die Beschriftungsinformationen durch Farbe dargestellt werden.
Es ist zu beachten, dass das Erhalten von Labels beim unüberwachten Lernen ein Hilfsmittel ist, das sich vom Labelerwerb beim überwachten Lernen unterscheidet. Der Etikettenerwerb beim unbeaufsichtigten Lernen dient eher der Bewertung und dem Verständnis der Wirkung des Modells und ist in praktischen Anwendungen nicht erforderlich. Daher müssen Sie bei der Auswahl einer Tag-Erfassungsmethode eine flexible Auswahl basierend auf bestimmten Anwendungsszenarien treffen.
Das obige ist der detaillierte Inhalt vonProblem der Etikettenerfassung beim unbeaufsichtigten Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!