Tweet Share Share

Zuletzt aktualisiert am 20.08.2020

Clustering oder Clusteranalyse ist ein unbeaufsichtigtes Lernproblem.

Es wird häufig als Datenanalysetechnik verwendet, um interessante Muster in Daten zu entdecken, z. B. Kundengruppen basierend auf ihrem Verhalten.

Es stehen viele Clustering-Algorithmen zur Auswahl und kein einziger bester Clustering-Algorithmus für alle Fälle. Stattdessen ist es eine gute Idee, eine Reihe von Clustering-Algorithmen und verschiedene Konfigurationen für jeden Algorithmus zu untersuchen.,

In diesem Tutorial erfahren Sie, wie Sie Top-Clustering-Algorithmen in Python anpassen und verwenden.

Nach Abschluss dieses Tutorials wissen Sie:

  • Clustering ist ein unbeaufsichtigtes Problem beim Finden natürlicher Gruppen im Funktionsraum von Eingabedaten.
  • Es gibt viele verschiedene Clustering-Algorithmen und keine einzige beste Methode für alle Datensätze.
  • Implementierung, Anpassung und Verwendung von Top-Clustering-Algorithmen in Python mit der Scikit-Learn-Bibliothek für maschinelles Lernen.,

Starten Sie Ihr Projekt mit meinem neuen Buch Machine Learning Mastery With Python, einschließlich Schritt-für-Schritt-Tutorials und den Python-Quellcodedateien für alle Beispiele.

Los geht ‚ s.

Clustering Algorithms With Python
Foto von Lars Plougmann, einige Rechte vorbehalten.,/div>

Tutorial-Übersicht

Dieses tutorial ist in drei Teile gegliedert; Sie sind:

  1. Clustering
  2. Clustering-Algorithmen
  3. Beispiele von Clustering-Algorithmen
    1. Library-Installation
    2. Clustering Dataset
    3. Affinity Propagation
    4. Agglomerative Clustering
    5. BIRKE
    6. DBSCAN
    7. K-Means
    8. Mini-Batch K-Means
    9. Mean Shift
    10. OPTIK
    11. Spectral Clustering
    12. Gaussian Mixture Model

Clustering

der Clusteranalyse oder clustering ist eine unüberwachte machine-learning-Aufgabe.,

Dabei wird die natürliche Gruppierung in Daten automatisch erkannt. Im Gegensatz zu überwachtem Lernen (wie Predictive Modeling) interpretieren Clustering-Algorithmen nur die Eingabedaten und finden natürliche Gruppen oder Cluster im Feature Space.

Clustering-Techniken werden angewendet, wenn keine Klasse vorhergesagt werden muss, sondern wenn die Instanzen in natürliche Gruppen unterteilt werden sollen.

— Seite 141, Data Mining: Practical Machine Learning Tools und Techniken, 2016.,

Ein Cluster ist häufig ein Dichtebereich im Merkmalsraum, in dem Beispiele aus der Domäne (Beobachtungen oder Datenzeilen) näher am Cluster liegen als andere Cluster. Der Cluster kann ein Zentrum (den Schwerpunkt) haben, das ein Sample oder ein Punkt-Feature-Space ist und eine Grenze oder Ausdehnung haben kann.

Diese Cluster spiegeln vermutlich einen Mechanismus wider, der in der Domäne funktioniert, aus der Instanzen gezogen werden, ein Mechanismus, der bewirkt, dass einige Instanzen eine stärkere Ähnlichkeit zueinander aufweisen als die übrigen Instanzen.,

— Seiten 141-142, Data Mining: Practical Machine Learning Tools und Techniken, 2016.

Clustering kann als Datenanalyseaktivität hilfreich sein, um mehr über die Problemdomäne, sogenannte Pattern Discovery oder Knowledge Discovery, zu erfahren.

Zum Beispiel:

  • Der phylogenetische Baum könnte als Ergebnis einer manuellen Clusteranalyse betrachtet werden.
  • Das Trennen normaler Daten von Ausreißern oder Anomalien kann als Clusterproblem angesehen werden.,
  • Das Trennen von Clustern basierend auf ihrem natürlichen Verhalten ist ein Clustering-Problem, das als Marktsegmentierung bezeichnet wird.

Clustering kann auch als eine Art Feature-Engineering nützlich sein, bei dem vorhandene und neue Beispiele abgebildet und als zu einem der identifizierten Cluster in den Daten gehörend gekennzeichnet werden können.

Die Bewertung identifizierter Cluster ist subjektiv und kann einen Domänenexperten erfordern, obwohl es viele clusterspezifische quantitative Maßnahmen gibt., In der Regel werden Clustering-Algorithmen auf synthetischen Datensätzen akademisch mit vordefinierten Clustern verglichen, von denen erwartet wird, dass sie von einem Algorithmus entdeckt werden.

Clustering ist eine unbeaufsichtigte Lerntechnik, daher ist es schwierig, die Qualität der Ausgabe einer bestimmten Methode zu bewerten.

— Seite 534), Machine Learning: A Probabilistic Perspective, 2012.

Clustering-Algorithmen

Es gibt viele Arten von clustering-algorithmen.,

Viele Algorithmen verwenden Ähnlichkeits – oder Entfernungsmaße zwischen Beispielen im Merkmalsraum, um dichte Regionen von Beobachtungen zu entdecken. Daher ist es häufig eine gute Praxis, Daten zu skalieren, bevor Clustering-Algorithmen verwendet werden.

Zentral für alle Ziele der Clusteranalyse ist der Begriff des Grades der Ähnlichkeit (oder Unähnlichkeit) zwischen den einzelnen Objekten, die gruppiert werden. Eine Clustering-Methode versucht, die Objekte basierend auf der Definition der Ähnlichkeit zu gruppieren.,

— Seite 502, Die Elemente des statistischen Lernens: Data Mining, Inferenz und Vorhersage, 2016.

Bei einigen Clustering-Algorithmen müssen Sie die Anzahl der Cluster angeben oder erraten, die in den Daten zu ermitteln sind, während andere die Angabe eines Mindestabstands zwischen Beobachtungen erfordern, in denen Beispiele als „nah“ oder „verbunden“ betrachtet werden können.,“

Als solches ist die Clusteranalyse ein iterativer Prozess, bei dem die subjektive Bewertung der identifizierten Cluster in Änderungen der Algorithmskonfiguration zurückgeführt wird, bis ein gewünschtes oder angemessenes Ergebnis erzielt wird.

Die scikit-Learn-Bibliothek bietet eine Reihe verschiedener Clustering-Algorithmen zur Auswahl.,

Eine Liste von 10 der populäreren Algorithmen ist wie folgt:

  • Affinity Propagation
  • Agglomerative Clustering
  • BIRCH
  • DBSCAN
  • K-Means
  • Mini-Batch K-Means
  • Mean Shift
  • OPTICS
  • Spectral Clustering
  • Gaußsche

Jeder Algorithmus bietet einen anderen Ansatz für die Herausforderung, natürliche Gruppen in Daten zu entdecken.

Es gibt keinen besten Clustering-Algorithmus und keine einfache Möglichkeit, den besten Algorithmus für Ihre Daten zu finden, ohne kontrollierte Experimente zu verwenden.,

In diesem Tutorial erfahren Sie, wie Sie jeden dieser 10 beliebten Clustering-Algorithmen aus der scikit-Learn-Bibliothek verwenden.

Die Beispiele bilden die Grundlage, auf der Sie die Beispiele kopieren, einfügen und die Methoden anhand Ihrer eigenen Daten testen können.

Wir werden nicht in die Theorie eintauchen, wie die Algorithmen funktionieren oder sie direkt vergleichen. Für eine gute starten Punkt zu diesem Thema finden Sie unter:

  • Clustering, scikit-learn-API.

Tauchen wir ein.,

Beispiele für Clustering-Algorithmen

In diesem Abschnitt erfahren Sie, wie Sie 10 beliebte Clustering-Algorithmen in scikit-learn verwenden.

Dies beinhaltet ein Beispiel für die Anpassung des Modells und ein Beispiel für die Visualisierung des Ergebnisses.

Die Beispiele sind so konzipiert, dass Sie in Ihr eigenes Projekt kopieren-einfügen und die Methoden auf Ihre eigenen Daten anwenden können.

Bibliotheksinstallation

Zuerst installieren wir die Bibliothek.

Überspringen Sie diesen Schritt nicht, da Sie sicherstellen müssen, dass die neueste Version installiert ist.,>

1
sudo pip install scikit-learn

For additional installation instructions specific to your platform, see:

  • Installing scikit-learn

Next, let’s confirm that the library is installed and you are using a modern version.,

Führen Sie das folgende Skript aus, um die Versionsnummer der Bibliothek zu drucken.,

1
2
3

/div>
# scikit-learn Version prüfen
import sklearn
print(sklearn.,__ version__)

Wenn Sie das Beispiel ausführen, sollten Sie die folgende Versionsnummer oder höher sehen.

1

0.22.,1

Clustering Dataset

Wir verwenden die make_classification () – Funktion zum erstellen einer test-binary classification dataset.

Der Datensatz enthält 1.000 Beispiele mit zwei Eingabefunktionen und einem Cluster pro Klasse. Die Cluster sind visuell in zwei Dimensionen sichtbar, so dass wir die Daten mit einem Streudiagramm darstellen und die Punkte im Diagramm durch den zugewiesenen Cluster einfärben können. Dies wird helfen, zumindest beim Testproblem zu sehen, wie „gut“ die Cluster identifiziert wurden.,

Die Cluster in diesem Testproblem basieren auf einem multivariaten Gaußschen, und nicht alle Clustering-Algorithmen können diese Clustertypen effektiv identifizieren. Daher sollten die Ergebnisse in diesem Tutorial nicht als Grundlage für den allgemeinen Vergleich der Methoden verwendet werden.

Ein Beispiel für die Erstellung und Zusammenfassung des synthetischen Clustering-Datensatzes ist unten aufgeführt.

Wenn Sie das Beispiel ausführen, wird das synthetische Clustering-Dataset erstellt und anschließend ein Streudiagramm der Eingabedaten mit Punkten erstellt, die nach Klassenbeschriftung gefärbt sind (idealisierte Cluster).,

Wir können zwei verschiedene Gruppen von Daten in zwei Dimensionen deutlich sehen und hoffen, dass ein automatischer Clustering-Algorithmus diese Gruppierungen erkennen kann.

Streudiagramm des synthetischen Clustering-Datensatzes mit Punkten, die durch bekannte Cluster gefärbt sind

Als nächstes können wir uns Beispiele für Clustering-Algorithmen ansehen, die auf diesen Datensatz angewendet werden.

Ich habe einige minimale Versuche unternommen, jede Methode auf den Datensatz abzustimmen.

Können Sie für einen der Algorithmen ein besseres Ergebnis erzielen?
Lassen Sie mich in den Kommentaren unten wissen.,

Affinitätsausbreitung

Bei der Affinitätsausbreitung wird eine Reihe von Beispielen gefunden, die die Daten am besten zusammenfassen.

Wir haben eine Methode namens“ Affinitätsausbreitung “ entwickelt, die als Eingabemaßnahmen für die Ähnlichkeit zwischen Datenpunktpaaren dient. Realwertige Nachrichten werden zwischen Datenpunkten ausgetauscht, bis nach und nach ein hochwertiger Satz von Beispielen und entsprechenden Clustern entsteht

— Clustering durch Übergabe von Nachrichten zwischen Datenpunkten, 2007.,

Die Technik ist in diesem Papier beschrieben:

  • Clustering durch Austausch von Nachrichten Zwischen den Datenpunkten, 2007.

Es wird über die AffinityPropagation-Klasse implementiert und die Hauptkonfiguration zum Einstellen ist die „Dämpfung“ zwischen 0,5 und 1 und möglicherweise „Präferenz“.“

Das vollständige Beispiel ist unten aufgeführt.

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall konnte ich kein gutes Ergebnis erzielen.,

Streudiagramm des Datensatzes mit Clustern, die mithilfe der Affinitätsausbreitung identifiziert wurden

Agglomeratives Clustering

Agglomeratives Clustering beinhaltet das Zusammenführen von Beispielen, bis die gewünschte Anzahl von Clustern erreicht ist.

Es ist Teil einer breiteren Klasse hierarchischer Clustering-Methoden und Sie können hier mehr erfahren:

  • Hierarchisches Clustering, Wikipedia.,

Es wird über die AgglomerativeClustering-Klasse implementiert und die Hauptkonfiguration zum Einstellen ist der Satz „n_clusters“, eine Schätzung der Anzahl der Cluster in den Daten, z. B. 2.

Das vollständige Beispiel ist unten aufgeführt.

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird eine vernünftige Gruppierung gefunden.,

Streudiagramm des Datensatzes mit Clustern, die durch agglomeratives Clustering identifiziert wurden

BIRCH

BIRCH Clustering (BIRCH ist die Abkürzung für Balanced Iterative Reducing und Clustering mit
Hierarchien) beinhaltet die Erstellung einer Baumstruktur, aus der Clusterzentroide extrahiert werden.

nkrementell und dynamisch Cluster eingehenden mehrdimensionalen metrischen Datenpunkte zu versuchen, die beste Qualität Clustering mit den verfügbaren Ressourcen zu erzeugen (dh.,, verfügbare Speicher-und Zeitbeschränkungen).

— BIRKE: Eine effiziente Daten-clustering-Methode für große Datenbanken, 1996.

Die Technik ist in diesem Papier beschrieben:

  • BIRKE: Eine effiziente Daten-clustering-Methode für große Datenbanken, 1996.

Es wird über die Birch-Klasse implementiert und die Hauptkonfiguration zum Einstellen sind die Hyperparameter „threshold“ und „n_clusters“, von denen letztere eine Schätzung der Anzahl der Cluster liefern.

Das vollständige Beispiel ist unten aufgeführt.,

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird eine hervorragende Gruppierung gefunden.,

Streudiagramm des Datensatzes mit Clustern, die mithilfe von räumlichem Clustering identifiziert wurden

DBSCAN

DBSCAN Clustering (wobei DBSCAN die Abkürzung für dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen ist) beinhaltet das Auffinden von Bereichen mit hoher Dichte in der Domäne und das Erweitern dieser Bereiche des Merkmalsraums um sie herum als Cluster.

… wir präsentieren den neuen Clustering-Algorithmus DBSCAN, der auf einem dichtebasierten Clusterbegriff basiert und Cluster beliebiger Form entdecken soll., DBSCAN benötigt nur einen Eingabeparameter und unterstützt den Benutzer bei der Bestimmung eines geeigneten Wertes dafür

— Ein dichtebasierter Algorithmus zum Erkennen von Clustern in großen räumlichen Datenbanken mit Rauschen, 1996.

Die Technik ist in diesem Papier beschrieben:

  • A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise, 1996.

Es wird über die DBSCAN-Klasse implementiert und die Hauptkonfiguration zum Einstellen sind die Hyperparameter „eps“ und „min_samples“.

Das vollständige Beispiel ist unten aufgeführt.,

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird eine vernünftige Gruppierung gefunden, obwohl mehr Abstimmung erforderlich ist.,

Streudiagramm des Datensatzes mit Clustern, die mit DBSCAN-Clustering identifiziert wurden

K-Means

K-Means Clustering kann der bekannteste Clusteringalgorithmus sein und beinhaltet das Zuweisen von Beispielen zu Clustern, um die Varianz innerhalb jedes Clusters zu minimieren.

Der Hauptzweck dieses Papiers besteht darin, einen Prozess zur Aufteilung einer N-dimensionalen Population in k Mengen auf der Grundlage einer Stichprobe zu beschreiben., Der Prozess, der als „k-means“ bezeichnet wird, scheint Partitionen zu ergeben, die im Sinne einer klasseninternen Varianz einigermaßen effizient sind.

— Einige Methoden für die Klassifizierung und Analyse von multivariaten Beobachtungen, 1967.

Die Technik ist hier beschrieben:

  • k-means-clustering, Wikipedia.

Es wird über die KMeans-Klasse implementiert und die Hauptkonfiguration zum Einstellen ist der Hyperparameter „n_clusters“, der auf die geschätzte Anzahl von Clustern in den Daten festgelegt ist.

Das vollständige Beispiel ist unten aufgeführt.,

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird eine vernünftige Gruppierung gefunden, obwohl die ungleiche gleiche Varianz in jeder Dimension die Methode für diesen Datensatz weniger geeignet macht.,

Streudiagramm des Datensatzes mit Clustern, die mit K-Means Clustering identifiziert wurden

Mini-Batch-K-Means

Mini-Batch-K-Means ist eine modifizierte Version von k-means, die Aktualisierungen der Clusterzentroiden mit Mini-Batches von Samples anstelle des gesamten Datensatzes vornimmt, was es für große Datensätze schneller machen kann, und vielleicht robuster gegenüber statistischem Rauschen.

… wir schlagen die Verwendung von mini-batch-Optimierung für die k-means-clustering., Dies reduziert die Berechnungskosten um Größenordnungen im Vergleich zum klassischen Batch-Algorithmus und liefert gleichzeitig deutlich bessere Lösungen als der stochastische Gradientenabstieg.

— Web-Waage K-Means-Clustering, 2010.

Die Technik ist in diesem Papier beschrieben:

  • Web-Scale K-Means-Clustering, 2010.

Es wird über die Klasse MiniBatchKMeans implementiert und die Hauptkonfiguration zum Einstellen ist der Hyperparameter „n_clusters“, der auf die geschätzte Anzahl von Clustern in den Daten festgelegt ist.

Das vollständige Beispiel ist unten aufgeführt.,

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird ein Ergebnis gefunden, das dem Standard-k-means-Algorithmus entspricht.

Streudiagramm des Datensatzes mit Clustern, die mithilfe von Mini-Batch-K identifiziert wurden-bedeutet Clustering

Mittlere Verschiebung

Mittlere Verschiebung Clustering beinhaltet das Finden und Anpassen von Zentroiden basierend auf der Dichte von Beispielen im Merkmalsraum.,

Wir beweisen für diskrete Daten die Konvergenz einer rekursiven mittleren Verschiebungsprozedur zum nächsten stationären Punkt der zugrunde liegenden Dichtefunktion und damit ihren Nutzen bei der Erkennung der Modi der Dichte.

— Mean Shift: A robust approach toward feature space analysis, 2002.

Die Technik ist in diesem Papier beschrieben:

  • Mean Shift: A robust approach toward feature space analysis, 2002.

Es wird über die MeanShift-Klasse implementiert und die Hauptkonfiguration zum Einstellen ist der Hyperparameter „Bandbreite“.,

Das vollständige Beispiel ist unten aufgeführt.

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wird ein angemessener Satz von Clustern in den Daten gefunden.,

Scatter Plot des Datensatzes Mit Clustern Identifiziert Mean Shift Clustering

OPTIK

OPTIK clustering (wo-OPTIK ist die Abkürzung für Ordering Points To Identify the Clustering Structure) ist eine modifizierte version von DBSCAN oben beschrieben.

Wir führen zum Zwecke der Clusteranalyse einen neuen Algorithmus ein, der nicht explizit ein Clustering eines Datensatzes erzeugt, sondern stattdessen eine erweiterte Reihenfolge der Datenbank erstellt, die ihre dichtebasierte Clusterstruktur darstellt., Diese Clusterreihenfolge enthält Informationen, die den dichtebasierten Clusterings entsprechen, die einem breiten Bereich von Parametereinstellungen entsprechen.

— OPTICS: ordering points to identify the clustering structure, 1999.

Die Technik ist in diesem Papier beschrieben:

  • OPTICS: ordering points to identify the clustering structure, 1999.

Es wird über die OPTICS-Klasse implementiert und die Hauptkonfiguration zum Einstellen sind die Hyperparameter „eps“ und „min_samples“.

Das vollständige Beispiel ist unten aufgeführt.,

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall konnte ich für diesen Datensatz kein vernünftiges Ergebnis erzielen.

Streudiagramm des Datensatzes mit Clustern, die mit OPTICS Clustering identifiziert wurden

Spectral Clustering

Spectral Clustering ist eine allgemeine Klasse von Clustering-Methoden, die aus linearer Algebra stammen.,

Eine vielversprechende Alternative, die kürzlich in einer Reihe von Feldern aufgetaucht ist, ist die Verwendung spektraler Methoden zum Clustering. Hier verwendet man die oberen Eigenvektoren einer Matrix, die aus dem Abstand zwischen Punkten abgeleitet ist.

— On Spectral Clustering: Analysis und algorithmen, 2002.

Die Technik ist in diesem Papier beschrieben:

  • On Spectral Clustering: Analysis und algorithmen, 2002.,

Es wird über die SpectralClustering-Klasse implementiert und das spektrale Hauptclustering ist eine allgemeine Klasse von Clustering-Methoden, die aus linearer Algebra stammen. zur Abstimmung wird der Hyperparameter „n_clusters“ verwendet, um die geschätzte Anzahl von Clustern in den Daten anzugeben.

Das vollständige Beispiel ist unten aufgeführt.

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall wurden vernünftige Cluster gefunden.,

Streudiagramm des Datensatzes mit Clustern, die mithilfe von Spectra Clustering Clustering identifiziert wurden

Gaußsches Mischungsmodell

Ein Gaußsches Mischungsmodell fasst eine multivariate Wahrscheinlichkeitsdichtefunktion mit einer Mischung Gaußscher Wahrscheinlichkeitsverteilungen zusammen, wie der Name schon sagt.

Weitere Informationen zum Modell finden Sie unter:

  • Gemischmodell, Wikipedia.,

Es wird über die GaussianMixture-Klasse implementiert und die Hauptkonfiguration zum Einstellen ist der Hyperparameter „n_clusters“, mit dem die geschätzte Anzahl von Clustern in den Daten angegeben wird.

Das vollständige Beispiel ist unten aufgeführt.

Das Ausführen des Beispiels passt zum Modell des Trainingsdatensatzes und prognostiziert für jedes Beispiel im Datensatz einen Cluster. Anschließend wird ein Streudiagramm mit Punkten erstellt, die von ihrem zugewiesenen Cluster gefärbt sind.

In diesem Fall können wir sehen, dass die Cluster perfekt identifiziert wurden., Dies ist nicht verwunderlich, da der Datensatz als eine Mischung von Gaußschen erzeugt wurde.

Streudiagramm des Datensatzes mit Clustern, die mithilfe des Gaußschen Gemischclusterings identifiziert wurden

Weitere Informationen

Dieser Abschnitt enthält weitere Ressourcen zum Thema, wenn Sie tiefer gehen möchten.

Papers

  • Clustering durch Austausch von Nachrichten Zwischen den Datenpunkten, 2007.
  • BIRKE: Eine effiziente Daten-clustering-Methode für große Datenbanken, 1996.,
  • A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise, 1996.
  • Einige Methoden für die Klassifizierung und Analyse von multivariaten Beobachtungen, 1967.
  • Web-Scale K-Means-Clustering, 2010.
  • Mean Shift: A robust approach toward feature space analysis, 2002.
  • On Spectral Clustering: Analysis und algorithmen, 2002.

Bücher

  • Data Mining: Practical Machine Learning Tools und Techniken, 2016.
  • Die Elemente des statistischen Lernens: Data Mining, Inferenz und Vorhersage, 2016.,
  • Maschinelles Lernen: Eine probabilistische Perspektive, 2012.

APIs

  • Clustering, scikit-learn-API.
  • sklearn.DataSet.make_classification API.
  • sklearn.cluster-API.

Artikel

  • Clusteranalyse, Wikipedia.
  • Hierarchische clustering-Wikipedia.
  • k-bedeutet Clustering, Wikipedia.
  • Gemischmodell, Wikipedia.

Zusammenfassung

In diesem Tutorial haben Sie herausgefunden, wie Top-Clustering-Algorithmen in Python angepasst und verwendet werden.,

Speziell haben Sie gelernt:

  • Clustering ist ein unbeaufsichtigtes Problem, natürliche Gruppen im Merkmalsraum von Eingabedaten zu finden.
  • Es gibt viele verschiedene Clustering-Algorithmen und keine einzige beste Methode für alle Datensätze.
  • Implementierung, Anpassung und Verwendung von Top-Clustering-Algorithmen in Python mit der Scikit-Learn-Bibliothek für maschinelles Lernen.

haben Sie Fragen?
stellen Sie Ihre Fragen in den Kommentaren unten und ich werde mein bestes tun zu beantworten.

Entdecken Sie schnelles maschinelles Lernen in Python!,

Entwickeln Sie Ihre Eigenen Modelle in Minuten

…mit nur ein paar Zeilen scikit-learn Code

Erfahren Sie, wie in meinem neuen Ebook:
Maschinelles Lernen Mastery mit Python

Deckt Selbststudium Tutorials und End-to-End-Projekte wie:
Laden von Daten, Visualisierung, Modellierung, Tuning und vieles mehr…

Bringen Sie endlich maschinelles Lernen in Ihre eigenen Projekte

Überspringen Sie die Akademiker. Nur Ergebnisse.

Sehen Sie, Was im Inneren

Tweet teilen Teilen

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.