Clustering-Algorithmen
- Themen:
- Abfragen
Erstellt für:
- Entwickler
Clustering-Algorithmen gruppieren Datenpunkte basierend auf ihren Ähnlichkeiten in verschiedene Cluster, sodass unbeaufsichtigtes Lernen Muster innerhalb der Daten erkennen kann. Verwenden Sie zum Erstellen eines Clustering-Algorithmus den Parameter type
in der OPTIONS
-Klausel, um den Algorithmus anzugeben, den Sie für das Modell-Training verwenden möchten. Definieren Sie anschließend die relevanten Parameter als Schlüssel-Wert-Paare, um das Modell fein abzustimmen.
K-Means
K-Means
ist ein Clustering-Algorithmus, der Datenpunkte in eine vordefinierte Anzahl von Clustern (K) unterteilt. Aufgrund seiner Einfachheit und Effizienz ist er einer der am häufigsten verwendeten Algorithmen für das Clustering.
Parameter
Bei Verwendung von K-Means
können die folgenden Parameter in der OPTIONS
-Klausel festgelegt werden:
Parameter | Beschreibung | Standardwert | Mögliche Werte |
---|---|---|---|
MAX_ITER | Die Anzahl der Iterationen, die der Algorithmus ausführen soll. | 20 | (>= 0) |
TOL | Die Konvergenztoleranzstufe. | 0.0001 | (>= 0) |
NUM_CLUSTERS | Die Anzahl der zu erstellenden Cluster (k ). | 2 | (>1) |
DISTANCE_TYPE | Der Algorithmus zur Berechnung des Abstands zwischen zwei Punkten. Bei dem Wert ist die Groß-/Kleinschreibung zu beachten. | euclidean | euclidean , cosine |
KMEANS_INIT_METHOD | Der Initialisierungsalgorithmus für die Cluster-Center. | k-means|| | random , k-means|| (Eine Parallelversion von k-Means++) |
INIT_STEPS | Die Anzahl der Schritte für den k-means|| -Initialisierungsmodus (gilt nur, wenn KMEANS_INIT_METHOD k-means|| ist). | 2 | (>0) |
PREDICTION_COL | Der Name der Spalte, in der die Prognosen gespeichert werden. | prediction | Beliebige Zeichenfolge |
SEED | Ein zufälliger Startwert für die Reproduzierbarkeit. | -1689246527 | Beliebige 64-Bit-Zahl |
WEIGHT_COL | Der Name der Spalte, die für die Gewichtung der Instanzen verwendet wird. Ist dies nicht festgelegt, werden alle Instanzen gleich gewichtet. | not set | K. A. |
Beispiel
CREATE MODEL modelname
OPTIONS(
type = 'kmeans',
MAX_ITERATIONS = 30,
NUM_CLUSTERS = 4
)
AS SELECT col1, col2, col3 FROM training-dataset;
Bisecting K-means
Bisecting K-means ist ein hierarchischer Clustering-Algorithmus, der einen teilenden Ansatz (oder einen „Top-Down“-Ansatz) verwendet. Alle Beobachtungen beginnen in einem einzigen Cluster, und Aufspaltungen werden rekursiv durchgeführt, während die Hierarchie erstellt wird. Bisecting K-means kann häufig schneller sein als normale K-Means, liefert aber normalerweise andere Cluster-Ergebnisse.
Parameter
Parameter | Beschreibung | Standardwert | Mögliche Werte |
---|---|---|---|
MAX_ITER | Die maximale Anzahl von Iterationen, die der Algorithmus ausführt. | 20 | (>= 0) |
WEIGHT_COL | Der Spaltenname für die Gewichtung der Instanz. Wenn sie nicht festgelegt oder leer ist, werden alle Instanzgewichte als 1.0 behandelt. | NICHT FESTGELEGT | Beliebige Zeichenfolge |
NUM_CLUSTERS | Die gewünschte Anzahl von Blattclustern. Die tatsächliche Zahl könnte kleiner sein, wenn keine teilbaren Cluster verbleiben. | 4 | (> 1) |
SEED | Der zufällige Seed, der zum Steuern zufälliger Prozesse im Algorithmus verwendet wird. | NICHT FESTGELEGT | Beliebige 64-Bit-Zahl |
DISTANCE_MEASURE | Das Entfernungsmaß, mit dem die Ähnlichkeit zwischen Punkten berechnet wird. | „euklidisch“ | euclidean , cosine |
MIN_DIVISIBLE_CLUSTER_SIZE | Die Mindestanzahl von Punkten (wenn >= 1,0) oder der Mindestprozentsatz von Punkten (wenn < 1,0), die erforderlich sind, damit ein Cluster teilbar ist. | 1,0 | (>= 0) |
PREDICTION_COL | Der Spaltenname für die Prognoseausgabe. | „Prognose“ | Beliebige Zeichenfolge |
Beispiel
Create MODEL modelname OPTIONS(
type = 'bisecting_kmeans',
) AS
select col1, col2, col3 from training-dataset
Gaussian Mixture Model
Gaussian Mixture Model stellt eine zusammengesetzte Verteilung dar, bei der Datenpunkte aus einer von k Gaußschen Unterverteilungen mit jeweils eigener Wahrscheinlichkeit gezogen werden. Er wird zur Modellierung von Datensätzen verwendet, bei denen angenommen wird, dass sie aus einer Mischung mehrerer Gaußscher Verteilungen erzeugt werden.
Parameter
MAX_ITER
WEIGHT_COL
1.0
behandelt.NUM_CLUSTERS
SEED
AGGREGATION_DEPTH
PROBABILITY_COL
TOL
PREDICTION_COL
Beispiel
Create MODEL modelname OPTIONS(
type = 'gaussian_mixture',
) AS
select col1, col2, col3 from training-dataset
Latent Dirichlet Allocation (LDA)
Latent Dirichlet Allocation (LDA) ist ein probabilistisches Modell, das die zugrunde liegende Themenstruktur aus einer Sammlung von Dokumenten erfasst. Es handelt sich um ein hierarchisches Bayes'sches Modell mit drei Ebenen mit Wort-, Thema- und Dokumentebenen. LDA verwendet diese Ebenen zusammen mit den beobachteten Dokumenten, um eine latente Themenstruktur zu erstellen.
Parameter
MAX_ITER
OPTIMIZER
"online"
(Online-Variantenreihen) und "em"
(Erwartungsmaximierung).online
, em
(ignoriert Groß- und Kleinschreibung)NUM_CLUSTERS
CHECKPOINT_INTERVAL
DOC_CONCENTRATION
EM
Optimizer sollten Alpha-Werte größer als 1,0 sein (Standard: gleichmäßig verteilt als (50/k) + 1), um symmetrische Themenverteilungen sicherzustellen. Für den online
Optimizer können Alpha-Werte 0 oder höher sein (Standard: gleichmäßig verteilt als 1,0/k), was eine flexiblere Themeninitialisierung ermöglicht.KEEP_LAST_CHECKPOINT
em
beibehalten werden soll. Das Löschen des Checkpoints kann zu Fehlern führen, wenn eine Datenpartition verloren geht. Checkpoints werden automatisch aus dem Speicher entfernt, wenn sie nicht mehr benötigt werden, wie durch Referenzzählung ermittelt.true
true
, false
LEARNING_DECAY
online
Optimizer, festgelegt als exponentielle Abklingrate zwischen (0.5, 1.0]
.(0.5, 1.0]
LEARNING_OFFSET
online
Optimizer, der frühe Iterationen heruntergewichtet, damit frühe Iterationen weniger zählen.SEED
OPTIMIZE_DOC_CONCENTRATION
online
-Optimizer: ob der docConcentration
(Dirichlet-Parameter für die Verteilung von Dokumenten - Themenverteilung) während des Trainings optimiert werden soll.false
true
, false
SUBSAMPLING_RATE
online
-Optimizer: der Anteil des Korpus, der bei jeder Iteration des Abstiegs des Mini-Batch-Gradienten abgetastet und verwendet wird, im Bereich (0, 1]
.(0, 1]
TOPIC_CONCENTRATION
EM
Werte > 1,0 (Standard = 0,1 + 1). Zum online
Werte ≥ 0 (Standard = 1,0/k).TOPIC_DISTRIBUTION_COL
Beispiel
Create MODEL modelname OPTIONS(
type = 'lda',
) AS
select col1, col2, col3 from training-dataset
Nächste Schritte
Nach dem Lesen dieses Dokuments wissen Sie jetzt, wie Sie verschiedene Clustering-Algorithmen konfigurieren und verwenden können. Weitere Informationen zu anderen Typen erweiterter statistischer Modelle finden in den DokumentenKlassifizierung und Regression.