Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al crear una consulta en un modelo de minería de datos, puede crear una consulta de contenido, que proporciona detalles sobre la información almacenada en el modelo, o bien puede crear una consulta de predicción, que usa los patrones del modelo para realizar predicciones basadas en nuevos datos que proporcione. En el caso de un modelo de agrupación en clústeres de secuencia, las consultas de contenido suelen proporcionar detalles adicionales sobre los clústeres que se encontraron o las transiciones dentro de esos clústeres. También puede recuperar metadatos sobre el modelo mediante una consulta.
Las consultas de predicción en un modelo de agrupación en clústeres de secuencia suelen realizar recomendaciones basadas en las secuencias y transiciones, en atributos que no son de secuencia incluidos en el modelo o en una combinación de atributos de secuencia y no secuencia.
En esta sección se explica cómo crear consultas para modelos basados en el algoritmo de agrupación en clústeres de secuencia de Microsoft. Para obtener información general sobre cómo crear consultas, vea Consultas de minería de datos.
Consultas de contenido
Uso del conjunto de filas de esquema de minería de datos para devolver parámetros del modelo
Obtener una lista de secuencias para un estado
Uso de procedimientos almacenados del sistema
Consultas de predicción
Predicción del siguiente estado o estados
Buscar información sobre el modelo de agrupación en clústeres de secuencia
Para crear consultas significativas en el contenido de un modelo de minería de datos, debe comprender la estructura del contenido del modelo y qué tipos de nodo almacenan qué tipo de información. Para obtener más información, vea Contenido del modelo de minería para los modelos de agrupación de secuencias (Analysis Services - Minería de datos).
Consulta de ejemplo 1: Usar el conjunto de filas de esquema de minería de datos para devolver parámetros del modelo
Al consultar el conjunto de filas del esquema de minería de datos, puede encontrar varios tipos de información sobre el modelo, incluidos los metadatos básicos, la fecha y hora en que se creó y procesó por última vez el modelo, el nombre de la estructura de minería de datos en la que se basa el modelo y la columna usada como atributo de predicción.
La consulta siguiente devuelve los parámetros que se usaron para compilar y entrenar el modelo, [Sequence Clustering]. Puede crear este modelo en la lección 5 del Tutorial básico de minería de datos.
SELECT MINING_PARAMETERS
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Sequence Clustering'
Resultados de ejemplo:
| PARÁMETROS_DE_MINERÍA |
|---|
| CUENTA_DE_CLUSTER=15, SOPORTE_MINIMO=10, ESTADOS_MAXIMOS=100, ESTADOS_MAXIMOS_DE_SECUENCIA=64 |
Tenga en cuenta que este modelo se creó mediante el valor predeterminado de 10 para CLUSTER_COUNT. Al especificar un número distinto de cero de clústeres para CLUSTER_COUNT, el algoritmo trata este número como una sugerencia para el número aproximado de clústeres que se van a buscar. Sin embargo, en el proceso de análisis, el algoritmo puede encontrar más o menos clústeres. En este caso, el algoritmo encontró que 15 clústeres se ajustan mejor a los datos de entrenamiento. Por lo tanto, la lista de valores de parámetro para el modelo completado notifica el recuento de clústeres determinado por el algoritmo, no el valor pasado al crear el modelo.
¿Cómo difiere este comportamiento de permitir que el algoritmo determine el mejor número de clústeres? Como experimento, puede crear otro modelo de agrupación en clústeres que use estos mismos datos, pero establezca CLUSTER_COUNT en 0. Al hacerlo, el algoritmo detecta 32 clústeres. Por lo tanto, mediante el uso del valor predeterminado de 10 para CLUSTER_COUNT, se restringe el número de resultados.
El valor de 10 se usa de forma predeterminada porque reducir el número de clústeres facilita a la mayoría de las personas examinar y comprender las agrupaciones de los datos. Sin embargo, cada modelo y conjunto de datos es diferente. Es posible que desee experimentar con distintos números de clústeres para ver qué valor de parámetro produce el modelo más preciso.
Consulta de ejemplo 2: Obtener una lista de secuencias para un estado
El contenido del modelo de minería almacena las secuencias que se encuentran en los datos de entrenamiento como un primer estado, junto con una lista de todos los estados secundarios relacionados. El primer estado se usa como etiqueta para la secuencia y los segundos estados relacionados se denominan transiciones.
Por ejemplo, la consulta siguiente devuelve la lista completa de los primeros estados del modelo, antes de que las secuencias se agrupan en clústeres. Puede obtener esta lista devolviendo la lista de secuencias (NODE_TYPE = 13) que tienen el nodo raíz del modelo como primario (PARENT_UNIQUE_NAME = 0). La palabra clave FLATTENED facilita la lectura de los resultados.
Nota:
El nombre de las columnas, PARENT_UNIQUE_NAME, Compatibilidad y Probabilidad debe incluirse entre corchetes para distinguirlas de las palabras clave reservadas del mismo nombre.
SELECT FLATTENED NODE_UNIQUE_NAME,
(SELECT ATTRIBUTE_VALUE AS [Product 1],
[Support] AS [Sequence Support],
[Probability] AS [Sequence Probability]
FROM NODE_DISTRIBUTION) AS t
FROM [Sequence Clustering].CONTENT
WHERE NODE_TYPE = 13
AND [PARENT_UNIQUE_NAME] = 0
Resultados parciales:
| NODO_NOMBRE_UNICO | Producto 1 | Soporte de secuencias | Probabilidad de secuencia |
|---|---|---|---|
| 1081327 | Desaparecido | 0 | ####### |
| 1081327 | All-Purpose soporte para bicicletas | 17 | 0.00111 |
| 1081327 | Lavado de bicicletas | 64 | 0.00418 |
| 1081327 | (filas 4-36 omitidas) | ||
| 1081327 | Shorts de montaña para mujer | 506 | 0.03307 |
La lista de secuencias del modelo siempre se ordena alfabéticamente en orden ascendente. La ordenación de las secuencias es importante porque puede encontrar las transiciones relacionadas examinando el número de orden de la secuencia. El Missing valor siempre es la transición 0.
Por ejemplo, en los resultados anteriores, el producto "Women's Mountain Shorts" es el número de secuencia 37 en el modelo. Puede usar esa información para ver todos los productos que se compraron alguna vez después de "Women's Mountain Shorts".
Para ello, primero se hace referencia al valor devuelto para NODE_UNIQUE_NAME en la consulta anterior para obtener el identificador del nodo que contiene todas las secuencias del modelo. Este valor se pasa a la consulta como identificador del nodo primario, para obtener solo las transiciones incluidas en este nodo, lo que puede contener una lista de secuencias al para el modelo. Sin embargo, si desea ver la lista de transiciones de un clúster específico, puede pasar el identificador del nodo de clúster y ver solo las secuencias asociadas a ese clúster.
SELECT NODE_UNIQUE_NAME
FROM [Sequence Clustering].CONTENT
WHERE NODE_DESCRIPTION = 'Transition row for sequence state 37'
AND [PARENT_UNIQUE_NAME] = '1081327'
Resultados de ejemplo:
| NODO_NOMBRE_UNICO |
|---|
| 1081365 |
El nodo representado por este identificador contiene una lista de las secuencias que siguen el producto "Women's Mountain Shorts", junto con los valores de compatibilidad y probabilidad.
SELECT FLATTENED
(SELECT ATTRIBUTE_VALUE AS Product2,
[Support] AS [P2 Support],
[Probability] AS [P2 Probability]
FROM NODE_DISTRIBUTION) AS t
FROM [Sequence Clustering].CONTENT
WHERE NODE_UNIQUE_NAME = '1081365'
Resultados de ejemplo:
| Producto2 | Compatibilidad con t.P2 | Probabilidad de t.P2 |
|---|---|---|
| Desaparecido | 230.7419 | 0.456012 |
| Vestidura clásica | 8.16129 | 0.016129 |
| Capucha de ciclismo | 60.83871 | 0.120235 |
| guantes de Half-Finger | 30.41935 | 0.060117 |
| Logotipo de Long-Sleeve Jersey | 86.80645 | 0.171554 |
| Calcetines de carreras | 28.93548 | 0.057185 |
| Short-Sleeve Jersey clásico | 60.09677 | 0.118768 |
Tenga en cuenta que el soporte para las diversas secuencias relacionadas con los Pantalones Cortos de Montaña para Mujer es 506 en el modelo. Los valores de soporte de las transiciones también suman hasta 506. Sin embargo, los números no son números enteros, lo que parece un poco impar si espera que la compatibilidad represente simplemente un recuento de casos que contienen cada transición. Sin embargo, dado que el método para crear clústeres calcula la pertenencia parcial, la probabilidad de cualquier transición dentro de un clúster debe ponderarse por su probabilidad de pertenecer a ese clúster en particular.
Por ejemplo, si hay cuatro grupos, una secuencia determinada podría tener una probabilidad de 40% de pertenecer al grupo 1, una probabilidad de 30% de pertenecer al grupo 2, una probabilidad de 20% de pertenecer al grupo 3 y una probabilidad de 10% de pertenecer al grupo 4. Una vez que el algoritmo determina el clúster al que es probable que pertenezca la transición, pondera las probabilidades dentro del clúster por la probabilidad anterior del clúster.
Consulta de ejemplo 3: Uso de procedimientos almacenados del sistema
Puede ver en estos ejemplos de consulta que la información almacenada en el modelo es compleja y que es posible que tenga que crear varias consultas para obtener la información que necesita. Sin embargo, el visor de clústeres de secuencia de Microsoft proporciona un conjunto eficaz de herramientas para examinar gráficamente la información contenida en un modelo de agrupación en clústeres de secuencia y también puede usar el visor para consultar y explorar en profundidad el modelo.
En la mayoría de los casos, la información que se presenta en el visor de clústeres de secuencia de Microsoft se crea mediante procedimientos almacenados del sistema de Analysis Services para consultar el modelo. Puede escribir consultas de extensiones de minería de datos (DMX) en el contenido del modelo para recuperar la misma información, pero los procedimientos almacenados del sistema de Analysis Services proporcionan un acceso directo práctico cuando se exploran o se prueban modelos.
Nota:
Los procedimientos almacenados del sistema se usan para el procesamiento interno por el servidor y por los clientes que Microsoft proporciona para interactuar con el servidor de Analysis Services. Por lo tanto, Microsoft se reserva el derecho de cambiarlos en cualquier momento. Aunque se describen aquí para su comodidad, no se admite su uso en un entorno de producción. Para garantizar la estabilidad y la compatibilidad en un entorno de producción, siempre debe escribir sus propias consultas mediante DMX.
En esta sección se proporcionan algunos ejemplos de cómo usar los procedimientos almacenados del sistema para crear consultas en un modelo de agrupación en clústeres de secuencia:
Perfiles de clúster y casos de ejemplo
La pestaña Perfiles de clúster muestra una lista de los clústeres del modelo, el tamaño de cada clúster y un histograma que indica los estados incluidos en el clúster. Hay dos procedimientos almacenados del sistema que puede usar en consultas para recuperar información similar:
GetClusterProfiledevuelve las características del clúster, con toda la información que se encuentra en la tabla NODE_DISTRIBUTION del clúster.GetNodeGraphdevuelve nodos y bordes que se pueden usar para construir una representación matemática de grafo de los clústeres, correspondiente a lo que se ve en la primera pestaña de la vista Agrupación en clústeres de secuencia. Los nodos son clústeres y los bordes representan pesos o intensidad.
En el ejemplo siguiente se muestra cómo usar el procedimiento almacenado del sistema, GetClusterProfiles, para devolver todos los clústeres del modelo, con sus respectivos perfiles. Este procedimiento almacenado ejecuta una serie de instrucciones DMX que devuelven el conjunto completo de perfiles del modelo. Sin embargo, para usar este procedimiento almacenado, debe conocer la dirección del modelo.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterProfiles('Sequence Clustering', 2147483647, 0)
En el ejemplo siguiente se muestra cómo recuperar el perfil de un clúster específico, el clúster 12, mediante el procedimiento GetNodeGraphalmacenado del sistema y la especificación del identificador del clúster, que suele ser el mismo que el número en el nombre del clúster.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetNodeGraph('Sequence Clustering','12',0)
Si omite el identificador de clúster, como se muestra en la consulta siguiente, GetNodeGraph devuelve una lista ordenada y plana de todos los perfiles de clúster:
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetNodeGraph('Sequence Clustering','',0)
La pestaña Perfil de clúster también muestra un histograma de casos de ejemplo de modelo. Estos casos de ejemplo representan los casos idealizados para el modelo. Estos casos no se almacenan en el modelo de la misma manera que los datos de entrenamiento; Debe usar una sintaxis especial para recuperar los casos de ejemplo del modelo.
SELECT * FROM [Sequence Clustering].SAMPLE_CASES WHERE IsInNode('12')
Para obtener más información, vea SELECT FROM <model>.SAMPLE_CASES (DMX).
Características del clúster y discriminación de clúster
La pestaña Características del clúster resume los atributos principales de cada clúster, clasificados por probabilidad. Puede averiguar cuántos casos pertenecen a un clúster y cuál es la distribución de casos en el clúster: cada característica tiene cierta compatibilidad. Para ver las características de un clúster determinado, debe conocer el identificador del clúster.
En los ejemplos siguientes se usa el procedimiento almacenado del sistema, GetClusterCharacteristics, para devolver todas las características del clúster 12 que tienen una puntuación de probabilidad sobre el umbral especificado de 0,0005.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterCharacteristics('Sequence Clustering','12',0.0005)
Para devolver las características de todos los clústeres, puede dejar vacío el identificador del clúster.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterCharacteristics('Sequence Clustering','',0.0005)
En el ejemplo siguiente se llama al procedimiento GetClusterDiscrimination almacenado del sistema para comparar las características del clúster 1 y el clúster 12.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterDiscrimination('Sequence Clustering','1','12',0.0005,true)
Si desea escribir su propia consulta en DMX para comparar dos clústeres o comparar un clúster con su complemento, primero debe recuperar un conjunto de características y, a continuación, recuperar las características del clúster específico que le interesa y comparar los dos conjuntos. Este escenario es más complicado y normalmente requiere algún procesamiento de cliente.
Estados y transiciones
La pestaña Transiciones de estado de la agrupación en clústeres de secuencia de Microsoft realiza consultas complicadas en el back-end para recuperar y comparar las estadísticas de distintos clústeres. Para reproducir estos resultados, se requiere una consulta más compleja y algún procesamiento de cliente.
Sin embargo, puede usar las consultas DMX descritas en el ejemplo 2 de la sección Consultas de contenido para recuperar probabilidades y estados para secuencias o para transiciones individuales.
Uso del modelo para realizar predicciones
Las consultas de predicción en un modelo de agrupación en clústeres de secuencia pueden usar muchas de las funciones de predicción que se usan con otros modelos de agrupación en clústeres. Además, puede usar la función de predicción especial PredictSequence (DMX) para realizar recomendaciones o predecir los estados siguientes.
Consulta de ejemplo 4: Predicción del siguiente estado o estados
Puede usar la función PredictSequence (DMX) para predecir el siguiente estado más probable, dado un valor. También puede predecir varios estados siguientes: por ejemplo, puede devolver una lista de los tres productos principales que es probable que compre un cliente para presentar una lista de recomendaciones.
La consulta de ejemplo siguiente es una consulta de predicción singleton que devuelve las cinco predicciones principales, junto con su probabilidad. Dado que el modelo incluye una tabla anidada, debe usar la tabla anidada , [v Assoc Seq Line Items], como referencia de columna al realizar predicciones. Además, al proporcionar valores como entrada, debe combinar tanto la tabla de casos como las columnas de tabla anidada, como se muestra en las instrucciones SELECT anidadas.
SELECT FLATTENED PredictSequence([v Assoc Seq Line Items], 7)
FROM [Sequence Clustering]
NATURAL PREDICTION JOIN
(SELECT (SELECT 1 as [Line Number],
'All-Purpose Bike Stand' as [Model]) AS [v Assoc Seq Line Items])
AS t
Resultados de ejemplo:
| Expression.$Sequence | Expression.Line Number | Expression.Model |
|---|---|---|
| 1 | Capucha de ciclismo | |
| 2 | Capucha de ciclismo | |
| 3 | Sport-100 | |
| 4 | logotipo de Long-Sleeve Jersey | |
| 5 | guantes de Half-Finger | |
| 6 | All-Purpose soporte para bicicletas | |
| 7 | All-Purpose soporte para bicicletas |
Hay tres columnas en los resultados, aunque podría esperarse solo una, ya que la consulta siempre devuelve una columna para la tabla de casos. Aquí se aplanan los resultados; de lo contrario, la consulta devolvería una sola columna que contiene dos columnas de tabla anidadas.
La columna $sequence es una columna devuelta de forma predeterminada por la PredictSequence función para ordenar los resultados de la predicción. La columna [Line Number], es necesaria para coincidir con las claves de secuencia del modelo, pero las claves no se generan.
Curiosamente, las secuencias más predichas después de All-Purpose Bike Stand son Cycling Cap y Cycling Cap. Esto no es un error. Dependiendo de cómo se presenten los datos al cliente y cómo se agrupa al entrenar el modelo, es muy posible tener secuencias de este tipo. Por ejemplo, un cliente podría comprar un gorro de ciclismo (rojo) y, a continuación, otro gorro de ciclismo (azul), o comprar dos seguidos si no hubiera manera de especificar la cantidad.
Los valores de las filas 6 y 7 son marcadores de posición. Cuando llega al final de la cadena de posibles transiciones, en lugar de terminar los resultados de la predicción, el valor que se pasó como entrada se agrega a los resultados. Por ejemplo, si aumentaste el número de predicciones a 20, los valores de las filas 6-20 serían iguales, All-Purpose Bike Stand.
Lista de funciones
Todos los algoritmos de Microsoft admiten un conjunto común de funciones. Sin embargo, el algoritmo de agrupación en clústeres de secuencia de Microsoft admite las funciones adicionales que se enumeran en la tabla siguiente.
| Función de predicción | Uso |
| Clúster (DMX) | Devuelve el clúster que es más probable que contenga el caso de entrada. |
| ClusterDistance (DMX) | Devuelve la distancia del caso de entrada del clúster especificado o, si no se especifica ningún clúster, la distancia del caso de entrada del clúster más probable. Esta función se puede usar con cualquier tipo de modelo de agrupación en clústeres (EM, K-Means, etc.), pero los resultados difieren en función del algoritmo. |
| ClusterProbability (DMX) | Devuelve la probabilidad de que el caso de entrada pertenezca al clúster especificado. |
| IsInNode (DMX) | Indica si el nodo especificado contiene el caso actual. |
| PredictAdjustedProbability (DMX) | Devuelve la probabilidad ajustada de un estado especificado. |
| PredictAssociation (DMX) | Predice la pertenencia asociativa. |
| PredictCaseLikelihood (DMX) | Devuelve la probabilidad de que un caso de entrada se ajuste al modelo existente. |
| PredictHistogram (DMX) | Devuelve una tabla que representa un histograma para la predicción de una columna determinada. |
| PredictNodeId (DMX) | Devuelve el Node_ID del nodo al que se clasifica el caso. |
| PredictProbability (DMX) | Devuelve la probabilidad de un estado especificado. |
| PredictSequence (DMX) | Predice valores de secuencia futuros para un conjunto especificado de datos de secuencia. |
| PredictStdev (DMX) | Devuelve la desviación estándar prevista para la columna especificada. |
| PredictSupport (DMX) | Devuelve el valor de compatibilidad para un estado especificado. |
| PredictVariance (DMX) | Devuelve la varianza de una columna especificada. |
Para obtener una lista de las funciones que son comunes a todos los algoritmos de Microsoft, consulte Funciones de predicción general (DMX). Para obtener la sintaxis de funciones específicas, vea Referencia de funciones de Extensiones de Minería de Datos (DMX).
Véase también
Consultas de minería de datos
Referencia técnica del algoritmo de agrupación en clústeres de secuencia de Microsoft
Algoritmo de agrupación en clústeres de secuencia de Microsoft
Contenido del modelo de minería de datos para modelos de agrupación secuencial (Analysis Services - Minería de datos)