Microsoft Clustering-Algorithmus
Der Microsoft Clustering-Algorithmus ist ein Segmentierungsalgorithmus, der von Microsoft SQL Server 2005 Analysis Services (SSAS) bereitgestellt wird. Der Algorithmus arbeitet mit iterativen Techniken, um die in einem Dataset enthaltenen Fälle in Clustern zu gruppieren, die ähnliche Merkmale enthalten. Diese Gruppierungen eignen sich zum Durchsuchen von Daten, Identifizieren von Datenanomalien und Erstellen von Vorhersagen.
Clustermodelle identifizieren Beziehungen in einem Dataset, die bei einer einfachen Betrachtung der Daten nicht unbedingt zu erkennen sind. Sie können z. B. logisch schlussfolgern, dass Personen, die mit dem Fahrrad zur Arbeit fahren, für gewöhnlich nicht weit von ihren Arbeitsplätzen entfernt wohnen. Der Algorithmus kann jedoch nach anderen Merkmalen von Fahrradpendlern suchen, die nicht so klar auf der Hand liegen. In dem folgenden Diagramm zeigt Cluster A Daten zu Personen, die dazu tendieren, mit dem Auto zur Arbeit fahren, während Cluster B Daten zu Personen zeigt, die dazu tendieren, mit dem Fahrrad zur Arbeit zu fahren.
Der Clustering-Algorithmus unterscheidet sich von anderen Data Mining-Algorithmen, z. B. dem Microsoft Decision Trees-Algorithmus, dadurch, dass Sie keine vorhersagbare Spalte bestimmen müssen, um in der Lage zu sein, ein Clustermodell aufzubauen. Der Clustering-Algorithmus trainiert das Modell systematisch anhand der Beziehungen, die in den Daten bestehen, und anhand der Cluster, die der Algorithmus identifiziert.
Beispiel
Stellen Sie sich eine Gruppe von Personen vor, die ähnliche demografische Daten aufweisen und ähnliche Produkte der Firma Adventure Works kaufen. Diese Gruppe entspricht einem Datencluster. In einer Datenbank gibt es u. U. viele von diesen Clustern. Durch genaues Betrachten der Spalten, die einen Cluster darstellen, lässt sich klarer erkennen, wie die Datensätze eines Datasets miteinander verknüpft sind.
Funktionsweise des Algorithmus
Der Microsoft Clustering-Algorithmus identifiziert zuerst die Beziehungen in einem Dataset und generiert dann auf der Basis dieser Beziehungen eine Reihe von Clustern. Wie das folgende Diagramm verdeutlicht, ist ein Punktdiagramm eine nützliche Methode, um darzustellen, wie der Algorithmus Daten gruppiert. Das Punktdiagramm stellt alle Fälle im Dataset dar, und jeder Fall entspricht einem Punkt auf dem Diagramm. Die Cluster gruppieren Punkte auf dem Diagramm und verdeutlichen die Beziehungen, die der Algorithmus identifiziert.
Nachdem Sie zuerst die Cluster definiert haben, berechnet der Algorithmus, wie gut die Cluster Punktegruppierungen darstellen. Anschließend versucht der Algorithmus, die Gruppierungen neu zu definieren, um Cluster zu erstellen, die den Daten besser entsprechen. Der Algorithmus wiederholt diesen Prozess so lange, bis sich die Ergebnisse durch Neudefinieren der Cluster nicht mehr verbessern lassen.
Der Microsoft Clustering-Algorithmus stellt zwei Methoden zur Verfügung, um zu berechnen, wie gut Punkte in die Cluster passen: Die EM-Clusteringmethode (Expectation Maximization) und K-Means. Für EM-Clustering verwendet der Algorithmus eine probabilistische Methode zur Bestimmung der Wahrscheinlichkeit, mit der ein Datenpunkt in einem Cluster vorhanden ist. Für K-Means verwendet der Algorithmus eine Abstandsmessung, um einen Datenpunkt seinem am nächsten gelegenen Cluster zuzuweisen.
Spalten mit einer Verwendung, die nur auf Vorhersage festgelegt ist, werden nicht zum Erstellen von Clustern verwendet. Ihre Verteilung in den Clustern wird berechnet, nachdem die Cluster erstellt sind.
Ausführliche Informationen zur Funktionsweise des Microsoft Clustering-Algorithmus finden Sie unter Scaling EM (Expectation Maximization) Clustering to Large Databases (in Englisch).
Verwenden des Algorithmus
Ein Clustermodell muss eine Schlüsselspalte und Eingabespalten enthalten. Sie können Eingabespalten auch als vorhersagbar definieren.
Der Algorithmus unterstützt bestimmte Inhaltstypen für Eingabespalten und vorhersagbare Spalten sowie Modellierungsflags. Diese sind in der nachstehenden Tabelle aufgelistet.
Inhaltstypen für Eingabespalten |
Kontinuierlich, Zyklisch, Diskret, Diskretisiert, Schlüssel, Tabelle und Sortiert |
Inhaltstypen für vorhersagbare Spalten |
Kontinuierlich, Zyklisch, Diskret, Diskretisiert, Tabelle und Sortiert |
Modellierungsflags |
MODEL_EXISTENCE_ONLY und NOT NULL |
Alle Microsoft-Algorithmen unterstützen eine gemeinsame Reihe von Funktionen. Der Microsoft Clustering-Algorithmus unterstützt jedoch zusätzliche Funktionen, die in der folgenden Tabelle aufgeführt werden.
|
Eine Liste der allen Microsoft-Algorithmen gemeinsamen Funktionen finden Sie unter Data Mining-Algorithmen. Weitere Informationen zum Verwenden dieser Funktionen finden Sie unter Data Mining-Erweiterungen (DMX) - Funktionsreferenz.
Der Microsoft Clustering-Algorithmus unterstützt das Verwenden von PMML (Predictive Model Markup Language) zum Erstellen von Miningmodellen.
Der Microsoft Clustering-Algorithmus unterstützt mehrere Parameter, die sich auf die Leistung und Genauigkeit des resultierenden Miningmodells auswirken. In der folgenden Tabelle wird jeder Parameter beschrieben.
Parameter | Beschreibung |
---|---|
CLUSTERING_METHOD |
Gibt an, welche Clustermethode der Algorithmus verwendet. Folgende Clustermethoden sind verfügbar: EM skalierbar (1), EM nicht skalierbar (2), K-Means skalierbar (3) oder K-Means nicht skalierbar (4). Der Standard lautet 1. |
CLUSTER_COUNT |
Gibt die ungefähre Anzahl von vom Algorithmus zu erstellenden Cluster an. Falls die ungefähre Anzahl von Clustern nicht aus den Daten erstellt werden kann, erstellt der Algorithmus so viele Cluster wie möglich. Durch Festlegen des CLUSTER_COUNT-Parameters auf 0 wird der Algorithmus zur Verwendung heuristischer Methoden veranlasst, um die Anzahl von zu erstellenden Clustern so gut wie möglich zu bestimmen. Der Standard lautet 10. |
CLUSTER_SEED |
Gibt den numerischen Ausgangswert für die zufällige Clustergenerierung für die Anfangsphase der Modellerstellung an. Der Standard lautet 0. |
MINIMUM_SUPPORT |
Gibt die Mindestanzahl von Fällen in jedem Cluster an. Der Standard lautet 1. |
MODELLING_CARDINALITY |
Gibt die Anzahl von Stichprobenmodellen an, die während des Clusterprozesses erstellt wurden. Der Standard lautet 10. |
STOPPING_TOLERANCE |
Gibt den Wert an, mit dem bestimmt wird, wann Konvergenz erreicht ist und die Modellerstellung mit dem Algorithmus abgeschlossen ist. Konvergenz ist erreicht, wenn die Gesamtänderung der Clusterwahrscheinlichkeiten kleiner als das Verhältnis des STOPPING_TOLERANCE-Parameters geteilt durch die Modellgröße ist. Der Standard lautet 10. |
SAMPLE_SIZE |
Gibt die Anzahl von Fällen an, die bei jedem Durchlauf des Algorithmus verwendet werden, wenn der CLUSTERING_METHOD-Parameter auf eine der skalierbaren Clustermethoden festgelegt ist. Das Festlegen des SAMPLE_SIZE-Parameters auf 0 bewirkt eine Clustererstellung für das gesamte Dataset in einem einzelnen Durchlauf. Dies kann zu Arbeitsspeicher- und Leistungsproblemen führen. Der Standard lautet 50000. |
MAXIMUM_INPUT_ATTRIBUTES |
Gibt die maximale Anzahl von Eingabeattributen an, die der Algorithmus verarbeiten kann, bevor die Featureauswahl aufgerufen wird. Wenn dieser Wert auf 0 festgelegt wird, ist keine maximale Anzahl von Attributen angegeben. Der Standard lautet 255. |
MAXIMUM_STATES |
Gibt die maximale Anzahl vom vom Algorithmus unterstützten Attributstatus an. Wenn die Anzahl von Status eines Attributs größer als die maximale Anzahl von Status ist, verwendet der Algorithmus die gebräuchlichsten Status und behandelt die restlichen Status als fehlend. Der Standard lautet 100. |
Siehe auch
Konzepte
Data Mining-Algorithmen
Data Mining-Assistent
Featureauswahl beim Data Mining
Verwenden der Data Mining-Tools
Anzeigen eines Miningmodells mit dem Microsoft Cluster-Viewer