Tengo un conjunto de datos, quiero crear grupos en esos datos basados en una sola variable (no faltan valores). Quiero crear 3 grupos basados en esa variable.
¿Qué algoritmo de agrupamiento utilizar, k-means, EM, DBSCAN, etc.?
Mi pregunta principal es, ¿en qué circunstancias debo usar k-means sobre EM o EM sobre k-means?
clustering
Ali
fuente
fuente
Respuestas:
El algoritmo K-means y el algoritmo EM serán bastante similares para la agrupación 1D.
En K-means comienza con una suposición de dónde están las medias y asigna cada punto al grupo con la media más cercana, luego vuelve a calcular los medios (y las variaciones) en función de las asignaciones actuales de puntos, luego actualiza la asignación de puntos, luego actualiza los significados ...
En EM también comenzaría adivinando dónde están las medias, luego calculará el valor esperado de las asignaciones (esencialmente la probabilidad de que cada punto esté en cada grupo), luego actualice las medias estimadas (y las variaciones) usando los valores esperados como pesos, luego calcular nuevos valores esperados, luego calcular nuevos medios, ...
La principal diferencia es que la asignación de puntos a grupos en K-means es un todo o nada, donde EM proporciona proporciones / probabilidad de pertenencia a un grupo (se puede ver que un punto tiene 80% de probabilidad de estar en el grupo A, 18% de probabilidad de estar en el grupo B, y 2% de probabilidad de estar en el grupo C). Si hay mucha separación entre los grupos, entonces los 2 métodos darán resultados bastante similares. Pero si hay una buena cantidad de superposición, entonces el EM probablemente dará resultados más significativos (aún más si la varianza / desviación estándar es de interés). Pero si lo único que le importa es asignar la pertenencia a un grupo sin preocuparse por los parámetros, entonces K-means es probablemente más simple.
¿Por qué no hacer ambas cosas y ver cuán diferentes son las respuestas? si son similares, elija el más simple; si son diferentes, decida comparar la agrupación con los datos y el conocimiento externo.
fuente
EM es mejor que k-means en términos de resultados.
K-means, sin embargo, tiene un tiempo de ejecución más rápido.
Producirán resultados similares si las matrices de desviación estándar / covarianza son aproximadamente iguales. Si sospecha que esto es cierto, use k-means.
DBSCAN se usa cuando los datos no son gaussianos. Si está utilizando datos unidimensionales, esto generalmente no es aplicable, ya que una aproximación gaussiana generalmente es válida en 1 dimensión.
fuente
Otra forma simple es usar básicamente la ordenación de la matriz 1D: es decir, iterar sobre cada punto y obtener los valores que están a una distancia mínima de él en las direcciones positiva y negativa. Por ejemplo:
dará a conocer:
Qué puntos, que los elementos cercanos a un punto en particular están básicamente bajo su grupo. Lo único que debe reflexionar sobre esta técnica es la variable k, que es el tamaño fijo del clúster :-).
fuente
Si solo hay una variable, no es necesario agrupar. Puede agrupar fácilmente sus observaciones en función de la distribución de la variable.
¿O me estoy perdiendo algunos puntos aquí?
fuente