Lektion 4: Ausführen von Warenkorbvorhersagen

 

Gilt für: SQL Server 2016 Preview

In dieser Lektion verwenden Sie die DMX wählen -Anweisung zum Erstellen von Vorhersagen auf Grundlage der Zuordnung modelliert erstellten Lektion 2: Hinzufügen von Miningmodellen, die Market Basket-Miningstruktur. Eine Vorhersageabfrage wird unter Verwendung der DMX erstellt wählen -Anweisung und Hinzufügen einer PREDICTION JOIN Klausel. Weitere Informationen zur Syntax einer vorhersageverknüpfung finden Sie unter SELECT FROM < Modell > PREDICTION JOIN ( DMX ).

Die SELECT FROM PREDICTION JOIN Form der auswählen -Anweisung besteht aus drei Teilen:

  • Einer Liste der Miningmodellspalten und Vorhersagefunktionen, die im Resultset zurückgegeben werden. Diese Liste kann auch Eingabespalten aus den Quelldaten enthalten.

  • Eine Quellabfrage, die die zum Erstellen einer Vorhersage verwendeten Daten definiert. Wenn Sie beispielsweise zahlreiche Vorhersagen in einem Batch erstellen, kann die Quellabfrage eine Liste von Kunden abrufen.

  • Einer Zuordnung von Miningmodellspalten und Quelldaten. Wenn die Namen der Spalten übereinstimmen, können Sie die NATURAL PREDICTION JOIN Syntax und die spaltenzuordnungen verzichten.

Mithilfe von Vorhersagefunktionen lässt sich die Abfrage optimieren. Vorhersagefunktionen stellen zusätzliche Informationen bereit, z. B. die Wahrscheinlichkeit des Eintreffens einer Vorhersage oder die Unterstützung für die Vorhersage im Trainingsdataset. Weitere Informationen zu Vorhersagefunktionen finden Sie unter Funktionen ( DMX ).

Vorhersageabfragen können auch mit dem Generator für Vorhersageabfragen in SQL Server Data Tools (SSDT) erstellt werden.

PREDICTION JOIN-Anweisung in einer SINGLETON-Vorhersageabfrage

Der erste Schritt ist, erstellen Sie eine Singleton-Abfrage mithilfe der SELECT FROM PREDICTION JOIN Syntax und ein einzelner Satz von Werten als Eingabe bereitgestellt. Es folgt ein allgemeines Beispiel für die SINGLETON-Anweisung:

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

In der ersten Codezeile werden die Spalten des Miningmodells definiert, das die Abfrage zurückgibt und der Name des Miningmodells angegeben, mit dem die Vorhersage generiert wurde:

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

In der nächsten Zeile des Codes wird der auszuführende Vorgang angegeben. Da Sie Werte für jede der Spalten angeben und geben Sie den Namen der Spalten genau, dass das Modell übereinstimmen, können Sie mithilfe der NATURAL PREDICTION JOIN Syntax. Wenn die Spaltennamen unterschiedlich sind, Sie müssten jedoch zum Angeben von Zuordnungen zwischen den Spalten im Modell und die Spalten in den neuen Daten durch Hinzufügen einer auf Klausel.

[NATURAL] PREDICTION JOIN  

Die nächsten Codezeilen definieren die Produkte im Einkaufswagen, die zum Vorhersagen zusätzlicher Produkte, die ein Kunde erwerben wird, verwendet werden:

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

Lektionsaufgaben

Im Rahmen dieser Lektion führen Sie die folgenden Aufgaben aus:

  • Erstellen Sie eine Abfrage, die welche anderen Elemente vorhersagt, ein Kunde wahrscheinlich kaufen wird, basierend auf Elemente, die bereits in den Warenkorb. Erstellen Sie diese Abfrage mithilfe des Miningmodells mit der standardmäßigen MINIMUM_PROBABILITY.

  • Erstellen einer Abfrage, die anhand von Artikeln, die sich bereits im Einkaufswagen eines Kunden befinden, vorhersagt, welche anderen Artikel ein Kunde wahrscheinlich kaufen wird. Diese Abfrage beruht auf einem anderen Modell, in dem MINIMUM_PROBABILITY auf 0,01 festgelegt wurde. Da der Standardwert für MINIMUM_PROBABILITY in den zuordnungsmodellen 0,3 ist, die Abfrage für dieses Modell sollte mehr Elemente als die Abfrage des Standardmodells zurückgeben.

Erstellen einer Vorhersage durch Verwenden eines Modells mit dem MINIMUM_PROBABILITY-Standardwert

So erstellen Sie eine Zuordnungsabfrage

  1. In Objekt-Explorer, mit der rechten Maustaste in der Instanzstatus von Analysis Services, zeigen Sie auf neue Abfrage, und klicken Sie dann auf DMX den Abfrage-Editor zu öffnen.

  2. Kopieren Sie das allgemeine Beispiel der PREDICTION JOIN -Anweisung in die leere Abfrage.

  3. Ersetzen Sie Folgendes:

    <select list>   
    

    durch:

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

    Sie könnten nur den Spaltennamen [Products] einschließen jedoch mithilfe der Predict ( DMX ) -Funktion, Sie können die Anzahl der vom Algorithmus zurückgegebenen Produkte auf drei sind. Sie können auch INCLUDE_STATISTICS, der Unterstützung, Wahrscheinlichkeit und angepasste Wahrscheinlichkeit für jedes Produkt zurückgegeben. Mithilfe dieser statistischen Informationen können Sie die Genauigkeit der Vorhersage bewerten.

  4. Ersetzen Sie Folgendes:

    [<mining model>]   
    

    durch:

    [Default Association]  
    
  5. Ersetzen Sie Folgendes:

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

    durch:

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

    Diese Anweisung verwendet die UNION Anweisung, um drei Produkte anzugeben, die in den Einkaufswagen zusammen mit den vorhergesagten Produkten enthalten sein müssen. Der Modell-Spalte in der auswählen -Anweisung entspricht der modellspalte, in der geschachtelten Products-Tabelle enthalten ist.

    Die gesamte Anweisung sollte wie folgt aussehen:

    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. Auf der Datei Menü klicken Sie auf Dmxquery1.DMX speichern.

  7. In der Speichern Dialogfeld wechseln Sie zum entsprechenden Ordner, und nennen Sie die Datei Association Prediction.dmx.

  8. Klicken Sie auf der Symbolleiste auf die Execute Schaltfläche.

    Die Abfrage gibt eine Tabelle zurück, die drei Produkte enthält: HL Mountain Tire, Fender Set - Mountain und ML Mountain Tire. In der Tabelle werden diese zurückgegebenen Produkte in der Reihenfolge ihrer Wahrscheinlichkeit aufgeführt. Das zurückgegebene Produkt, dessen Wahrscheinlichkeit, zusammen mit den in der Abfrage angegebenen drei Produkten in den gleichen Warenkorb eingefügt zu werden, am höchsten ist, wird an der Spitze der Tabelle angezeigt. Die folgenden zwei Produkte besitzen die nächsthöhere Wahrscheinlichkeit, in den Warenkorb eingefügt zu werden. Die Tabelle enthält zudem statistische Informationen, die die Genauigkeit der Vorhersage beschreiben.

Erstellen einer Vorhersage durch Verwenden eines Modells mit dem MINIMUM_PROBABILITY-Wert 0,01

So erstellen Sie eine Zuordnungsabfrage

  1. In Objekt-Explorer, mit der rechten Maustaste in der Instanzstatus von Analysis Services, zeigen Sie auf neue Abfrage, und klicken Sie dann auf DMXden Abfrage-Editor zu öffnen.

  2. Kopieren Sie das allgemeine Beispiel der PREDICTION JOIN -Anweisung in die leere Abfrage.

  3. Ersetzen Sie Folgendes:

    <select list>   
    

    durch:

    PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)  
    
  4. Ersetzen Sie Folgendes:

    [<mining model>]   
    

    durch:

    [Modified Association]  
    
  5. Ersetzen Sie Folgendes:

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

    durch:

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

    Diese Anweisung verwendet die UNION Anweisung, um drei Produkte anzugeben, die in den Einkaufswagen zusammen mit den vorhergesagten Produkten enthalten sein müssen. Die [Model] -Spalte in der auswählen Anweisung entspricht der Spalte in der geschachtelten Products-Tabelle.

    Die gesamte Anweisung sollte wie folgt aussehen:

    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. Auf der Datei Menü klicken Sie auf Dmxquery1.DMX speichern.

  7. In der Speichern Dialogfeld wechseln Sie zum entsprechenden Ordner, und nennen Sie die Datei Modified Association Prediction.dmx.

  8. Klicken Sie auf der Symbolleiste auf die Execute Schaltfläche.

    Die Abfrage gibt eine Tabelle zurück, die drei Produkte enthält: HL Mountain Tire, Water Bottle und Fender Set - Mountain. In der Tabelle werden diese Produkte in der Reihenfolge ihrer Wahrscheinlichkeit aufgeführt. Das Produkt, das an der Spitze der Tabelle angezeigt wird, besitzt die höchste Wahrscheinlichkeit, zusammen mit den in der Abfrage angegebenen drei Produkten in den gleichen Warenkorb eingefügt zu werden. Die restlichen Produkte besitzen die nächsthöhere Wahrscheinlichkeit, in den Warenkorb eingefügt zu werden. Die Tabelle enthält auch Statistiken, die Genauigkeit der Vorhersage beschreiben.

    Können Sie erkennen die Ergebnisse dieser Abfragen, die den Wert der MINIMUM_PROBABILITY Parameter wirkt sich auf die von der Abfrage zurückgegebenen Ergebnisse.

Dies ist der letzte Schritt im Market Basket-Lernprogramm. Sie verfügen jetzt über einen Satz von Modellen, mit dem sich vorhersagen lässt, welche Produkte von Kunden möglicherweise gleichzeitig gekauft werden.

Verwendung von DMX in einem anderen vorhersageszenario finden Sie unter Bike Buyer DMX-Lernprogramm.

Siehe auch

Beispiele für Zuordnungsmodellabfragen
Data Mining-Abfragetools