Algoritmos de clúster
Creado para:
- Desarrollador
Los algoritmos de agrupación agrupan los puntos de datos en distintos clústeres en función de sus similitudes, lo que permite al aprendizaje no supervisado descubrir patrones dentro de los datos. Para crear un algoritmo de clúster, use el parámetro type
en la cláusula OPTIONS
para especificar el algoritmo que desea usar para la formación de modelos. A continuación, defina los parámetros relevantes como pares clave-valor para ajustar el modelo.
K-Means
K-Means
es un algoritmo de agrupación en clúster que divide los puntos de datos en un número predefinido de clústeres (k). Es uno de los algoritmos más utilizados para la agrupación en clúster debido a su simplicidad y eficiencia.
Parámetros
Al utilizar K-Means
, se pueden establecer los siguientes parámetros en la cláusula OPTIONS
:
Parámetro | Descripción | Valor predeterminado | Valores posibles |
---|---|---|---|
MAX_ITER | El número de iteraciones que debe ejecutarse el algoritmo. | 20 | (>= 0) |
TOL | El nivel de tolerancia de convergencia. | 0.0001 | (>= 0) |
NUM_CLUSTERS | Número de clústeres que se van a crear (k ). | 2 | (>1) |
DISTANCE_TYPE | Algoritmo utilizado para calcular la distancia entre dos puntos. El valor distingue entre mayúsculas y minúsculas. | euclidean | euclidean , cosine |
KMEANS_INIT_METHOD | Algoritmo de inicialización para los centros de agrupamiento. | k-means|| | random , k-means|| (Una versión paralela de k-medias++) |
INIT_STEPS | El número de pasos para el modo de inicialización k-means|| (aplicable solo cuando KMEANS_INIT_METHOD es k-means|| ). | 2 | (>0) |
PREDICTION_COL | Nombre de la columna donde se almacenarán las predicciones. | prediction | Cualquier cadena |
SEED | Una semilla aleatoria para la reproducibilidad. | -1689246527 | Cualquier número de 64 bits |
WEIGHT_COL | Nombre de la columna utilizada para las ponderaciones de instancia. Si no se configura, todas las instancias se ponderan de forma equitativa. | not set | N/A |
Ejemplo
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 es un algoritmo de agrupación en clúster jerárquico que usa un enfoque divisivo (o "descendente"). Todas las observaciones comienzan en un único grupo y las divisiones se realizan de forma recursiva a medida que se crea la jerarquía. Bisecting K-means puede ser a menudo más rápido que las K-medias normales, pero normalmente produce resultados de clúster diferentes.
Parámetros
Parámetro | Descripción | Valor predeterminado | Valores posibles |
---|---|---|---|
MAX_ITER | Número máximo de iteraciones que ejecuta el algoritmo. | 20 | (>= 0) |
WEIGHT_COL | El nombre de la columna para las ponderaciones de instancia. Si no está establecido o vacío, todos los pesos de instancia se tratan como 1.0 . | SIN CONFIGURAR | Cualquier cadena |
NUM_CLUSTERS | El número deseado de grupos de hojas. El número real podría ser menor si no quedan clústeres divisibles. | 4 | (> 1) |
SEED | La semilla aleatoria utilizada para controlar procesos aleatorios en el algoritmo. | SIN CONFIGURAR | Cualquier número de 64 bits |
DISTANCE_MEASURE | La medida de distancia utilizada para calcular la similitud entre puntos. | "euclidiano" | euclidean , cosine |
MIN_DIVISIBLE_CLUSTER_SIZE | El número mínimo de puntos (si >= 1,0) o la proporción mínima de puntos (si < 1,0) necesaria para que un grupo sea divisible. | 1,0 | (>= 0) |
PREDICTION_COL | El nombre de columna para la salida de predicción. | "predicción" | Cualquier cadena |
Ejemplo
Create MODEL modelname OPTIONS(
type = 'bisecting_kmeans',
) AS
select col1, col2, col3 from training-dataset
Gaussian Mixture Model
Gaussian Mixture Model representa una distribución compuesta en la que los puntos de datos se extraen de una de las subdistribuciones k de Gauss, cada una con su propia probabilidad. Se utiliza para modelar conjuntos de datos que se supone que se generan a partir de una mezcla de varias distribuciones gaussianas.
Parámetros
MAX_ITER
WEIGHT_COL
1.0
.NUM_CLUSTERS
SEED
AGGREGATION_DEPTH
PROBABILITY_COL
TOL
PREDICTION_COL
Ejemplo
Create MODEL modelname OPTIONS(
type = 'gaussian_mixture',
) AS
select col1, col2, col3 from training-dataset
Latent Dirichlet Allocation (LDA)
Latent Dirichlet Allocation (LDA) es un modelo probabilístico que captura la estructura del tema subyacente de una colección de documentos. Es un modelo bayesiano jerárquico de tres niveles con capas de palabras, temas y documentos. LDA utiliza estas capas, junto con los documentos observados, para crear una estructura de temas latente.
Parámetros
MAX_ITER
OPTIMIZER
"online"
(Variaciones de bayas en línea) y "em"
(Expectación-Maximización).online
, em
(sin distinción de mayúsculas y minúsculas)NUM_CLUSTERS
CHECKPOINT_INTERVAL
DOC_CONCENTRATION
EM
, los valores alfa deben ser mayores que 1,0 (predeterminado: distribuido uniformemente como (50/k) + 1), lo que garantiza distribuciones de temas simétricas. Para el optimizador online
, los valores alfa pueden ser 0 o mayores (predeterminado: distribuido uniformemente como 1,0/k), lo que permite una inicialización de tema más flexible.KEEP_LAST_CHECKPOINT
em
. La eliminación del punto de comprobación puede provocar errores si se pierde una partición de datos. Los puntos de comprobación se eliminan automáticamente del almacenamiento cuando ya no son necesarios, según lo determinado por el recuento de referencias.true
true
, false
LEARNING_DECAY
online
, establecida como una tasa de disminución exponencial entre (0.5, 1.0]
.(0.5, 1.0]
LEARNING_OFFSET
online
que reduce el valor de las iteraciones tempranas para que las iteraciones tempranas cuenten menos.SEED
OPTIMIZE_DOC_CONCENTRATION
online
: si se debe optimizar docConcentration
(parámetro Dirichlet para la distribución de temas de documentos) durante la formación.false
true
, false
SUBSAMPLING_RATE
online
: la fracción del corpus muestreada y utilizada en cada iteración de descenso de degradado de minilotes, en el rango (0, 1]
.(0, 1]
TOPIC_CONCENTRATION
EM
, valores > 1,0 (predeterminado = 0,1 + 1). Para online
, los valores ≥ 0 (predeterminado = 1,0/k).TOPIC_DISTRIBUTION_COL
Ejemplo
Create MODEL modelname OPTIONS(
type = 'lda',
) AS
select col1, col2, col3 from training-dataset
Pasos siguientes
Después de leer este documento, ahora sabe cómo configurar y utilizar varios algoritmos de agrupación en clúster. A continuación, consulte los documentos sobre clasificación y regresión para obtener más información sobre otros tipos de modelos estadísticos avanzados.