DocumentazioneExperience PlatformGuida di Query Service

Algoritmi di clustering

Ultimo aggiornamento: 22 novembre 2024
  • Argomenti:
  • Query

Creato per:

  • Sviluppatore

Gli algoritmi di clustering raggruppano i punti dati in cluster distinti in base alle loro somiglianze, consentendo all’apprendimento non supervisionato di individuare pattern all’interno dei dati. Per creare un algoritmo di clustering, utilizzare il parametro type nella clausola OPTIONS per specificare l'algoritmo da utilizzare per l'apprendimento del modello. Quindi, definisci i parametri rilevanti come coppie chiave-valore per ottimizzare il modello.

NOTE
Assicurati di conoscere i requisiti dei parametri per l’algoritmo scelto. Se si sceglie di non personalizzare determinati parametri, il sistema applica le impostazioni predefinite. Consulta la documentazione pertinente per comprendere la funzione di ciascun parametro e i valori predefiniti.

K-Means

K-Means è un algoritmo di clustering che suddivide i dati in un numero predefinito di cluster (k). È uno degli algoritmi più comunemente utilizzati per il clustering per la sua semplicità ed efficienza.

Parametri

Quando si utilizza K-Means, è possibile impostare i seguenti parametri nella clausola OPTIONS:

ParametroDescrizioneValore predefinitoValori possibili
MAX_ITERIl numero di iterazioni che l’algoritmo deve eseguire.20(>= 0)
TOLLivello di tolleranza della convergenza.0.0001(>= 0)
NUM_CLUSTERSNumero di cluster da creare (k).2(>1)
DISTANCE_TYPEAlgoritmo utilizzato per calcolare la distanza tra due punti. Il valore distingue tra maiuscole e minuscole.euclideaneuclidean, cosine
KMEANS_INIT_METHODAlgoritmo di inizializzazione per i centri cluster.k-means||random, k-means|| (versione parallela di k-mean++)
INIT_STEPSNumero di passaggi per la modalità di inizializzazione k-means|| (applicabile solo quando KMEANS_INIT_METHOD è k-means||).2(>0)
PREDICTION_COLNome della colonna in cui verranno memorizzate le previsioni.predictionQualsiasi stringa
SEEDUn seme casuale per la riproducibilità.-1689246527Qualsiasi numero a 64 bit
WEIGHT_COLNome della colonna utilizzata per i pesi dell’istanza. Se non viene impostato, tutte le varianti vengono ponderate in modo uniforme.not setN/D

Esempio

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 è un algoritmo di clustering gerarchico che utilizza un approccio divisivo (o top-down). Tutte le osservazioni iniziano in un singolo cluster e le divisioni vengono eseguite in modo ricorsivo durante la creazione della gerarchia. Bisecting K-means può essere spesso più veloce delle normali medie K, ma in genere produce risultati cluster diversi.

Parametri

ParametroDescrizioneValore predefinitoValori possibili
MAX_ITERNumero massimo di iterazioni eseguite dall'algoritmo.20(>= 0)
WEIGHT_COLNome della colonna per i pesi dell’istanza. Se non è impostato o vuoto, tutti i pesi delle istanze vengono trattati come 1.0.NON IMPOSTATOQualsiasi stringa
NUM_CLUSTERSIl numero desiderato di cluster foglia. Se non rimangono cluster divisibili, il numero effettivo potrebbe essere inferiore.4(> 1)
SEEDValore di inizializzazione casuale utilizzato per controllare i processi casuali nell'algoritmo.NON IMPOSTATOQualsiasi numero a 64 bit
DISTANCE_MEASURELa misura della distanza utilizzata per calcolare la somiglianza tra i punti."euclideo"euclidean, cosine
MIN_DIVISIBLE_CLUSTER_SIZEIl numero minimo di punti (se >= 1,0) o la proporzione minima di punti (se < 1,0) necessaria per la divisibile di un cluster.1,0(>= 0)
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa

Esempio

Create MODEL modelname OPTIONS(
  type = 'bisecting_kmeans',
) AS
  select col1, col2, col3 from training-dataset

Gaussian Mixture Model

Gaussian Mixture Model rappresenta una distribuzione composita in cui i punti dati vengono ricavati da una delle sottodistribuzioni di k Gaussian, ciascuna con la propria probabilità. Viene utilizzato per modellare set di dati che si presume siano generati da una miscela di diverse distribuzioni gaussiane.

Parametri

Parametro
Descrizione
Valore predefinito
Valori possibili
MAX_ITER
Il numero massimo di iterazioni per l’algoritmo da eseguire.
100
(>= 0)
WEIGHT_COL
Il nome della colonna, ad esempio pesi. Se non è impostato o vuoto, tutti i pesi delle istanze vengono trattati come 1.0.
NON IMPOSTATO
Qualsiasi nome di colonna valido o vuoto
NUM_CLUSTERS
Il numero di distribuzioni gaussiane indipendenti nel modello di miscela.
2
(> 1)
SEED
Valore di inizializzazione casuale utilizzato per controllare i processi casuali nell'algoritmo.
NON IMPOSTATO
Qualsiasi numero a 64 bit
AGGREGATION_DEPTH
Questo parametro controlla la profondità degli alberi di aggregazione utilizzati durante il calcolo.
2
(>= 1)
PROBABILITY_COL
Nome di colonna per le probabilità condizionali di classe previste. Questi devono essere trattati come punteggi di affidabilità piuttosto che come probabilità esatte.
"probabilità"
Qualsiasi stringa
TOL
La tolleranza di convergenza per gli algoritmi iterativi.
0,01
(>= 0)
PREDICTION_COL
Nome della colonna per l’output di previsione.
"previsione"
Qualsiasi stringa

Esempio

Create MODEL modelname OPTIONS(
  type = 'gaussian_mixture',
) AS
  select col1, col2, col3 from training-dataset

Latent Dirichlet Allocation (LDA)

Latent Dirichlet Allocation (LDA) è un modello probabilistico che acquisisce la struttura argomento sottostante da una raccolta di documenti. Si tratta di un modello bayesiano gerarchico a tre livelli con livelli di parola, argomento e documento. LDA utilizza questi livelli, insieme ai documenti osservati, per creare una struttura di argomenti latente.

Parametri

Parametro
Descrizione
Valore predefinito
Valori possibili
MAX_ITER
Numero massimo di iterazioni eseguite dall'algoritmo.
20
(>= 0)
OPTIMIZER
Algoritmo di ottimizzazione o di inferenza utilizzato per stimare il modello LDA. Le opzioni supportate sono "online" (Online Variational Bayes) e "em" (Expectation-Maximization).
"online"
online, em (senza distinzione maiuscole/minuscole)
NUM_CLUSTERS
Numero di cluster da creare (k).
10
(> 1)
CHECKPOINT_INTERVAL
Specifica la frequenza di checkpoint per gli ID dei nodi memorizzati in cache.
10
(>= 1)
DOC_CONCENTRATION
Il parametro di concentrazione ("alpha") determina le ipotesi precedenti relative alla distribuzione degli argomenti tra i documenti. Il comportamento predefinito è determinato dall'ottimizzatore. Per l'ottimizzatore EM, i valori alfa devono essere maggiori di 1,0 (impostazione predefinita: distribuiti uniformemente come (50/k) + 1), garantendo distribuzioni dell'argomento simmetriche. Per l'ottimizzatore online, i valori alfa possono essere uguali o superiori a 0 (impostazione predefinita: distribuiti uniformemente come 1,0/k), consentendo un'inizializzazione più flessibile degli argomenti.
Automatico
Qualsiasi singolo valore o vettore di lunghezza k dove valori > 1 per EM
KEEP_LAST_CHECKPOINT
Indica se mantenere l'ultimo punto di controllo quando si utilizza l'ottimizzatore em. L’eliminazione del punto di controllo può causare errori in caso di perdita di una partizione di dati. I punti di controllo vengono rimossi automaticamente dall'archivio quando non sono più necessari, come determinato dal conteggio dei riferimenti.
true
true, false
LEARNING_DECAY
Tasso di apprendimento per l'ottimizzatore online, impostato come tasso di decadimento esponenziale tra (0.5, 1.0].
0,51
(0.5, 1.0]
LEARNING_OFFSET
Parametro di apprendimento per l'ottimizzatore online che sottopone a downweight le iterazioni iniziali per ridurre il conteggio delle iterazioni iniziali.
1024
(> 0)
SEED
Valore di inizializzazione casuale per il controllo dei processi casuali nell’algoritmo.
NON IMPOSTATO
Qualsiasi numero a 64 bit
OPTIMIZE_DOC_CONCENTRATION
Per l'ottimizzatore online: se ottimizzare docConcentration (parametro Dirichlet per la distribuzione di argomenti dei documenti) durante l'apprendimento.
false
true, false
SUBSAMPLING_RATE
Per l'ottimizzatore online: la frazione del corpo campionata e utilizzata in ogni iterazione di discendenza sfumata mini-batch, nell'intervallo (0, 1].
0,05
(0, 1]
TOPIC_CONCENTRATION
Il parametro di concentrazione ("beta" o "eta") definisce le ipotesi precedenti poste sulla distribuzione degli argomenti nei termini. Il valore predefinito è determinato dall'ottimizzatore: Per EM, valori > 1,0 (valore predefinito = 0,1 + 1). Per online, i valori ≥ 0 (valore predefinito = 1,0/k).
Automatico
Qualsiasi valore singolo o vettore di lunghezza k, dove valori > 1 per EM
TOPIC_DISTRIBUTION_COL
Questo parametro produce la distribuzione stimata della miscela di argomenti per ciascun documento, spesso indicata come "theta" in letteratura. Per i documenti vuoti, restituisce un vettore di zeri. Le stime sono derivate utilizzando un'approssimazione variazionale ("gamma").
NON IMPOSTATO
Qualsiasi stringa

Esempio

Create MODEL modelname OPTIONS(
  type = 'lda',
) AS
  select col1, col2, col3 from training-dataset

Passaggi successivi

Dopo aver letto questo documento, saprai come configurare e utilizzare vari algoritmi di clustering. Quindi, consulta i documenti su classificazione e regressione per ulteriori informazioni su altri tipi di modelli statistici avanzati.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb