Freigeben über


Beispiele für Assoziationsmodellabfragen

Wenn Sie eine Abfrage für ein Data Mining-Modell erstellen, können Sie entweder eine Inhaltsabfrage erstellen, die Details zu den Regeln und Itemsets bereitstellt, die während der Analyse ermittelt werden, oder Sie können eine Vorhersageabfrage erstellen, die die in den Daten ermittelten Zuordnungen verwendet, um Vorhersagen zu erstellen. Bei einem Zuordnungsmodell basieren Vorhersagen in der Regel auf Regeln und können verwendet werden, um Empfehlungen zu erstellen, während Abfragen zu Inhalten normalerweise die Beziehung zwischen Itemsets untersuchen. Sie können auch Metadaten zum Modell abrufen.

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

Inhaltsabfragen

Abrufen von Modellmetadaten mithilfe von DMX

Abrufen von Metadaten aus dem Schema-Rowset

Abrufen der ursprünglichen Parameter für das Modell

Abrufen einer Liste von Itemsets und Produkten

Die obersten 10 Itemsets werden zurückgegeben

Vorhersageabfragen

Vorhersagen zugeordneter Elemente

Bestimmen der Konfidenz für verwandte Itemsets

Suchen von Informationen zum Modell

Alle Miningmodelle machen den vom Algorithmus gelernten Inhalt gemäß einem standardisierten Schema verfügbar, das als Miningmodellschema-Rowset bezeichnet wird. Sie können Abfragen für das Miningmodell-Schema-Rowset entweder mithilfe von Data Mining Extensions (DMX)-Anweisungen oder gespeicherter Prozeduren in Analysis Services erstellen. In SQL Server 2014 können Sie die Schema-Rowsets auch direkt als Systemtabellen abfragen, indem Sie eine SQL-ähnliche Syntax verwenden.

Beispielabfrage 1: Abrufen von Modellmetadaten mithilfe von XML

Die folgende Abfrage gibt grundlegende Metadaten zum Zuordnungsmodell zurück, Associationz. B. den Namen des Modells, die Datenbank, in der das Modell gespeichert ist, und die Anzahl der untergeordneten Knoten im Modell. Diese Abfrage verwendet eine DMX-Inhaltsabfrage, um die Metadaten des übergeordneten Knotens des Modells abzurufen.

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

Hinweis

Sie müssen den Namen der Spalte, CHILDREN_CARDINALITY, in Klammern einschließen, um ihn vom reservierten SCHLÜSSELwort MDX desselben Namens zu unterscheiden.

Beispielergebnisse:

MODELL_KATALOG Zuordnungstest
MODEL_NAME Verein
NODE_CAPTION Assoziationsregelmodell
Node-Unterstützung 14879
Kinderanzahl 942
Knotenbeschreibung Zuordnungsregelnmodell; 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 der Bedeutung dieser Spalten in einem Zuordnungsmodell finden Sie unter Mining Model Content for Association Models (Analysis Services - Data Mining).

Zurück zum Anfang

Beispielabfrage 2: Abrufen zusätzlicher Metadaten aus dem Schema-Rowset

Durch Abfragen des Data-Mining-Schema-Rowsets können Sie die gleichen Informationen wie in einer DMX-Inhaltsabfrage finden. Das Schema-Rowset stellt jedoch einige zusätzliche Spalten bereit, z. B. das Datum, an dem das Modell zuletzt verarbeitet wurde, die Miningstruktur und den Namen der Spalte, die als vorhersagbares Attribut verwendet wird.

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

Beispielergebnisse:

MODELL_KATALOG Adventure Works DW Multidimensional 2012
MODEL_NAME Verein
SERVICE_NAME Assoziationsregelnmodell
VORHERSAGE_EINHEIT v Zuordnung Sequenzpositionen
MINENSTRUKTUR Verein
ZULETZT_BEARBEITET 29.09.2007 10:21:24 Uhr

Zurück zum Anfang

Beispielabfrage 3: Abrufen der ursprünglichen Parameter für das Modell

Die folgende Abfrage gibt eine einzelne Spalte zurück, die Details zu den Parametereinstellungen enthält, 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 von Informationen zu Regeln und Itemsets

Es gibt zwei häufige Verwendungsmöglichkeiten eines Zuordnungsmodells: Um Informationen zu häufigen Itemsets zu ermitteln und Details zu bestimmten Regeln und Itemsets zu extrahieren. Sie können beispielsweise eine Liste von Regeln extrahieren, die als besonders interessant bewertet wurden, oder eine Liste der am häufigsten verwendeten Itemsets erstellen. Sie rufen solche Informationen mithilfe einer DMX-Inhaltsabfrage ab. Sie können diese Informationen auch mithilfe des Microsoft Association Viewer durchsuchen.

Beispielabfrage 4: Abrufen der Liste der Itemsets und Produkte

Die folgende Abfrage ruft alle Itemsets zusammen mit einer geschachtelten Tabelle ab, die die in den einzelnen Itemset enthaltenen Produkte auflistet. Die spalte NODE_NAME enthält die eindeutige ID des Itemsets innerhalb des Modells, während die NODE_CAPTION eine Textbeschreibung der Elemente bereitstellt. In diesem Beispiel wird die geschachtelte Tabelle vereinfacht, sodass ein Itemset mit zwei Produkten zwei Zeilen in den Ergebnissen generiert. Sie können das Schlüsselwort FLATTENED weglassen, wenn Ihr 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:

NODE_NAME 37
KNOTEN_BESCHRIFTUNG Sport-100 = Bestehend
KNOTENWAHRSCHEINLICHKEIT 0.291283016331743
KNOTEN_UNTERSTÜTZUNG 4334
GEKAUFTEPRODUKTE.ATTRIBUTE_NAME v Assoziierte Sequenzpositionen(Sport-100)

Zurück zum Anfang

Beispielabfrage 5: Zurückgeben der obersten 10 Itemsets

In diesem Beispiel wird veranschaulicht, wie Sie einige der Gruppierungs- und Sortierfunktionen verwenden, die von DMX standardmäßig bereitgestellt werden. Die Abfrage gibt die Top-10-Itemsets zurück, wenn sie nach dem Support für jeden Knoten sortiert werden. Beachten Sie, dass Sie die Ergebnisse nicht explizit gruppieren müssen, wie in Transact-SQL; Sie können jedoch nur eine Aggregatfunktion in jeder Abfrage verwenden.

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

Beispielergebnisse:

NODE_SUPPORT 4334
NODE_NAME 37
NODE_CAPTION Sport-100 = Bestehende

Zurück zum Anfang

Erstellen von Vorhersagen mithilfe des Modells

Ein Zuordnungsregelnmodell wird häufig verwendet, um Empfehlungen zu generieren, die auf Korrelationen basieren, die in den Itemsets ermittelt werden. Wenn Sie daher eine Vorhersageabfrage basierend auf einem Zuordnungsregelnmodell erstellen, verwenden Sie in der Regel die Regeln im Modell, um Vermutungen basierend auf neuen Daten zu erstellen. PredictAssociation (FALSE) ist die Funktion, die Empfehlungen zurückgibt, und verfügt über mehrere Argumente, mit denen Sie die Abfrageergebnisse anpassen können.

Ein weiteres Beispiel dafür, dass Abfragen für ein Zuordnungsmodell hilfreich sein können, besteht darin, das Vertrauen für verschiedene Regeln und Itemsets zurückzugeben, damit Sie die Effektivität verschiedener Cross-Sell-Strategien vergleichen können. Die folgenden Beispiele veranschaulichen das Erstellen solcher Abfragen.

Beispielabfrage 6: Vorhersagen zugeordneter Elemente

In diesem Beispiel wird das Zuordnungsmodell verwendet, das im Lernprogramm für zwischen dem Data Mining (Analysis Services - Data Mining) erstellt wurde. Es veranschaulicht, wie Sie eine Vorhersageabfrage erstellen, die Ihnen angibt, welche Produkte einem Kunden empfohlen werden sollen, der ein bestimmtes Produkt erworben hat. Dieser Abfragetyp, bei dem Sie dem Modell in einer SELECT...UNION Anweisung Werte bereitstellen, wird als Singleton-Abfrage bezeichnet. Da die vorhersagbare Modellspalte, die den neuen Werten entspricht, eine geschachtelte Tabelle ist, müssen Sie eine SELECT Klausel verwenden, um den neuen Wert der geschachtelten Tabellenspalte [Model]und einer anderen SELECT Klausel zuzuordnen, um die geschachtelte Tabellenspalte der Spalte auf Fallebene zuzuordnen. [v Assoc Seq Line Items] Wenn Sie das Schlüsselwort INCLUDE-STATISTICS zur Abfrage hinzufügen, können Sie die Wahrscheinlichkeit und Unterstützung für die Empfehlungen anzeigen.

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 $UNTERSTÜTZUNG $PROBABILITY Angepasste Wahrscheinlichkeit
Sport-100 4334 0.291283 0.252696
Wasserflasche 2866 0.19262 0.175205
Flickzeug 2113 0.142012 0.132389

Zurück zum Anfang

Beispielabfrage 7: Ermitteln der Konfidenz für verwandte Itemsets

Während Regeln zum Generieren von Empfehlungen nützlich sind, sind Itemsets für eine tiefere Analyse der Muster im Dataset interessanter. Wenn Sie z. B. nicht mit der Empfehlung zufrieden waren, die von der vorherigen Beispielabfrage zurückgegeben wird, könnten Sie andere Itemsets untersuchen, die Produkt A enthalten, um eine bessere Vorstellung davon zu erhalten, ob "Product A" ein Zubehör ist, das von Personen mit allen Arten von Produkten gekauft wird, oder ob A stark mit Einkäufen bestimmter Produkte korreliert ist. Die einfachste Möglichkeit, diese Beziehungen zu erkunden, besteht darin, die Itemsets im Microsoft Association Viewer zu filtern. Sie können jedoch dieselben Informationen mit einer Abfrage abrufen.

Die folgende Beispielabfrage gibt alle Itemsets zurück, die den Wasserflasche-Artikel enthalten, einschließlich des einzelnen Artikels Wasserflasche.

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
Wasserflasche = vorhanden 2866 v Assoc Seq Line Items(Wasserflasche)
Mountain-Flaschenhalter = vorhanden, Wasserflasche = vorhanden 1136 v Assoc Seq Line Items(Wasserflasche)
Flaschenhalter für das Fahrrad = vorhanden, Wasserflasche = vorhanden 1068 v Assoc Seq Line Items(Wasserflasche)
Wasserflasche = Vorhanden, Sport-100 = Vorhanden 734 v Assoc Seq Line Items(Wasserflasche)

Diese Abfrage gibt sowohl die Zeilen aus der geschachtelten Tabelle zurück, die den Kriterien entsprechen, als auch alle Zeilen aus der externen oder Falltabelle. Daher müssen Sie eine Bedingung hinzufügen, die die Falltabellenzeilen entfernt, die einen Nullwert für den Zielattributenamen aufweisen.

Zurück zum Anfang

Funktionsliste

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

Vorhersagefunktion Verwendung
IsDescendant (DMX) Bestimmt, ob ein Knoten ein Kindknoten eines anderen Knotens im Graph des neuronalen Netzwerks ist.
IsInNode (DMX) Gibt an, ob der angegebene Knoten den aktuellen Fall enthält.
PredictAdjustedProbability (DMX) Gibt die gewichtete Wahrscheinlichkeit zurück.
PredictAssociation (UNIVERSE) Prognostiziert die Mitgliedschaft in einem assoziativen Dataset.
PredictHistogram (DMX) Gibt eine Tabelle mit Werten zurück, die sich auf den aktuellen vorhergesagten Wert beziehen.
PredictNodeId (DMX) Gibt die 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 angegebenen Zustand zurück.
PredictVariance (DMX) Gibt die Varianz für den vorhergesagten Wert zurück.

Siehe auch

Microsoft Association Algorithm
Technische Referenz zu Microsoft Association Algorithm
Miningmodellinhalt für Zuordnungsmodelle (Analysis Services - Data Mining)