Lección 4: Ejecutar predicciones de cesta de la compra

 

Se aplica a: SQL Server 2016 Preview

En esta lección, usará el DMX seleccione que creó en los modelos de instrucción para crear predicciones basadas en la asociación lección 2: agregar modelos de minería de datos a la estructura de minería de datos de la cesta. Se crea una consulta de predicción utilizando DMX seleccione instrucción y agregando un PREDICTION JOIN cláusula. Para obtener más información acerca de la sintaxis de combinación de predicción, vea SELECT FROM &60; modelo > COMBINACIÓN de PREDICCIÓN ( DMX ).

El SELECT FROM PREDICTION JOIN formulario de la Seleccionar instrucción 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. Esta lista también puede incluir columnas de entrada de los datos de origen.

  • Una consulta de origen que define los datos que se usan para crear una predicción. Por ejemplo, si está creando muchas predicciones en un lote, la consulta de origen podría recuperar una lista de clientes.

  • Una asignación entre las columnas del modelo de minería de datos y los datos de origen. Si coinciden los nombres de columnas, puede utilizar el NATURAL PREDICTION JOIN sintaxis y omitir las asignaciones de columnas.

La consulta se puede mejorar si se usan funciones de predicción. Las funciones de predicción proporcionan información adicional, como la probabilidad de que se produzca una predicción o la existencia de compatibilidad con una 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 SQL Server Data Tools (SSDT) para crear consultas de predicción.

Instrucción singleton PREDICTION JOIN

El primer paso es crear una consulta singleton, mediante el SELECT FROM PREDICTION JOIN sintaxis y ofrece un conjunto único de valores como entrada. 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 las columnas del modelo de minería de datos que devuelve la consulta y se especifica el nombre del modelo de minería de datos usado para generar la predicción:

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

La línea del código siguiente indica la operación que se va a realizar. Dado que se especifique valores para cada una de las columnas y escriba los nombres de columna exactamente de manera que coincida con el modelo, puede utilizar el NATURAL PREDICTION JOIN sintaxis. Sin embargo, si los nombres de columna son diferentes, se tendría que especificar las asignaciones entre las columnas en el modelo y las columnas de los nuevos datos agregando una ON cláusula.

[NATURAL] PREDICTION JOIN  

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>])  

Tareas de la lección

En esta lección realizará las tareas siguientes:

  • Crear una consulta que Prediga qué otros artículos podría adquirir un cliente, en función de los elementos existentes en su carro de la compra. Se creará esta consulta mediante el modelo de minería de datos con el valor predeterminado MINIMUM_PROBABILITY.

  • Crear una consulta que prediga qué otros artículos podría adquirir un cliente en función de los artículos que ya se están en su carro de la compra. Esta consulta se basa en un modelo diferente, en el que MINIMUM_PROBABILITY se ha establecido en 0,01. Dado que el valor predeterminado para MINIMUM_PROBABILITY en modelos de asociación es 0,3, la consulta en este modelo debería devolver más elementos posibles que la consulta en el modelo predeterminado.

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

Para crear una consulta de asociación

  1. En Explorador de objetos, haga clic en la instancia de Analysis Services, elija nueva consulta, y, a continuación, haga clic en DMX para abrir el Editor de consultas.

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

  3. Reemplace lo siguiente:

    <select list>   
    

    por:

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

    Podría incluir solamente el nombre de la columna [Products], pero utilizando la Predict ( DMX ) función, puede limitar el número de productos que se devuelven por el algoritmo a tres. También puede utilizar INCLUDE_STATISTICS, que devuelve el soporte, la probabilidad y la probabilidad ajustada para cada producto. Estas estadísticas ayudan a valorar la precisión de la predicción.

  4. Reemplace lo siguiente:

    [<mining model>]   
    

    por:

    [Default 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 el UNION para especificar tres productos que deben incluirse en el carro de la compra junto con los artículos previstos. La columna del modelo en el seleccione instrucción corresponde a la columna del modelo que se encuentra en la tabla de productos anidada.

    Ahora la apariencia de la instrucción completa debe ser como la siguiente:

    SELECT  
      PREDICT([Default Association].[Products],INCLUDE_STATISTICS,3)  
    From  
      [Default 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 archivo menú, haga clic en Guardar DMXQuery1.dmx como.

  7. En el Guardar como cuadro de diálogo, busque la carpeta correspondiente y nombre de archivo Association Prediction.dmx.

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

    La consulta devuelve una tabla que contiene tres productos: HL Mountain Tire, Fender Set - Mountain y ML Mountain Tire. En la tabla se enumeran estos productos devueltos por orden de probabilidad. En la parte superior de la tabla aparece el producto devuelto con mayor probabilidad de estar incluido en el mismo carro de la compra que los tres productos especificados en la consulta. Los dos productos siguientes son los de mayor probabilidad de estar incluidos en el carro de la compra. 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 Explorador de objetos, haga clic en la instancia de Analysis Services, elija nueva consulta, y, a continuación, haga clic en DMXpara abrir el Editor de consultas.

  2. Copie el ejemplo genérico de la PREDICTION JOIN instrucción 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 el UNION para especificar tres productos que deben incluirse en el carro de la compra junto con los artículos previstos. La [Model] columna en el seleccione instrucción corresponde a la columna de la tabla productos anidada.

    Ahora la apariencia de la instrucción completa debe ser como la siguiente:

    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 archivo menú, haga clic en Guardar DMXQuery1.dmx como.

  7. En el Guardar como cuadro de diálogo, busque la carpeta correspondiente y nombre de archivo Modified Association Prediction.dmx.

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

    La consulta devuelve una tabla que contiene tres artículos: HL Mountain Tire, Water Bottle y Fender Set - Mountain. En la tabla se enumeran estos productos por orden de probabilidad. El producto que aparece al principio de la tabla es el producto con mayor probabilidad de estar incluido en el mismo carro de la compra que los tres artículos especificados en la consulta. Los productos restantes son los siguientes con mayor probabilidad de estar incluidos en el carro de la compra. La tabla también contiene estadísticas que describen la precisión de la predicción.

    Puede ver en los resultados de esta consulta que el valor de la MINIMUM_PROBABILITY parámetro 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 usar para predecir los artículos que los clientes pueden adquirir simultáneamente.

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

Vea también

Ejemplos de consultas del modelo de asociación
Herramientas de consulta de minería de datos