Compartir a través de


Ejemplos de consultas de Modelos Bayes ingenuos

Al crear una consulta en un modelo de minería de datos, puede crear una consulta de contenido, que proporciona detalles sobre los patrones detectados en el análisis, o bien puede crear una consulta de predicción, que usa los patrones del modelo para realizar predicciones para nuevos datos. También puede recuperar metadatos sobre el modelo mediante una consulta en el conjunto de filas del esquema de minería de datos. En esta sección se explica cómo crear estas consultas para los modelos basados en el algoritmo Bayes naive de Microsoft.

Consultas de contenido

Obtención de metadatos del modelo mediante DMX

Recuperación de un resumen de los datos de entrenamiento

Búsqueda de más información sobre atributos

Uso de procedimientos almacenados del sistema

Consultas de predicción

Predicción de resultados mediante una consulta singleton

Obtención de predicciones con valores de probabilidad y soporte

Predicción de asociaciones

Búsqueda de información sobre un modelo bayes naive

El contenido del modelo de un modelo Bayes naive proporciona información agregada sobre la distribución de valores en los datos de entrenamiento. También puede recuperar información sobre los metadatos del modelo mediante la creación de consultas en los conjuntos de filas del esquema de minería de datos.

Consulta de ejemplo 1: Obtención de metadatos del modelo mediante DMX

Al consultar el conjunto de filas del esquema de minería de datos, puede encontrar metadatos para el modelo. Esto puede incluir cuándo se creó el modelo, cuando se procesó por última vez el modelo, el nombre de la estructura de minería de datos en la que se basa el modelo y el nombre de las columnas usadas como atributo de predicción. También puede devolver los parámetros que se usaron cuando se creó el modelo.

SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED,  
SERVICE_NAME, PREDICTION_ENTITY, FILTER  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered'  

Resultados de ejemplo:

CATÁLOGO_DE_MODELOS AdventureWorks
MODEL_NAME TM_NaiveBayes_Filtered
Fecha de creación 3/1/2008 19:15
ÚLTIMO_PROCESADO 3/2/2008 20:00
SERVICE_NAME Microsoft_Naive_Bayes
PREDICTION_ENTITY Comprador de Bicicletas, Ingreso Anual
FILTRO [Región] = 'Europa' OR [Región] = 'Norteamérica'

El modelo usado para este ejemplo se basa en el modelo Bayes naive que se crea en el Tutorial básico de minería de datos, pero se modificó agregando un segundo atributo de predicción y aplicando un filtro a los datos de entrenamiento.

Consulta de ejemplo 2: Recuperar un resumen de los datos de entrenamiento

En un modelo Bayes naive, el nodo de estadísticas marginales almacena información agregada sobre la distribución de valores en los datos de entrenamiento. Este resumen es cómodo y le ahorra tener que crear consultas SQL en los datos de entrenamiento para encontrar la misma información.

En el ejemplo siguiente se usa una consulta de contenido DMX para recuperar los datos del nodo (NODE_TYPE = 24). Dado que las estadísticas se almacenan en una tabla anidada, la palabra clave FLATTENED se usa para facilitar la visualización de los resultados.

SELECT FLATTENED MODEL_NAME,  
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 26  

Nota:

Debe encerrar entre corchetes los nombres de las columnas, SUPPORT y PROBABILITY, para distinguirlas de las palabras clave reservadas de Expresiones Multidimensionales (MDX) con los mismos nombres.

Resultados parciales:

MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SOPORTE t.PROBABILIDAD t.TIPODEVALOR
TM_NaiveBayes Comprador de Bicicletas Desaparecido 0 0 1
TM_NaiveBayes Comprador de Bicicletas 0 8869 0.507263784 4
TM_NaiveBayes Comprador de Bicicletas 1 8615 0.492736216 4
TM_NaiveBayes Género Desaparecido 0 0 1
TM_NaiveBayes Género F 8656 0.495081217 4
TM_NaiveBayes Género M 8828 0.504918783 4

Por ejemplo, estos resultados indican el número de casos de entrenamiento para cada valor discreto (VALUETYPE = 4), junto con la probabilidad calculada, ajustada para los valores que faltan (VALUETYPE = 1).

Para obtener una definición de los valores proporcionados en la tabla NODE_DISTRIBUTION en un modelo Bayes naive, vea Contenido del modelo de minería de datos para los modelos Bayes naive (Analysis Services - Minería de datos). Para obtener más información sobre cómo los cálculos de compatibilidad y probabilidad se ven afectados por los valores que faltan, vea Valores que faltan (Analysis Services - Minería de datos).

Consulta de ejemplo 3: Buscar más información sobre los atributos

Dado que un modelo Bayes naive suele contener información compleja sobre las relaciones entre distintos atributos, la manera más fácil de ver estas relaciones es usar el Visor bayes naive de Microsoft. Sin embargo, puede crear consultas DMX para devolver los datos.

En el ejemplo siguiente se muestra cómo devolver información del modelo sobre un atributo determinado, Region.

SELECT NODE_TYPE, NODE_CAPTION,   
NODE_PROBABILITY, NODE_SUPPORT, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE ATTRIBUTE_NAME = 'Region'  

Esta consulta devuelve dos tipos de nodos: el nodo que representa el atributo de entrada (NODE_TYPE = 10) y los nodos para cada valor del atributo (NODE_TYPE = 11). El título del nodo se usa para identificar el nodo, en lugar del nombre del nodo, porque el título muestra el nombre del atributo y el valor del atributo.

TIPO_DE_NODO Etiqueta de nodo Probabilidad de Nodo SOPORTE_DE_NODO MSOLAP_NODE_SCORE TIPO_DE_NODO
10 Comprador de Bicicletas -> Región 1 17484 84.51555875 10
11 Comprador de bicicletas -> Región = Falta 0 0 0 11
11 Bike Buyer -> Región = América del Norte 0.508236102 8886 0 11
11 Bike Buyer -> Región = Pacifico 0.193891558 3390 0 11
11 Comprador de bicicletas -> Región = Europa 0.29787234 5208 0 11

Algunas de las columnas almacenadas en los nodos son las mismas que se pueden obtener de los nodos de estadísticas marginales, como la puntuación de probabilidad del nodo y los valores de compatibilidad del nodo. Sin embargo, el MSOLAP_NODE_SCORE es un valor especial proporcionado solo para los nodos de atributo de entrada e indica la importancia relativa de este atributo en el modelo. Puede ver gran parte de la misma información en el panel Red de dependencias del visor; sin embargo, el visor no proporciona puntuaciones.

La consulta siguiente devuelve las puntuaciones de importancia de todos los atributos del modelo:

SELECT NODE_CAPTION, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 10  
ORDER BY MSOLAP_NODE_SCORE DESC  

Resultados de ejemplo:

Etiqueta de nodo MSOLAP_NODE_SCORE
Comprador de Bicicletas -> Total de Niños 181.3654836
Bike Buyer -> Distancia del trayecto 179.8419482
Bike Buyer -> Educación en Inglés 156.9841928
Comprador de Bicicletas -> Número de hijos en casa 111.8122599
Comprador de Bicicletas -> Región 84.51555875
Bike Buyer -> Estado civil 23.13297354
Comprador de bicicletas -> Ocupación en inglés 2.832069191

Al examinar el contenido del modelo en el Visor de árbol de contenido genérico de Microsoft, obtendrá una mejor idea de qué estadísticas podrían ser interesantes. Aquí se muestran algunos ejemplos sencillos; con más frecuencia, es posible que tenga que ejecutar varias consultas o almacenar los resultados y procesarlos en el cliente.

Consulta de ejemplo 4: Uso de procedimientos almacenados del sistema

Además de escribir sus propias consultas de contenido, puede usar algunos procedimientos almacenados del sistema de Analysis Services para explorar los resultados. Para usar un procedimiento almacenado del sistema, prefijo el nombre del procedimiento almacenado con la palabra clave CALL:

CALL GetPredictableAttributes ('TM_NaiveBayes')  

Resultados parciales:

NOMBRE_DEL_ATRIBUTO NODO_NOMBRE_UNICO
Comprador de Bicicletas 100000001

Nota:

Estos procedimientos almacenados del sistema son para la comunicación interna entre el servidor de Analysis Services y el cliente y solo se deben usar para mayor comodidad al desarrollar y probar modelos de minería de datos. Al crear consultas para un sistema de producción, es recomendable que siempre escriba sus propias consultas mediante DMX.

Para obtener más información sobre los procedimientos almacenados del sistema de Analysis Services, vea Procedimientos almacenados de minería de datos (Analysis Services - Minería de datos).

Uso de un modelo bayes naive para realizar predicciones

Normalmente, el algoritmo Bayes naive de Microsoft se usa menos para la predicción que para la exploración de relaciones entre los atributos de entrada y predicción. Sin embargo, el modelo admite el uso de funciones de predicción para la predicción y la asociación.

Consulta de ejemplo 5: Predicción de resultados mediante una consulta Singleton

La consulta siguiente usa una consulta singleton para proporcionar un nuevo valor y predecir, en función del modelo, si es probable que un cliente con estas características compre una bicicleta. La manera más fácil de crear una consulta singleton en un modelo de regresión es mediante el cuadro de diálogo Entrada de consulta singleton . Por ejemplo, puede crear la siguiente consulta DMX seleccionando el TM_NaiveBayes modelo, seleccionando Singleton Query y seleccionando valores en las listas desplegables de [Commute Distance] y Gender.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Resultados de ejemplo:

Expresión
0

La función de predicción devuelve el valor más probable, en este caso, 0, lo que significa que es poco probable que este tipo de cliente compre una bicicleta.

Consulta de ejemplo 6: Obtención de predicciones con valores de probabilidad y soporte

Además de predecir un resultado, a menudo quiere saber lo seguro que es la predicción. La consulta siguiente usa la misma consulta singleton que el ejemplo anterior, pero agrega la función de predicción PredictHistogram (DMX) para devolver una tabla anidada que contiene estadísticas compatibles con la predicción.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer]),  
  PredictHistogram([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Resultados de ejemplo:

Comprador de Bicicletas $SOPORTE $PROBABILITY $PROBABILIDADAJUSTADA $VARIANCE $STDEV
0 10161.5714 0.581192599 0.010530981 0 0
1 7321.428768 0.418750215 0.008945684 0 0
0.999828444 5.72E-05 5.72E-05 0 0

La fila final de la tabla muestra los ajustes para soporte y la probabilidad para el valor perdido. Los valores de varianza y desviación estándar siempre son 0, ya que los modelos Bayes naive no pueden modelar valores continuos.

Consulta de ejemplo 7: Predicción de asociaciones

El algoritmo Bayes naive de Microsoft se puede usar para el análisis de asociaciones, si la estructura de minería de datos contiene una tabla anidada con el atributo de predicción como clave. Por ejemplo, podría crear un modelo Bayes naive mediante la estructura de minería de datos creada en la lección 3: Creación de un escenario de cesta de mercado (Tutorial intermedio de minería de datos) del tutorial de minería de datos. El modelo usado en este ejemplo se modificó para agregar información sobre los ingresos y la región del cliente en la tabla de casos.

En el ejemplo de consulta siguiente se muestra una consulta singleton que predice productos relacionados con las compras del producto, 'Road Tire Tube'. Puede usar esta información para recomendar productos a un tipo específico de cliente.

SELECT   PredictAssociation([Association].[v Assoc Seq Line Items])  
FROM [Association_NB]  
NATURAL PREDICTION JOIN  
(SELECT 'High' AS [Income Group],  
  'Europe' AS [Region],  
  (SELECT 'Road Tire Tube' AS [Model])   
AS [v Assoc Seq Line Items])   
AS t  

Resultados parciales:

Modelo
Shorts de montaña para mujer
Botella de agua
Touring-3000
Touring-2000
Touring-1000

Lista de funciones

Todos los algoritmos de Microsoft admiten un conjunto común de funciones. Sin embargo, el algoritmo Bayes naive de Microsoft admite las funciones adicionales que se enumeran en la tabla siguiente.

Función de predicción Uso
IsDescendant (DMX) Determina si un nodo es un elemento secundario de otro nodo del modelo.
Predicción (DMX) Devuelve un valor predicho, o un conjunto de valores, para una columna especificada.
PredictAdjustedProbability (DMX) Devuelve la probabilidad ponderada.
PredictAssociation (DMX) Predice la pertenencia a un conjunto de datos asociativo.
PredictNodeId (DMX) Devuelve el Node_ID para cada caso.
PredictProbability (DMX) Devuelve la probabilidad del valor previsto.
PredictSupport (DMX) Devuelve el valor de compatibilidad para un estado especificado.

Para ver la sintaxis de funciones específicas, consulte Referencia de funciones de extensiones de minería de datos (DMX).

Véase también

Referencia técnica del algoritmo Bayes naive de Microsoft
Algoritmo bayes naive de Microsoft
Contenido del modelo de minería para modelos Naive Bayes (Analysis Services - Data Mining)