Algoritmo de clústeres de Microsoft
El algoritmo de clústeres de Microsoft es un algoritmo de segmentación que proporciona Microsoft SQL Server 2005 Analysis Services (SSAS). El algoritmo utiliza técnicas iterativas para agrupar los escenarios de un conjunto de datos dentro de clústeres que contienen características similares. Estas agrupaciones son útiles para la exploración de datos, la identificación de anomalías en los datos y la creación de predicciones.
Los modelos de clústeres identifican las relaciones en un conjunto de datos que no se podrían derivar lógicamente a través de la observación casual. Por ejemplo, puede discernir lógicamente que las personas que se desplazan a sus trabajos en bicicleta no viven, por lo general, a gran distancia de sus centros de trabajo. Sin embargo, el algoritmo puede encontrar otras características que no son evidentes acerca de los trabajadores que se desplazan en bicicleta. En el siguiente diagrama, el clúster A representa los datos sobre las personas que suelen conducir hasta el trabajo, en tanto que el clúster B representa los datos sobre las personas que van hasta allí en bicicleta.
El algoritmo de clústeres se diferencia de otros algoritmos de minería de datos, como el algoritmo de árboles de decisión de Microsoft, en que no se tiene que designar una columna de predicción para generar un modelo de clústeres. El algoritmo de clústeres entrena el modelo de forma estricta a partir de las relaciones que existen en los datos y de los clústeres que identifica el algoritmo.
Ejemplo
Considere un grupo de personas que comparten similar información demográfica y que adquieren productos similares de la empresa Adventure Works. Este grupo de personas representa un clúster de datos. En una base de datos pueden existir varios clústeres como éstos. Mediante la observación de las columnas que forman un clúster, puede ver con mayor claridad la forma en que los registros de un conjunto de datos se relacionan entre sí.
Cómo funciona el algoritmo
El algoritmo de clústeres de Microsoft identifica primero las relaciones de un conjunto de datos y genera una serie de clústeres basándose en ellas. Un gráfico de dispersión es una forma útil de representar visualmente el modo en que el algoritmo agrupa los datos, tal como se muestra en el siguiente diagrama. El gráfico de dispersión representa todos los escenarios del conjunto de datos; cada escenario es un punto del gráfico. Los clústeres agrupan los puntos del gráfico e ilustran las relaciones que identifica el algoritmo.
Después de definir los clústeres, el algoritmo calcula el grado de perfección con que los clústeres representan las agrupaciones de puntos y, a continuación, intenta volver a definir las agrupaciones para crear clústeres que representen mejor los datos. El algoritmo establece una iteración en este proceso hasta que ya no es posible mejorar los resultados mediante la redefinición de los clústeres.
El algoritmo de clústeres de Microsoft ofrece dos métodos para calcular el grado de ajuste de los puntos dentro de los clústeres: EM (Expectation Maximization) y K-Means. En el método de clústeres EM, el algoritmo usa un método de probabilidades para determinar la probabilidad de que exista un punto de datos en un clúster. En K-Means, el algoritmo usa una medida de distancia para asignar un punto de datos a su clúster más cercano.
Las columnas cuyo uso se ha establecido sólo para la predicción no se utilizan en la creación de clústeres. Sus distribuciones en los clústeres se calculan después de que se hayan creado los clústeres.
Para obtener una explicación más detallada acerca de la forma en que funciona el algoritmo de clústeres de Microsoft, vea el artículo sobre escalas de clústeres EM (Expectation Maximization) en bases de datos grandes.
Usar el algoritmo
Un modelo de clústeres debe contener una columna de clave y columnas de entrada. También puede definir columnas de entrada como de predicción.
El algoritmo admite tipos de contenido de columna de entrada, tipos de contenido de columna de predicción e indicadores de modelado específicos que aparecen en la siguiente tabla.
Tipos de contenido de columna de entrada |
Continuous, Cyclical, Discrete, Discretized, Key, Table y Ordered |
Tipos de contenido de columna de predicción |
Continuous, Cyclical, Discrete, Discretized, Table y Ordered |
Indicadores de modelado |
MODEL_EXISTENCE_ONLY y NOT NULL |
Todos los algoritmos de Microsoft son compatibles con un conjunto común de funciones. Sin embargo, el algoritmo de clústeres Microsoft admite funciones adicionales, que aparecen en la tabla siguiente.
|
Para consultar una lista de las funciones comunes a todos los algoritmos de Microsoft, vea Algoritmos de minería de datos. Para obtener más información acerca del modo de utilizar estas funciones, vea Referencia de funciones de Extensiones de minería de datos (DMX).
El algoritmo de clústeres de Microsoft admite el uso del lenguaje de marcado de modelos de predicción (PMML) para crear modelos de minería de datos.
El algoritmo de clústeres de Microsoft admite varios parámetros que afectan al rendimiento y la precisión del modelo de minería de datos resultante. En la siguiente tabla se describen estos parámetros.
Parámetro | Descripción |
---|---|
CLUSTERING_METHOD |
Especifica el método de clústeres que va a utilizar el algoritmo. Los métodos de clúster disponibles son: EM escalable (1), EM no escalable (2), K-Means escalable (3) y K-Means no escalable (4). El valor predeterminado es 1. |
CLUSTER_COUNT |
Especifica el número aproximado de clústeres que generará el algoritmo. Si no se puede generar el número aproximado de clústeres a partir de los datos, el algoritmo genera tantos clústeres como sea posible. Si CLUSTER_COUNT se establece en 0, el algoritmo utiliza la heurística para determinar mejor el número de clústeres que va a generar. El valor predeterminado es 10. |
CLUSTER_SEED |
Especifica el número de inicialización utilizado para generar clústeres aleatoriamente para la fase inicial de generación del modelo. El valor predeterminado es 0. |
MINIMUM_SUPPORT |
Especifica el número mínimo de escenarios de cada clúster. El valor predeterminado es 1. |
MODELLING_CARDINALITY |
Especifica el número de modelos de ejemplo que se construyen durante el proceso de generación de clústeres. El valor predeterminado es 10. |
STOPPING_TOLERANCE |
Especifica el valor que se utiliza para determinar cuándo se alcanza la convergencia y el algoritmo termina de generar el modelo. La convergencia se alcanza cuando el cambio general en la probabilidades de clúster es menor que la proporción del parámetro STOPPING_TOLERANCE dividido entre el tamaño del modelo. El valor predeterminado es 10. |
SAMPLE_SIZE |
Especifica el número de escenarios que el algoritmo utiliza en cada paso si el parámetro CLUSTERING_METHOD se establece en uno de los métodos de clústeres escalables. Si establece el parámetro SAMPLE_SIZE en 0, todo el conjunto de datos se agrupará en un único paso. Esto puede causar problemas de memoria y de rendimiento. El valor predeterminado es 50000. |
MAXIMUM_INPUT_ATTRIBUTES |
Especifica el número máximo de atributos de entrada que el algoritmo puede controlar antes de invocar la selección de características. Cuando establece este valor en 0 se especifica que no existe un número máximo de atributos. El valor predeterminado es 255. |
MAXIMUM_STATES |
Especifica el número máximo de estados de atributos que admite el algoritmo. Si el número de estados de un atributo es mayor que el número máximo de estados, el algoritmo utilizará los estados más populares del atributo y omitirá los estados restantes. El valor predeterminado es 100. |
Vea también
Conceptos
Algoritmos de minería de datos
Asistente para minería de datos
Selección de características en minería de datos
Usar las herramientas de minería de datos
Ver un modelo de minería de datos con el Visor de clústeres de Microsoft