Lección 4: Ejecutar predicciones de Market Basket

Nuevo: 5 de diciembre de 2005

En esta lección utilizará el formato SELECT FROM <model> PREDICTION JOIN (DMX) de la instrucción SELECT para crear predicciones basadas en los modelos de asociación que creó en Lección 2: Agregar modelos de minería a la estructura de minería de datos de Market Basket. Estos tipos de predicciones se definen a continuación.

El formato SELECT FROM <model> PREDICTION JOIN (DMX) de la instrucción SELECT consta de tres partes:

  • Una lista de las funciones de predicción y las columnas del modelo de minería de datos devueltas en el conjunto de resultados. También puede incluir columnas de entrada de los datos de origen.
  • La consulta de origen que define los datos que se utilizan para crear una predicción. Por ejemplo, en una consulta por lotes, podría ser una lista de clientes.
  • Una asignación entre las columnas del modelo de minería de datos y los datos de origen. Si los nombres coinciden, puede utilizar la sintaxis NATURAL y no incluir las asignaciones de columnas.

La consulta se puede mejorar aún más si se utilizan funciones de predicción. Las funciones de predicción proporcionan información adicional como, por ejemplo, la probabilidad de que se produzca una predicción, y compatibilidad con la predicción en el conjunto de datos de entrenamiento. Para obtener más información acerca de las funciones de predicción, vea Funciones (DMX).

También puede usar el generador de consultas de predicción de Business Intelligence Development Studio para crear consultas de predicción. Para obtener más información, vea Usar el Generador de consultas de predicción para crear consultas de predicción DMX.

Tareas de la lección

En esta lección realizará las tareas siguientes:

  • Crear una consulta que determine qué otros artículos es probable que adquiera un cliente, en función de los artículos que ya se están en su carro de la compra. Creará esta consulta utilizando el modelo de minería de datos con el valor de MINIMUM_PROBABILITY predeterminado.
  • Crear una consulta que determine qué otros artículos es probable que adquiera un cliente, en función de los artículos que ya se están en su carro de la compra. Creará esta consulta utilizando el modelo de minería de datos con un valor 0,01 para MINIMUM_PROBABILITY.

Instrucción singleton PREDICTION JOIN

El primer paso es utilizar SELECT FROM <model> PREDICTION JOIN (DMX) en una consulta de predicción singleton. A continuación, se incluye un ejemplo genérico de la instrucción singleton:

SELECT <select list>
    FROM [<mining model>] NATURAL PREDICTION JOIN
(SELECT '<value>' AS [<column>], 
    (SELECT 'value' AS [<nested column>] UNION
        SELECT 'value' AS [<nested column>] ...) 
    AS [<nested table>])
AS [<input alias>]

En la primera línea del código se definen columnas del modelo de minería de datos devueltas por la consulta, así como el modelo de minería de datos utilizado para generar la predicción:

SELECT <select list> FROM [<mining model>] 

En las líneas siguientes del código se definen los artículos del carro de la compra que se utilizarán para predecir artículos adicionales que un cliente agregará:

(SELECT '<value>' AS [<column>], 
    (SELECT 'value' AS [<nested column>] UNION
        SELECT 'value' AS [<nested column>] ...) 
    AS [<nested table>])

Crear una predicción usando un modelo con el valor de MINIMUM_PROBABILITY predeterminado

Para crear una consulta de asociación

  1. En el Explorador de objetos, haga clic con el botón secundario en la instancia de Analysis Services, seleccione Nueva consulta y haga clic en DMX.

    Se abre el Editor de consultas, que contiene una consulta nueva en blanco.

  2. Copie el ejemplo genérico de la instrucción PREDICTION JOIN en la consulta en blanco.

  3. Reemplace lo siguiente:

    <select list> 
    

    por:

    PREDICT([Association].[Products],INCLUDE_STATISTICS,3)
    

    Podría incluir sólo el nombre de columna [Products], pero si utiliza la función Predict, puede limitar el número de artículos devueltos por el algoritmo a tres. También puede usar INCLUDE_STATISTICS, que devuelve la compatibilidad, la probabilidad y la probabilidad ajustada para cada artículo. Estas estadísticas ayudan a valorar la precisión de la predicción.

  4. Reemplace lo siguiente:

    [<mining model>] 
    

    por:

    [Association]
    
  5. Reemplace lo siguiente:

    (SELECT '<value>' AS [<column>], 
        (SELECT 'value' AS [<nested column>] UNION
            SELECT 'value' AS [<nested column>] ...) 
        AS [<nested table>])
    

    por:

    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
      UNION SELECT 'Mountain Tire Tube' AS [Model]
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t
    

    Esta instrucción utiliza la instrucción UNION para especificar tres artículos que deben incluirse en el carro de la compra junto con los artículos previstos. La columna Model de la instrucción SELECT corresponde a la columna de modelo incluida en la tabla de artículos anidada.

    Ahora, la instrucción completa debería ser como sigue:

    SELECT
      PREDICT([Association].[Products],INCLUDE_STATISTICS,3)
    From
      [Association]
    NATURAL PREDICTION JOIN
    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
      UNION SELECT 'Mountain Tire Tube' AS [Model]
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t
    
  6. En el menú Archivo, haga clic en Guardar DMXQuery1.dmx como.

  7. En el cuadro de diálogo Guardar como, desplácese a la carpeta correspondiente y asigne el nombre Association Prediction.dmx al archivo.

  8. En la barra de herramientas, haga clic en el botón Ejecutar.

    La consulta devuelve una tabla que contiene tres artículos (HL Mountain Tire, Fender Set - Mountain y ML Mountain Tire) en orden de probabilidad de existir en el mismo carro de la compra que los tres artículos especificados en la consulta. La tabla también contiene estadísticas que describen la precisión de la predicción.

Crear una predicción usando un modelo con el valor 0,01 para MINIMUM_PROBABILITY

Para crear una consulta de asociación

  1. En el Explorador de objetos, haga clic con el botón secundario en la instancia de Analysis Services, seleccione Nueva consulta y haga clic en DMX.

    Se abre el Editor de consultas, que contiene una consulta nueva en blanco.

  2. Copie el ejemplo genérico de la instrucción PREDICTION JOIN en la consulta en blanco.

  3. Reemplace lo siguiente:

    <select list> 
    

    por:

    PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)
    
  4. Reemplace lo siguiente:

    [<mining model>] 
    

    por:

    [Modified Association]
    
  5. Reemplace lo siguiente:

    (SELECT '<value>' AS [<column>], 
        (SELECT 'value' AS [<nested column>] UNION
            SELECT 'value' AS [<nested column>] ...) 
        AS [<nested table>])
    

    por:

    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
      UNION SELECT 'Mountain Tire Tube' AS [Model]
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t
    

    Esta instrucción utiliza la instrucción UNION para especificar tres artículos que deben incluirse en el carro de la compra junto con los artículos previstos. La columna Model de la instrucción SELECT corresponde a la columna de modelo incluida en la tabla de artículos anidada.

    Ahora, la instrucción completa debería ser como sigue:

    SELECT
      PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)
    From
      [Modified Association]
    NATURAL PREDICTION JOIN
    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
      UNION SELECT 'Mountain Tire Tube' AS [Model]
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t
    
  6. En el menú Archivo, haga clic en Guardar DMXQuery1.dmx como.

  7. En el cuadro de diálogo Guardar como, desplácese a la carpeta correspondiente y asigne el nombre Modified Association Prediction.dmx al archivo.

  8. En la barra de herramientas, haga clic en el botón Ejecutar.

    La consulta devuelve una tabla que contiene tres artículos (HL Mountain Tire, Water Bottle, Fender Set - Mountain) en orden de probabilidad de existir en el mismo carro de la compra que los tres artículos especificados en la consulta. La tabla también contiene estadísticas que describen la precisión de la predicción.

    A partir de los resultados de esta consulta, se puede ver que el valor del parámetro MINIMUM_PROBABILITY afecta a los resultados devueltos por la consulta.

Éste es el último paso del tutorial de Market Basket. Ahora dispone de un conjunto de modelos que puede utilizar para predecir los tipos de artículos que los clientes tienden a adquirir simultáneamente.

Para aprender a utilizar DMX en otro escenario de predicción, vea Tutorial DMX de Bike Buyer.