Consultar un modelo Bayes naive (Analysis Services: minería de datos)
Cuando se crea una consulta en un modelo de minería de datos, puede tratarse de una consulta de contenido, que proporciona detalles sobre los patrones detectados durante el análisis, o una consulta de predicción, que usa los patrones del modelo para realizar predicciones de los nuevos datos. También puede recuperar los metadatos sobre el modelo utilizando una consulta del conjunto de filas de esquema de minería de datos. En esta sección se explica cómo crear estas consultas para los modelos que se basan en el algoritmo Bayes naive de Microsoft.
Consultas de contenido
Obtener metadatos del modelo usando DMX
Recuperar un resumen de los datos de aprendizaje
Buscar más información sobre atributos
Usar procedimientos almacenados del sistema
Consultas de predicción
Predecir los resultados utilizando una consulta singleton
Obtener predicciones con valores de probabilidad y compatibilidad
Predecir asociaciones
Buscar información sobre un modelo Bayes naive
El contenido de un modelo Bayes naive proporciona información agregada sobre la distribución de los valores en los datos de aprendizaje. También puede recuperar la información sobre los metadatos del modelo creando consultas con los conjuntos de filas de esquema de minería de datos.
Consulta de ejemplo 1: obtener metadatos del modelo usando DMX
Al consultar el conjunto de filas de esquema de minería de datos, puede buscar los metadatos del modelo. Esto podría incluir cuándo se creó, cuándo se procesó en último lugar, el nombre de la estructura de minería de datos en la que se basa el modelo y el nombre de las columnas que se usan como atributos de predicción. También se pueden devolver los parámetros que se utilizaron 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 del ejemplo:
MODEL_CATALOG |
AdventureWorks |
MODEL_NAME |
TM_NaiveBayes_Filtered |
DATE_CREATED |
3/1/2008 19:15 |
LAST_PROCESSED |
3/2/2008 20:00 |
SERVICE_NAME |
Microsoft_Naive_Bayes |
PREDICTION_ENTITY |
Bike Buyer,Yearly Income |
FILTER |
[Region] = 'Europe' OR [Region] = 'North America' |
El modelo que se usa para este ejemplo está basado en el modelo Bayes naive que se crea en 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 aprendizaje.
Volver al principio
Consulta de ejemplo 2: recuperar un resumen de los datos de aprendizaje
En un modelo Bayes naive, el nodo de estadísticas marginal almacena información agregada sobre la distribución de los valores de los datos de aprendizaje. Este resumen es cómodo y le evita tener que crear consultas SQL con los datos de aprendizaje 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 están almacenadas 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
El nombre de las columnas, SUPPORT y PROBABILITY, debe ir entre corchetes para distinguirlo de las palabras clave reservadas de Expresiones multidimensionales (MDX) con los mismos nombres.
Resultados parciales:
MODEL_NAME |
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VALUETYPE |
---|---|---|---|---|---|
TM_NaiveBayes |
Bike Buyer |
Missing |
0 |
0 |
1 |
TM_NaiveBayes |
Bike Buyer |
0 |
8869 |
0.507263784 |
4 |
TM_NaiveBayes |
Bike Buyer |
1 |
8615 |
0.492736216 |
4 |
TM_NaiveBayes |
Gender |
Missing |
0 |
0 |
1 |
TM_NaiveBayes |
Gender |
F |
8656 |
0.495081217 |
4 |
TM_NaiveBayes |
Gender |
M |
8828 |
0.504918783 |
4 |
Por ejemplo, estos resultados le indican el número de casos de entrenamiento para cada valor discreto (VALUETYPE = 4), junto con la probabilidad calculada, ajustados para los valores que faltan (VALUETYPE = 1).
Para obtener la definición de los valores que se proporcionan 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 afectan los valores que faltan a los cálculos de probabilidad y compatibilidad, vea Valores ausentes (Analysis Services - Minería de datos).
Volver al principio
Consulta de ejemplo 3: buscar más información sobre atributos
Dado que un modelo Bayes naive a menudo contiene información compleja sobre las relaciones entre atributos diferentes, 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 nodos para cada valor del atributo (NODE_TYPE = 11). El título del nodo se usa para identificarlo, en lugar del nombre, porque el título muestra tanto el nombre como el valor del atributo.
NODE_TYPE |
NODE_CAPTION |
NODE_PROBABILITY |
NODE_SUPPORT |
MSOLAP_NODE_SCORE |
NODE_TYPE |
---|---|---|---|---|---|
10 |
Bike Buyer -> Region |
1 |
17484 |
84.51555875 |
10 |
11 |
Bike Buyer -> Region = Missing |
0 |
0 |
0 |
11 |
11 |
Bike Buyer -> Region = North America |
0.508236102 |
8886 |
0 |
11 |
11 |
Bike Buyer -> Region = Pacific |
0.193891558 |
3390 |
0 |
11 |
11 |
Bike Buyer -> Region = Europe |
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 los valores de compatibilidad de los nodos y de puntuación de la probabilidad de los nodos. Sin embargo, MSOLAP_NODE_SCORE es un valor especial que solo se proporciona para los nodos de atributos de entrada e indica la importancia relativa de este atributo en el modelo. Puede ver casi toda esa misma información en el panel Red de dependencia 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 del ejemplo:
NODE_CAPTION |
MSOLAP_NODE_SCORE |
---|---|
Bike Buyer -> Total Children |
181.3654836 |
Bike Buyer -> Commute Distance |
179.8419482 |
Bike Buyer -> English Education |
156.9841928 |
Bike Buyer -> Number Children At Home |
111.8122599 |
Bike Buyer -> Region |
84.51555875 |
Bike Buyer -> Marital Status |
23.13297354 |
Bike Buyer -> English Occupation |
2.832069191 |
Al examinar el contenido del modelo en el Visor de árbol de contenido genérico de Microsoft, se hará una mejor idea de qué estadísticas podrían ser interesantes. Aquí se mostraron algunos ejemplos sencillos; la mayoría de las veces puede que tenga que ejecutar varias consultas o almacenar los resultados y procesarlos en el cliente.
Volver al principio
Consulta de ejemplo 4: usar procedimientos almacenados del sistema
Para explorar los resultados, puede usar algunos procedimientos almacenados del sistema de Analysis Services además de escribir sus propias consultas de contenido. Para usar un procedimiento almacenado de sistema, anteponga al nombre del procedimiento almacenado la palabra clave CALL:
CALL GetPredictableAttributes ('TM_NaiveBayes')
Resultados parciales:
ATTRIBUTE_NAME |
NODE_UNIQUE_NAME |
---|---|
Bike Buyer |
100000001 |
Nota
Estos procedimientos almacenados de sistema son para la comunicación interna entre el servidor de Analysis Services y el cliente, y solamente se utilizan por comodidad al desarrollar y probar los modelos de minería de datos. Al crear consultas para un sistema de producción, siempre debería escribir sus consultas utilizando 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).
Volver al principio
Usar un modelo Bayes naive para realizar predicciones
El algoritmo Bayes naive de Microsoft se suele usar menos para la predicción que para la exploración de relaciones entre los atributos de predicción y de entrada. Sin embargo, el modelo admite el uso de funciones de predicción tanto para predicción como para asociación.
Consulta de ejemplo 5: predecir los resultados utilizando una consulta singleton
La consulta siguiente usa una consulta singleton para proporcionar un nuevo valor y predecir, según el 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 usar el cuadro de diálogo Entrada de consulta singleton. Por ejemplo, puede generar la consulta DMX siguiente seleccionando el modelo TM_NaiveBayes, eligiendo Consulta singleton y seleccionando los valores en las listas desplegables para [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 del ejemplo:
Expresión |
---|
0 |
La función de predicción devuelve el valor más probable, en este caso 0, que indica que es improbable que este tipo de cliente compre una bicicleta.
Volver al principio
Consulta de ejemplo 6: obtener predicciones con valores de probabilidad y compatibilidad
Además de predecir un resultado, a menudo desea conocer la precisión de 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 las estadísticas de la compatibilidad de 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 del ejemplo:
Bike Buyer |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
$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 en la tabla muestra los ajustes para la compatibilidad y la probabilidad del valor que falta. Los valores de la desviación estándar y la varianza siempre son 0 porque los modelos Bayes naive no pueden modelar los valores continuos.
Volver al principio
Consulta de ejemplo 7: predecir las asociaciones
El algoritmo Bayes naive de Microsoft se puede usar para el análisis de la asociación, si la estructura de minería de datos contiene una tabla anidada con el atributo de predicción como clave. Por ejemplo, podría generar un modelo Bayes naive utilizando la estructura de minería de datos creada en Lección 3: Generar un escenario de cesta de la compra (Tutorial intermedio de minería de datos) del tutorial de minería de datos. El modelo utilizado 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 los productos que están relacionados con las compras del producto, 'Road Tire Tube'. Podría 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:
Model |
---|
Women's Mountain Shorts |
Water Bottle |
Touring-3000 |
Touring-2000 |
Touring-1000 |
Volver al principio
Lista de funciones
Todos los algoritmos de Microsoft admiten un conjunto común de funciones. No obstante, el algoritmo Bayes naive de Microsoft admite las funciones adicionales que se enumeran en la siguiente tabla.
Para consultar una lista de las funciones comunes a todos los algoritmos de Microsoft, vea Referencia de algoritmo (Analysis Services - Minería de datos). Para obtener más información acerca de la sintaxis de funciones específicas, vea Referencia de funciones de Extensiones de minería de datos (DMX).