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 Association
zurü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).
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 |
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
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) |
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 |
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 |
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.
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)