Freigeben über


Beispiele für Zuordnungsmodellabfragen

Gilt für: SQL Server 2019 und früher Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Beim Erstellen einer Abfrage für ein Data Mining-Modell können Sie entweder eine Inhaltsabfrage oder eine Vorhersageabfrage auswählen. Die Inhaltsabfrage liefert Details über die während der Analyse ermittelten Regeln und Itemsets. Die Vorhersageabfrage nimmt hingegen Vorhersagen anhand der in den Daten gefundenen Zuordnungen vor. Für ein Zuordnungsmodell basieren Vorhersagen üblicherweise auf Regeln und können für Empfehlungen verwendet werden. Bei Abfragen des Inhalts wird hingegen die Beziehung zwischen Itemsets analysiert. Sie können auch Metadaten über das Modell abrufen.

In diesem Abschnitt wird erläutert, wie Sie diese Arten von Abfragen für Modelle erstellen, die auf dem Microsoft Association Rules-Algorithmus basieren.

Inhaltsabfragen

Abrufen von Modellmetadaten-Daten mithilfe von DMX

Abrufen von Metadaten aus dem Schemarowset

Abrufen der ursprünglichen Parameter für das Modell

Abrufen einer Liste von Itemsets und Produkten

Zurückgeben der obersten 10 Itemsets

Vorhersageabfragen

Vorhersagen von verknüpften Elementen

Bestimmen von Vertrauen für verwandte Itemsets

Suchen nach Informationen über das Modell

Alle Miningmodelle machen den vom Algorithmus erfassten Inhalt nach einem standardisierten Schema verfügbar. Dieses Schema wird als Miningmodell-Schemarowset bezeichnet. Sie können Abfragen für das Miningmodellschemarowset entweder mithilfe von DMX-Anweisungen (Data Mining Extensions) oder mit SQL Server Analysis Services gespeicherten Prozeduren erstellen. In SQL Server 2017 können Sie die Schemarowsets auch direkt als Systemtabellen abfragen, indem Sie eine SQL-ähnliche Syntax verwenden.

Beispielabfrage 1: Abrufen von Modellmetadaten mit DMX

Die folgende Abfrage gibt grundlegende Metadaten über das Zuordnungsmodell Associationzurück, wie Name des Modells, die Datenbank, in der das Modell gespeichert ist, und die Anzahl der untergeordneten Knoten im Modell. Diese Abfrage ruft die Metadaten mithilfe einer DMX-Inhaltsabfrage vom übergeordneten Knoten des Modells ab:

SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION,   
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 1  

Hinweis

Setzen Sie den Namen der Spalte CHILDREN_CARDINALITY in Klammern, um ihn von dem gleichnamigen reservierten MDX-Schlüsselwort zu unterscheiden.

Beispielergebnisse:

Zeile Metadaten
MODEL_CATALOG Zuordnungstest
MODEL_NAME Zuordnung
NODE_CAPTION Modell für Zuordnungsregeln
NODE_SUPPORT 14879
CHILDREN_CARDINALITY 942
NODE_DESCRIPTION Modell für Zuordnungsregeln; ITEMSET_COUNT=679; RULE_COUNT=263; MIN_SUPPORT=14; MAX_SUPPORT=4334; MIN_ITEMSET_SIZE=0; MAX_ITEMSET_SIZE=3; MIN_PROBABILITY=0.400390625; MAX_PROBABILITY=1; MIN_LIFT=0.14309369632511; MAX_LIFT=1.95758227647523

Eine Definition, was diese Spalten in einem Zuordnungsmodell bedeuten, finden Sie unter Miningmodellinhalt für Zuordnungsmodelle (Analysis Services – Data Mining).

Zurück zum Anfang

Beispielabfrage 2: Abrufen von weiteren Metadaten aus dem Schemarowset

Durch Abfragen des Data Mining-Schemarowsets erhalten Sie dieselben Informationen wie bei einer DMX-Inhaltsabfrage. Das Schemarowset bietet jedoch einige zusätzliche Spalten, wie das Datum der letzten Modellverarbeitung, die Miningstruktur und den Namen der als vorhersagbares Attribut verwendeten Spalte.

SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY,   
MINING_STRUCTURE, LAST_PROCESSED  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

Beispielergebnisse:

Zeile Metadaten
MODEL_CATALOG Adventure Works DW Multidimensional 2012
MODEL_NAME Zuordnung
SERVICE_NAME Modell für Zuordnungsregeln
PREDICTION_ENTITY v Assoc Seq Line Items
MINING_STRUCTURE Zuordnung
LAST_PROCESSED 9/29/2007 10:21:24 PM

Zurück zum Anfang

Beispielabfrage 3: Abrufen von ursprünglichen Parametern für das Modell

Die folgende Abfrage gibt eine einzelne Spalte mit Details über die Parametereinstellungen zurück, die beim Erstellen des Modells verwendet wurden.

SELECT MINING_PARAMETERS   
from $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

Beispielergebnisse:

MAXIMUM_ITEMSET_COUNT=200000, MAXIMUM_ITEMSET_SIZE=3, MAXIMUM_SUPPORT=1, MINIMUM_SUPPORT=9.40923449156529E-04, MINIMUM_IMPORTANCE=-999999999,MINIMUM_ITEMSET_SIZE=0, MINIMUM_PROBABILITY=0.4

Zurück zum Anfang

Suchen nach Informationen über Regeln und Itemsets

Ein Zuordnungsmodell dient im Wesentlichen zwei Zwecken: dem Finden von Informationen über häufig vorhandene Itemsets und dem Extrahieren von Details über bestimmte Regeln und Itemsets. Sie können beispielsweise eine Liste der Regeln extrahieren, die als besonders interessant eingestuft wurden, oder eine Liste mit den gängigsten Itemsets erstellen. Diese Informationen rufen Sie mit einer DMX-Inhaltsabfrage ab. Sie können auch mithilfe des Microsoft Association Viewernach diesen Informationen suchen.

Beispiel Abfrage 4: Abrufen der Liste von Itemsets und Produkten

Mit folgender Abfrage werden alle Itemsets sowie eine geschachtelte Tabelle abgerufen, in der die in den einzelnen Itemsets enthaltenen Produkte aufgeführt sind. Die Spalte NODE_NAME enthält die eindeutige ID des Itemsets innerhalb des Modells, während die Spalte NODE_CAPTION eine Textbeschreibung der Elemente zur Verfügung stellt. In diesem Beispiel wird die geschachtelte Tabelle vereinfacht, sodass ein Itemset, das zwei Produkte enthält, zwei Zeilen in den Ergebnissen generiert. Sie können das FLATTENED-Schlüsselwort auslassen, wenn der Client hierarchische Daten unterstützt.

SELECT FLATTENED NODE_NAME, NODE_CAPTION,  
NODE_PROBABILITY, NODE_SUPPORT,  
(SELECT ATTRIBUTE_NAME FROM NODE_DISTRIBUTION) as PurchasedProducts  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

Beispielergebnisse:

Zeile Metadaten
NODE_NAME 37
NODE_CAPTION Sport-100 = Existing
NODE_PROBABILITY 0.291283016331743
NODE_SUPPORT 4334
PURCHASEDPRODUCTS.ATTRIBUTE_NAME v Assoc Seq Line Items(Sport-100)

Zurück zum Anfang

Beispielabfrage 5: Zurückgeben der obersten 10 Itemsets

Dieses Beispiel zeigt, wie einige der Gruppierungs- und Anordnungsfunktionen, die von DMX standardmäßig bereitgestellt werden, verwendet werden. Die Abfrage gibt die obersten 10 Itemsets zurück, wenn diese entsprechend der Unterstützung für jeden Knoten angeordnet sind. Die Ergebnisse müssen nicht explizit wie in Transact-SQL gruppiert werden. Sie können in jeder Abfrage nur eine Aggregatfunktion verwenden.

SELECT TOP 10 (NODE_SUPPORT),NODE_NAME, NODE_CAPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

Beispielergebnisse:

Zeile Metadaten
NODE_SUPPORT 4334
NODE_NAME 37
NODE_CAPTION Sport-100 = Existing

Zurück zum Anfang

Treffen von Vorhersagen mit dem Modell

Ein Zuordnungsregelnmodell wird häufig zum Generieren von Empfehlungen verwendet, die auf in den Itemsets gefundenen Korrelationen basieren. Wenn Sie eine Vorhersageabfrage auf Basis eines Modells für Zuordnungsregeln erstellen, werden die Regeln im Modell üblicherweise verwendet, um Vermutungen basierend auf neuen Daten zu erstellen. PredictAssociation (DMX) ist die Funktion, die Empfehlungen zurückgibt, und verfügt über mehrere Argumente, die Sie zum Anpassen der Abfrageergebnisse verwenden können.

Ein anderes Beispiel für den sinnvollen Einsatz von Abfragen bei einem Zuordnungsmodell ist die Rückgabe des Vertrauenswerts für verschiedene Regeln und Itemsets, sodass Sie die Effektivität verschiedener Cross-Selling-Strategien vergleichen können. In den folgenden Beispielen wird gezeigt, wie derartige Abfragen erstellt werden.

Beispiel Abfrage 6: Vorhersagen von verknüpften Elementen

In diesem Beispiel wird das Zuordnungsmodell verwendet, das im Data Mining-Tutorial für Fortgeschrittene (Analysis Services – Data Mining) erstellt wurde. Es zeigt, wie Sie eine Vorhersageabfrage erstellen, die Aufschluss darüber gibt, welche Produkte Sie einem Kunden empfehlen sollten, der ein bestimmtes Produkt gekauft hat. Diese Art von Abfrage, bei der Sie Werte für das Modell in einer SELECT... DIE UNION-Anweisung wird als Singletonabfrage bezeichnet. Da es sich bei der vorhersagbaren Modellspalte, die den neuen Werten entspricht, um eine geschachtelte Tabelle handelt, müssen Sie eine SELECT -Klausel verwenden, um den neuen Wert der geschachtelten Tabellenspalte zuzuordnen, sowie [Model]und eine weitere SELECT -Klausel, um die geschachtelte Tabellenspalte der Spalte auf Fallebene [v Assoc Seq Line Items]zuzuordnen. Durch Hinzufügen des Schlüsselworts INCLUDE-STATISTICS zur Abfrage können Sie die Wahrscheinlichkeit und die Unterstützung für die Empfehlungen sehen.

SELECT PredictAssociation([Association].[vAssocSeqLineItems],INCLUDE_STATISTICS, 3)  
FROM [Association]  
NATURAL PREDICTION JOIN   
(SELECT  
(SELECT 'Classic Vest' as [Model])  
AS [v Assoc Seq Line Items])  
AS t  

Beispielergebnisse:

Modell $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291283 0.252696
Water Bottle 2866 0.19262 0.175205
Patchkit 2113 0.142012 0.132389

Zurück zum Anfang

Beispielabfrage 7: Bestimmen von Vertrauen für verwandte Itemsets

Während Regeln nützlich sind, um Empfehlungen zu generieren, sind Itemsets eher für eine tiefer gehende Analyse der Muster im Dataset interessant. Wenn Sie beispielsweise mit den Empfehlungen, die von der vorherigen Beispielabfrage zurückgegeben wurden, nicht zufrieden sind, können Sie andere Itemsets, die das Produkt A enthalten, prüfen. So können Sie sich ein Bild machen, ob Produkt A ein Zubehör ist, das eher zusammen mit beliebigen anderen Produkten gekauft wird, oder ob Produkt A eng mit dem Kauf bestimmter Produkte verknüpft ist. Die einfachste Möglichkeit, diese Beziehungen zu untersuchen, besteht darin, die Itemsets im Microsoft Association Viewer zu filtern. Sie können jedoch dieselben Informationen mit einer Abfrage abrufen.

Mit der folgenden Beispielabfrage werden alle Itemsets zurückgegeben, die das Element "Water Bottle" enthalten, einschließlich des einzelnen Elements "Water bottle".

SELECT TOP 100 FROM   
(  
SELECT FLATTENED NODE_CAPTION, NODE_SUPPORT,   
(SELECT ATTRIBUTE_NAME from NODE_DISTRIBUTION  
WHERE ATTRIBUTE_NAME = 'v Assoc Seq Line Items(Water Bottle)') as D  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  
) AS Items  
WHERE [D.ATTRIBUTE_NAME] <> NULL  
ORDER BY NODE_SUPPORT DESC  

Beispielergebnisse:

NODE_CAPTION NODE_SUPPORT D.ATTRIBUTE_NAME
Water Bottle = Existing 2866 v Assoc Seq Line Items(Water Bottle)
Mountain Bottle Cage = Existing, Water Bottle = Existing 1.136 v Assoc Seq Line Items(Water Bottle)
Road Bottle Cage = Existing, Water Bottle = Existing 1068 v Assoc Seq Line Items(Water Bottle)
Water Bottle = Existing, Sport-100 = Existing 734 v Assoc Seq Line Items(Water Bottle)

Mit dieser Abfrage werden die Zeilen der geschachtelten Tabelle zurückgegeben, die den Kriterien entsprechen, sowie alle Zeilen der Außen- oder Falltabelle. Daher müssen Sie eine Bedingung hinzufügen, mit der die Falltabellenzeilen mit einem NULL-Wert für den Zielattributnamen entfernt werden.

Zurück zum Anfang

Funktionsliste

Alle Microsoft-Algorithmen unterstützen einen gemeinsamen Satz von Funktionen. Der Microsoft Association-Algorithmus unterstützt jedoch die zusätzlichen Funktionen, die in der folgenden Tabelle aufgeführt sind.

Vorhersagefunktion Verbrauch
IsDescendant (DMX) Bestimmt, ob ein Knoten ein untergeordnetes Element eines anderen Knotens im Diagramm für neuronale Netzwerke ist.
IsInNode (DMX) Zeigt an, ob der angegebene Knoten den aktuellen Fall enthält.
PredictAdjustedProbability (DMX) Gibt die gewichtete Wahrscheinlichkeit zurück.
PredictAssociation (DMX) Sagt eine Mitgliedschaft in einem assoziativen Dataset voraus.
PredictHistogram (DMX) Gibt eine Tabelle mit Werten zurück, die sich auf den aktuellen vorhergesagten Wert beziehen.
PredictNodeId (DMX) Gibt "Node_ID" für jeden Fall zurück.
PredictProbability (DMX) Gibt die Wahrscheinlichkeit für den vorhergesagten Wert zurück.
PredictSupport (DMX) Gibt den Unterstützungswert für einen bestimmten Status zurück.
PredictVariance (DMX) Gibt die Varianz für den vorhergesagten Wert zurück.

Weitere Informationen

Microsoft Association-Algorithmus
Technische Referenz für den Microsoft Association-Algorithmus
Miningmodellinhalt von Zuordnungsmodellen (Analysis Services – Data Mining)