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.

Gruppiertes Muster von Pendlertendenzen

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.

Punktdiagramm von Fällen in einem Dataset

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.

Cluster

PredictCaseLikelihood

ClusterProbability

PredictNodeId

IsDescendant

PredictProbability

IsInNode

PredictStdev

PredictAdjustedProbability

PredictSupport

PredictAssociation

PredictVariance

PredictHistogram

 

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

Andere Ressourcen

CREATE MINING MODEL (DMX)

Hilfe und Informationen

Informationsquellen für SQL Server 2005