Abfragen eines Zuordnungsmodells (Analysis Services - Data Mining)
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 erklärt, wie die folgenden Arten von Abfragen für Modelle erstellt werden, die auf dem Microsoft Association Rules-Algorithmus basieren.
Inhaltsabfragen
Abrufen von Modellmetadaten mithilfe von DMX
Abrufen von Metadaten aus dem Schemarowset
Abrufen einer Liste von Itemsets und Produkten
Abrufen von Modellparametern
Abrufen 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. Abfragen für das Miningmodell-Schemarowset können Sie entweder mithilfe von DMX-Anweisungen oder mit gespeicherten Analysis Services-Prozeduren erstellen. In SQL Server 2008 werden die Schemarowsets als Systemtabellen verfügbar gemacht, damit Sie Abfragen durchführen können, indem Sie Syntax wie Transact-SQL verwenden.
Zurück zum Anfang
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:
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 für die Bedeutung dieser Spalten in einem Zuordnungsmodell finden Sie unter Miningmodellinhalt von Zuordnungsmodellen (Analysis Services - Data Mining).
Zurück zum Anfang
Beispiel Abfrage 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:
MODEL_CATALOG |
AdventureWorks DW |
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
Beispiel Abfrage 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 Viewer nach diesen Informationen suchen.
Zurück zum Anfang
Beispielabfrage 4: Abrufen einer 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:
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:
NODE_SUPPORT |
4334 |
NODE_NAME |
37 |
NODE_CAPTION |
Sport-100 = Existing |
Vornehmen von Vorhersagen mit dem Modell
Ein Modell für Zuordnungsregeln 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. Mit der Funktion PredictAssociation (DMX) werden Empfehlungen zurückgegeben. Diese Funktion besitzt mehrere Argumente, mit denen Sie Abfrageergebnisse anpassen 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.
Zurück zum Anfang
Beispiel Abfrage 6: Vorhersagen von verknüpften Elementen
In diesem Beispiel wird das im Lernprogramm zu Data Mining-Grundlagen erstellte Zuordnungsmodell verwendet. 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. Dieser Abfragetyp, bei dem Sie mithilfe einer SELECT…UNION-Anweisung Werte für das Modell bereitstellen, wird als SINGLETON-Abfrage bezeichnet. Da es sich bei der vorhersagbaren Spalte des Modells, 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, [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
Beispiel Abfrage 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 zur Prüfung dieser Beziehungen besteht darin, die Itemsets im Microsoft Association Viewer zu filtern. Sie können die gleichen Informationen jedoch auch 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 |
1136 |
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) |
Wenn Sie eine Abfrage mit einer geschachtelten Tabelle erstellen, gibt diese Abfrage nicht nur die Zeilen der geschachtelten Tabelle zurück, die den Kriterien entsprechen, sondern alle Zeilen der Außen- oder Falltabelle. Aus diesem Grund wurde in diesem Beispiel eine WHERE-Klausel hinzugefügt, mit der die Falltabellenzeilen mit einem NULL-Wert als Zielattributname entfernt werden.
Funktionsliste
Alle Microsoft-Algorithmen unterstützen einen gängigen Satz von Funktionen. Der Microsoft Association-Algorithmus unterstützt jedoch zusätzliche Funktionen, die in der folgenden Tabelle aufgeführt sind.
Änderungsverlauf
Aktualisierter Inhalt |
---|
Themenbezogene Links wurden hinzugefügt, um das Prüfen der Abfragebeispiele zu vereinfachen. |