Predecir asociaciones (Tutorial intermedio de minería de datos)

Una vez procesados los modelos, puede utilizar la información sobre las asociaciones almacenada en el modelo para crear predicciones. En la tarea final de esta lección, aprenderá a generar consultas de predicción a partir de los modelos de asociación que creó. En esta lección se presupone que sabe cómo se utiliza el Generador de consultas de predicción y desea obtener información acerca de cómo se generan consultas de predicción a partir de modelos de asociación. Para obtener más información acerca de cómo se utiliza el Generador de consultas de predicción, vea Crear consultas de predicción DMX.

Crear una consulta de predicción singleton

La predicción asociativa puede servir para muchos propósitos, como por ejemplo, recomendar artículos a un cliente o buscar relaciones entre los productos. Para generar una consulta de predicción, seleccione primero el modelo de asociación que desee utilizar, y, a continuación, especifique los datos de entrada. Las entradas pueden proceder de un origen de datos externo, como una lista de valores. También puede generar una consulta singleton y proporcionar los valores sobre la marcha.

En este escenario, creará primero algunas consultas de predicción singleton para hacerse una idea de cómo funcionan las predicciones. A continuación, creará una consulta de las predicciones masivas que podría utilizar para hacer recomendaciones en función de las compras realizadas actualmente por un cliente.

Para crear una consulta de predicción en un modelo de asociación

  1. Haga clic en la ficha Predicción de modelo de minería de datos del Diseñador de minería de datos.

  2. En el panel Modelo de minería de datos, haga clic en Seleccionar modelo. (Puede omitir este paso y el siguiente si el modelo correcto ya está seleccionado).

  3. En el cuadro de diálogo Seleccionar modelo de minería de datos , expanda el nodo que representa la estructura de minería de datos Association y seleccione el modelo Association. Haga clic en Aceptar.

    De momento, puede hacer caso omiso al panel de entrada.

  4. En la cuadrícula, haga clic en una celda vacía de Origen y seleccione Función de predicción. En la celda situada bajo Campo, seleccione PredictAssociation.

    También puede utilizar la función Predict para predecir asociaciones. Si lo hace, asegúrese de elegir la versión de la función Predict que toma una columna de tabla como argumento.

  5. En el panel Modelo de minería de datos, seleccione la tabla anidada vAssocSeqLineItems y arrástrela hasta la cuadrícula, al cuadro Criterios o argumento de la función PredictAssociation.

    Al arrastrar y colocar la tabla y los nombres de columna, podrá crear instrucciones complejas sin errores sintácticos. Sin embargo, se reemplazará el contenido actual de la celda, que contiene otros argumentos opcionales de la función PredictAssociation. Para consultar los demás argumentos, puede agregar provisionalmente una segunda instancia de la función a la cuadrícula como referencia.

  6. Haga clic en el cuadro Criterios o argumento y escriba el texto siguiente después del nombre de la tabla: ,3

    El texto completo del cuadro Criterios o argumento debería ser el siguiente:

    [Association].[v Assoc Seq Line Items],3

  7. Haga clic en el botón Resultados situado en la esquina superior del Generador de consultas de predicción.

Los resultados esperados contienen una única columna con el encabezado Expresión. La columna Expresión contiene una tabla anidada con una única columna y las tres filas siguientes. Como no especificó un valor de entrada, estas predicciones representan las asociaciones de productos del modelo en su conjunto que tienen mayor probabilidad de producirse.

Modelo

Women's Mountain Shorts

Water Bottle

Touring-3000

A continuación, utilizará el panel Entrada de consulta singleton para especificar un producto como entrada de la consulta y consultar los productos que con mayor probabilidad irán asociados con ese artículo.

Para crear una consulta de predicción singleton con entradas de tabla anidada

  1. Haga clic en el botón Diseño situado en la esquina del Generador de consultas de predicción para cambiar a la cuadrícula de generación de consultas.

  2. En el menú Modelo de minería de datos, seleccione Consulta singleton.

  3. En el cuadro de diálogo Modelo de minería de datos, seleccione el modelo Association.

  4. En la cuadrícula, haga clic en una celda vacía de Origen y seleccione Función de predicción. En la celda situada bajo Campo, seleccione PredictAssociation.

  5. En el panel Modelo de minería de datos, seleccione la tabla anidada vAssocSeqLineItems y arrástrela hasta la cuadrícula, al cuadro Criterios o argumento de la función PredictAssociation. Escriba ,3 tras el nombre de la tabla anidada, como en el procedimiento anterior.

  6. En el cuadro de diálogo Entrada de consulta singleton, haga clic en el cuadro Valor situado junto a vAssoc Seq Line Items y, a continuación, haga clic en el botón (…).

  7. En el cuadro de diálogo Entrada de tabla anidada, seleccione Touring Tire en el panel Columna de clave y, a continuación, haga clic en Agregar.

  8. Haga clic en el botón Resultados.

Los resultados muestran ahora las predicciones de los productos que con mayor probabilidad estarán asociados a Touring Tire.

Modelo

Touring Tire Tube

Sport-100

Water Bottle

Sin embargo, al explorar el modelo sabrá ya que Touring Tire Tube a menudo se compra junto con Touring Tire; lo que más le interesa saber es qué productos puede recomendar a los clientes que compran estos dos artículos juntos. Cambiará la consulta para que prediga productos relacionados en función de dos elementos de la cesta. Modificará también la consulta para agregar la probabilidad de cada producto predicho.

Para agregar entradas y probabilidades a la consulta de predicción singleton

  1. Haga clic en el botón Diseño situado en la esquina del Generador de consultas de predicción para cambiar a la cuadrícula de generación de consultas.

  2. En el cuadro de diálogo Entrada de consulta singleton, haga clic en el cuadro Valor situado junto a vAssoc Seq Line Items y, a continuación, haga clic en el botón (…).

  3. En el panel Columna de clave, seleccione Touring Tire y, a continuación, haga clic en Agregar.

  4. En la cuadrícula, haga clic en una celda vacía de Origen y seleccione Función de predicción. En la celda situada bajo Campo, seleccione PredictAssociation.

  5. En el panel Modelo de minería de datos, seleccione la tabla anidada vAssocSeqLineItems y arrástrela hasta la cuadrícula, al cuadro Criterios o argumento de la función PredictAssociation. Escriba ,3 tras el nombre de la tabla anidada, como en el procedimiento anterior.

  6. En el cuadro de diálogo Entrada de tabla anidada, seleccione Touring Tire Tube en el panel Columna de clave y, a continuación, haga clic en Agregar.

  7. En la cuadrícula, en la fila de la función PredictAssociation, haga clic en el cuadro Criterios o argumento y cambie los argumentos para agregar el argumento INCLUDE_STATISTICS.

    El texto completo del cuadro Criterios o argumento debería ser el siguiente:

    [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

  8. Haga clic en el botón Resultados.

Los resultados de la tabla anidada se modifican ahora para mostrar las predicciones, junto con la compatibilidad y probabilidad. Para obtener más información acerca de cómo se interpretan estos valores, vea Contenido del modelo de minería de datos para los modelos de asociación (Analysis Services - Minería de datos).

Modelo

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.291…

0.252…

Water Bottle

2866

0.192…

0.175…

Patch Kit

2113

0.142…

0.132

Trabajar con resultados

Cuando hay muchas tablas anidadas en los resultados, es posible que desee simplificar los resultados para facilitar su consulta. Para ello, puede modificar la consulta manualmente y agregar la palabra clave FLATTENED.

Para simplificar los conjuntos de filas anidados de una consulta de predicción

  1. Haga clic en el botón SQL situado en la esquina del Generador de consultas de predicción.

    La cuadrícula cambia a un panel abierto donde puede ver y modificar la instrucción DMX que creó el Generador de consultas de predicción.

  2. Después de la palabra clave SELECT, escriba FLATTENED.

    El texto completo de la consulta debería ser el siguiente:

    SELECT FLATTENED
      PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)
    FROM
      [Association]
    NATURAL PREDICTION JOIN
    (SELECT (SELECT 'Touring Tire' AS [Model]
      UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t
    
  3. Haga clic en el botón Resultados situado en la esquina superior del Generador de consultas de predicción.

Tenga en cuenta que después de editar una consulta manualmente, no podrá volver a cambiar a la vista Diseño sin perder los cambios. Si desea guardar la consulta, puede copiar la instrucción DMX que creó manualmente en un archivo de texto. Cuando cambie de nuevo a la vista Diseño, la consulta se revertirá a la última versión que fue válida en la vista Diseño.

Crear varias predicciones

Suponga que desea conocer las mejores predicciones de cada cliente en función de las compras realizadas en el pasado. Puede utilizar datos externos como entrada de la consulta de predicción, por ejemplo, tablas que contengan el identificador del cliente y las compras más recientes de productos. Los requisitos son que las tablas de datos ya estén definidas como una vista del origen de datos de Analysis Services; por otro lado, los datos de entrada deben contener una tabla de casos y una tabla anidada como las utilizadas en el modelo. No es necesario que tengan el mismo nombre, pero la estructura debe ser similar. Para los objetivos de este tutorial, utilizará las tablas originales en las que se entrenó el modelo.

Para cambiar el método de entrada de la consulta de predicción

  1. En el menú Modelo de minería de datos, seleccione de nuevo Consulta singleton para borrar la marca de verificación.

  2. Aparecerá un mensaje de error en el que se advierte que se perderá la consulta singleton. Haga clic en .

    El nombre del cuadro de diálogo de entrada cambia a Seleccionar tabla(s) de entrada.

Dado que lo que le interesa es crear una consulta de predicción que proporcione un identificador de cliente y una lista de productos como entrada, incorporará la tabla de clientes como la tabla de casos y la tabla de compras como la tabla anidada. A continuación, agregará las funciones de predicción para crear recomendaciones.

Para crear una consulta de predicción utilizando las entradas de una tabla anidada

  1. En el panel Modelo de minería de datos, seleccione el modelo Association Filtered.

  2. En el cuadro de diálogo Seleccionar tabla(s) de entrada, haga clic en Seleccionar tabla de casos.

  3. En el cuadro de diálogo Seleccionar tabla , en Origen de datos, seleccione AdventureWorksDW2008. En la lista Nombre de tabla o vista, seleccione vAssocSeqOrders y, a continuación, haga clic en Aceptar.

    La tabla vAssocSeqOrders se agrega al panel.

  4. En el cuadro de diálogo Seleccionar tabla(s) de entrada, haga clic en Seleccionar tabla anidada.

  5. En el cuadro de diálogo Seleccionar tabla , en Origen de datos, seleccione AdventureWorksDW2008. En la lista Nombre de tabla o vista, seleccione vAssocSeqLineItem y, a continuación, haga clic en Aceptar.

    La tabla vAssocSeqLineItems se agrega al panel.

  6. En el cuadro de diálogo Especificar combinación anidada, arrastre el campo OrderNumber de la tabla de casos y colóquelo en el campo OrderNumber de la tabla anidada.

    También puede hacer clic en Agregar relación y crear la relación seleccionando las columnas en una lista.

  7. En el cuadro de diálogo Especificar relación, compruebe que los campos OrderNumber están asignados correctamente, y, a continuación, haga clic en Aceptar.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Especificar combinación anidada.

    La tabla anidada y la tabla de casos se actualizan en el panel de diseño para mostrar las combinaciones que conectan las columnas de datos externos con las columnas del modelo. Si las relaciones son erróneas, puede hacer clic con el botón secundario del mouse en la línea de unión y seleccionar Modificar conexiones para modificar la asignación de columna, o bien puede hacer clic con el botón secundario del mouse en la línea de unión y seleccionar Eliminar para quitar definitivamente la relación.

  9. Agregue una nueva fila a la cuadrícula. En Origen, seleccione Tabla vAssocSeqOrders. En Campo, seleccione CustomerKey.

  10. Agregue una nueva fila a la cuadrícula. En Origen, seleccione Tabla vAssocSeqOrders. En Campo, seleccione Region.

  11. Agregue una nueva fila a la cuadrícula. En Origen, seleccione Función de predicción y en Campo, seleccione PredictAssociation.

  12. Arrastre vAssocSeqLineItems al cuadro Criterios o argumento de la fila PredictAssociation. Haga clic al final del cuadro Criterios o argumento y, a continuación, escriba el texto siguiente: INCLUDE_STATISTICS,3

    El texto completo del cuadro Criterios o argumento debería ser: [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

  13. Haga clic en el botón Resultado para ver las predicciones de cada cliente.

Puede intentar crear una consulta de predicción similar en varios modelos para ver si al aplicar filtros, cambian los resultados de predicción. Para obtener más información acerca de cómo se crean predicciones y otros tipos de consultas, vea Consultar un modelo de asociación (Analysis Services - Minería de datos).