Beispiele für Entscheidungsstruktur-Modellabfragen
Beim Erstellen einer Abfrage für ein Data Mining-Modell können Sie eine Inhaltsabfrage erstellen, die Details über die bei der Analyse ermittelten Muster liefert. Alternativ dazu können Sie auch eine Vorhersageabfrage erstellen, die Vorhersagen für neue Daten anhand der im Modell befindlichen Muster vornimmt. So könnte beispielsweise eine Inhaltsabfrage für ein Entscheidungsstrukturmodell statistische Angaben zur Anzahl der Fälle auf jeder Ebene der Struktur oder die Regeln liefern, die die Fälle voneinander unterscheiden. Alternativ dazu ordnet eine Vorhersageabfrage das Modell neuen Daten zu, um Empfehlungen, Klassifikationen und so weiter zu generieren. Mit einer Abfrage können Sie auch Metadaten zum Modell abrufen.
In diesem Abschnitt wird erklärt, wie Abfragen für Modelle erstellt werden, die auf dem Microsoft Decision Trees-Algorithmus basieren.
Inhaltsabfragen
Abrufen von Modellparametern aus dem Data Mining-Schemarowset
Abrufen von Details zu Strukturen im Modell mit DMX
Abrufen von Teilstrukturen aus dem Modell
Vorhersageabfragen
Zurückgeben von Vorhersagen mit Wahrscheinlichkeiten
Vorhersagen von Zuordnungen aus einem Entscheidungsstrukturmodell
Abrufen einer Regressionsformel aus einem Entscheidungsstrukturmodell
Suchen nach Informationen über ein Entscheidungsstrukturmodell
Um aussagekräftige Abfragen des Inhalts eines Entscheidungsstrukturmodells zu erstellen, müssen Sie die Struktur des Inhaltsmodells kennen und wissen, in welchem Knotentyp welche Art von Informationen gespeichert ist. Weitere Informationen finden Sie unter Miningmodellinhalt von Entscheidungsstrukturmodellen (Analysis Services – Data Mining).
Beispielabfrage 1: Abrufen von Modellparametern aus dem Data Mining-Schemarowset
Durch Abfrage des Data Mining-Schemarowsets können Sie Metadaten zum Modell ermitteln, wie das Datum der Modellerstellung, das Datum der letzten Modellverarbeitung, den Namen der Miningstruktur, auf der das Modell basiert, und den Namen der als vorhersagbares Attribut verwendeten Spalte. Sie können auch die Parameter zurückgeben, die beim ersten Erstellen des Modells verwendet wurden.
select MINING_PARAMETERS
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_Decision Tree'
Beispielergebnisse:
MINING_PARAMETERS
COMPLEXITY_PENALTY=0.5, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MINIMUM_SUPPORT=10, SCORE_METHOD=4, SPLIT_METHOD=3, FORCE_REGRESSOR=
Zurück zum Anfang
Beispielabfrage 2: Zurückgeben von Details zum Modellinhalt mit DMX
Die folgende Abfrage gibt einige grundlegende Informationen über die Entscheidungsstrukturen zurück, die beim Erstellen des Modells im Lernprogramm zu Data Mining-Grundlagen erstellt wurden. Jede Struktur wird in einem eigenen Knoten gespeichert. Da dieses Modell nur ein einziges vorhersagbares Attribut enthält, gibt es nur einen Strukturknoten. Wenn Sie jedoch ein Zuordnungsmodell unter Verwendung des Decision Trees-Algorithmus erstellen, können Hunderte von Strukturen vorhanden sein, eine für jedes Produkt.
Diese Abfrage gibt alle Knoten vom Typ 2 zurück, die die Knoten auf oberster Ebene einer Struktur sind, welche ein bestimmtes vorhersagbares Attribut darstellt.
Hinweis |
---|
Die Spalte CHILDREN_CARDINALITY muss in Klammern eingeschlossen werden, um sie von dem reservierten MDX-Schlüsselwort mit dem gleichen Namen unterscheiden zu können. |
SELECT MODEL_NAME, NODE_NAME, NODE_CAPTION,
NODE_SUPPORT, [CHILDREN_CARDINALITY]
FROM TM_DecisionTrees.CONTENT
WHERE NODE_TYPE = 2
Beispielergebnisse:
MODEL_NAME |
NODE_NAME |
NODE_CAPTION |
NODE_SUPPORT |
CHILDREN_CARDINALITY |
---|---|---|---|---|
TM_DecisionTree |
000000001 |
Alle |
12939 |
5 |
Was bedeuten diese Ergebnisse? In einem Entscheidungsstrukturmodell sagt die Kardinalität eines bestimmten Knotens aus, wie viele direkt untergeordnete Elemente dieser Knoten hat. Die Kardinalität für diesen Knoten ist 5. Dies bedeutet, dass das Modell die Zielgruppe potenzieller Fahrradkäufer in 5 Untergruppen aufgeteilt hat.
Die nachfolgende verwandte Abfrage gibt die untergeordneten Elemente für diese fünf Untergruppen zurück, zusammen mit der Verteilung der Attribute und Werte in den untergeordneten Knoten. Da statistische Informationen wie Unterstützung, Wahrscheinlichkeit und Varianz in der geschachtelten Tabelle NODE_DISTRIBUTION gespeichert sind, wird in diesem Beispiel das Schlüsselwort FLATTENED zur Ausgabe der Spalten der geschachtelten Tabelle verwendet.
Hinweis |
---|
Die verschachtelte Tabellenspalte SUPPORT muss in Klammern eingeschlossen werden, um sie von dem reservierten Schlüsselwort mit dem gleichen Namen unterscheiden zu können. |
SELECT FLATTENED NODE_NAME, NODE_CAPTION,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT]
FROM NODE_DISTRIBUTION) AS t
FROM TM_DecisionTree.CONTENT
WHERE [PARENT_UNIQUE_NAME] = '000000001'
Beispielergebnisse:
NODE_NAME |
NODE_CAPTION |
T.ATTRIBUTE_NAME |
T.ATTRIBUTE_VALUE |
SUPPORT |
---|---|---|---|---|
00000000100 |
Number Cars Owned = 0 |
Bike Buyer |
Missing |
0 |
00000000100 |
Number Cars Owned = 0 |
Bike Buyer |
0 |
1067 |
00000000100 |
Number Cars Owned = 0 |
Bike Buyer |
1 |
1875 |
00000000101 |
Number Cars Owned = 3 |
Bike Buyer |
Missing |
0 |
00000000101 |
Number Cars Owned = 3 |
Bike Buyer |
0 |
678 |
00000000101 |
Number Cars Owned = 3 |
Bike Buyer |
1 |
473 |
Anhand dieser Ergebnisse lässt sich sagen, dass von den Kunden, die ein Fahrrad gekauft haben ([Bike Buyer] = 1), 1067 Kunden 0 Autos und 473 Kunden 3 Autos hatten.
Zurück zum Anfang
Beispielabfrage 3: Abrufen von Teilstrukturen aus dem Modell
Angenommen, Sie möchten mehr über die Kunden in Erfahrung bringen, die ein Fahrrad gekauft haben. Sie können zusätzliche Details für jede Teilstruktur über die Funktion IsDescendant (DMX) in der Abfrage anzeigen, wie im folgenden Beispiel dargestellt. Die Abfrage gibt die Anzahl der Fahrradkäufer zurück, indem die Blattknoten (NODE_TYPE = 4) aus der Struktur abgerufen werden, die Kunden im Alter von über 42 Jahren enthält. Die Abfrage beschränkt die Zeilen aus der geschachtelten Tabelle auf die Zeilen, in denen Bike Buyer = 1 ist.
SELECT FLATTENED NODE_NAME, NODE_CAPTION,NODE_TYPE,
(
SELECT [SUPPORT] FROM NODE_DISTRIBUTION WHERE ATTRIBUTE_NAME = 'Bike Buyer' AND ATTRIBUTE_VALUE = '1'
) AS t
FROM TM_DecisionTree.CONTENT
WHERE ISDESCENDANT('0000000010001')
AND NODE_TYPE = 4
Beispielergebnisse:
NODE_NAME |
NODE_CAPTION |
t.SUPPORT |
---|---|---|
000000001000100 |
Yearly Income >= 26000 and < 42000 |
266 |
00000000100010100 |
Total Children = 3 |
75 |
0000000010001010100 |
Number Children At Home = 1 |
75 |
Zurück zum Anfang
Treffen von Vorhersagen mit einem Entscheidungsstrukturmodell
Da Entscheidungsstrukturen für eine Vielzahl von Tasks wie Klassifikation, Regression und sogar Zuordnung eingesetzt werden können, stehen Ihnen beim Erstellen einer Vorhersageabfrage für ein Entscheidungsstrukturmodell zahlreiche Optionen zur Verfügung. Sie müssen den Zweck kennen, für den das Modell erstellt wurde, um die Ergebnisse der Vorhersage zu verstehen. In den folgenden Abfragebeispielen werden drei verschiedene Szenarien veranschaulicht:
Zurückgeben einer Vorhersage für ein Klassifikationsmodell, zusammen mit der Wahrscheinlichkeit, mit der diese Vorhersage richtig ist, und anschließendes Filtern der Ergebnisse nach der Wahrscheinlichkeit
Erstellen einer SINGLETON-Abfrage zur Vorhersage von Zuordnungen
Abrufen der Regressionsformel für einen Teil der Entscheidungsstruktur, in dem die Beziehung zwischen Eingabe und Ausgabe linear ist
Beispielabfrage 4: Zurückgeben von Vorhersagen mit Wahrscheinlichkeiten
In der folgenden Beispielabfrage wird das Entscheidungsstrukturmodell verwendet, das im Lernprogramm zu Data Mining-Grundlagen erstellt wurde. Die Abfrage gibt einen neuen Satz von Beispieldaten aus der Tabelle dbo.ProspectiveBuyers in AdventureWorks2012 DW weiter, um vorauszusagen, welche Kunden im neuen Dataset ein Fahrrad kaufen werden.
Die Abfrage verwendet die Vorhersagefunktion PredictHistogram (DMX), die eine geschachtelte Tabelle mit nützlichen Informationen über die in dem Modell erkannten Wahrscheinlichkeiten zurückgibt. Die Ergebnisse werden durch die letzte WHERE-Klausel der Abfrage so gefiltert, dass nur die Kunden zurückgegeben werden, für die die Wahrscheinlichkeit, dass sie ein Fahrrad kaufen, über 0 Prozent liegt.
SELECT
[TM_DecisionTree].[Bike Buyer],
PredictHistogram([Bike Buyer]) as Results
From
[TM_DecisionTree]
PREDICTION JOIN
OPENQUERY([Adventure Works DW Multidimensional 2012],
'SELECT
[FirstName],
[LastName],
[MaritalStatus],
[Gender],
[YearlyIncome],
[TotalChildren],
[NumberChildrenAtHome],
[HouseOwnerFlag],
[NumberCarsOwned]
FROM
[dbo].[ProspectiveBuyer]
') AS t
ON
[TM_DecisionTree].[First Name] = t.[FirstName] AND
[TM_DecisionTree].[Last Name] = t.[LastName] AND
[TM_DecisionTree].[Marital Status] = t.[MaritalStatus] AND
[TM_DecisionTree].[Gender] = t.[Gender] AND
[TM_DecisionTree].[Yearly Income] = t.[YearlyIncome] AND
[TM_DecisionTree].[Total Children] = t.[TotalChildren] AND
[TM_DecisionTree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
[TM_DecisionTree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM_DecisionTree].[Number Cars Owned] = t.[NumberCarsOwned]
WHERE [Bike Buyer] = 1
AND PredictProbability([Bike Buyer]) >'.05'
Standardmäßig gibt Analysis Services geschachtelte Tabellen mit der Spaltenbezeichnung Ausdruck zurück. Sie können diese Bezeichnung durch Aliasing der Spalte ändern, die zurückgegeben wird. Wenn Sie so vorgehen, wird der Alias (in diesem Fall Ergebnisse) sowohl als Spaltenbezeichnung als auch als Wert in der geschachtelten Tabelle verwendet. Sie müssen die geschachtelte Tabelle erweitern, um die Ergebnisse zu sehen.
Beispielergebnisse:
Bike Buyer |
Ergebnisse |
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Ergebnisse
|
Wenn Ihr Anbieter keine hierarchischen Rowsets wie die hier dargestellten unterstützt, können unter Verwendung des FLATTENED-Schlüsselworts in der Abfrage die Ergebnisse als Tabelle zurückgeben lassen, die NULL-Werte anstelle der wiederholten Spaltenwerte enthält. Weitere Informationen finden Sie unter Geschachtelte Tabellen (Analysis Services - Data Mining) oder Grundlegendes zur SELECT-Anweisung (DMX).
Zurück zum Anfang
Beispielabfrage 5: Vorhersagen von Zuordnungen aus einem Entscheidungsstrukturmodell
Die folgende Beispielabfrage basiert auf der Association-Miningstruktur. Darüber hinaus können Sie in dem Beispiel dieser Miningstruktur ein neues Modell hinzufügen und Microsoft Decision Trees als Algorithmus auswählen. Weitere Informationen zum Erstellen der Association-Miningstruktur finden Sie unter Lektion 3: Erstellen eines Warenkorbszenarios (Data Mining-Lernprogramm für Fortgeschrittene).
Die folgende Beispielabfrage ist eine SINGLETON-Abfrage, die Sie mühelos in SQL Server-Datentools (SSDT) erstellen können, indem Sie Felder wählen und anschließend Werte für diese Felder in einer Dropdownliste auswählen.
SELECT PredictAssociation([DT_Association].[v Assoc Seq Line Items],3)
FROM
[DT_Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Patch kit' AS [Model]) AS [v Assoc Seq Line Items]) AS t
Erwartete Ergebnisse:
Modell |
---|
Mountain-200 |
Mountain Tire Tube |
Touring Tire Tube |
Die Ergebnisse sagen aus, welches die drei besten Produkte zur Empfehlung für Kunden sind, die das Produkt Patch Kit erworben haben. Sie können auch mehrere Produkte als Eingabe liefern, wenn Sie Empfehlungen machen, entweder durch Eingabe von Werten oder über das Dialogfeld SINGLETON-Abfrageeingabe, in dem Sie Werte hinzufügen oder entfernen. Die folgende Beispielabfrage zeigt, wie mehrere Werte geliefert werden, für die eine Vorhersage getroffen werden soll. Die Werte sind mittels einer UNION-Klausel in der SELECT-Anweisung verbunden, die die Eingabewerte definiert.
SELECT PredictAssociation([DT_Association].[v Assoc Seq Line Items],3)
From
[DT_Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Racing Socks' AS [Model]
UNION SELECT 'Women''s Mountain Shorts' AS [Model]) AS [v Assoc Seq Line Items]) AS t
Erwartete Ergebnisse:
Modell |
---|
Long-Sleeve Logo Jersey |
Mountain-400-W |
Classic Vest |
Zurück zum Anfang
Beispielabfrage 6: Abrufen einer Regressionsformel aus einem Entscheidungsstrukturmodell
Wenn Sie ein Entscheidungsstrukturmodell erstellen, das eine Regression für ein kontinuierliches Attribut enthält, können Sie die Regressionsformel verwenden, um Vorhersagen zu treffen, oder Sie können Informationen über die Regressionsformel extrahieren. Weitere Informationen zu Abfragen für Regressionsmodelle finden Sie unter Beispiele für lineare Regressionsmodellabfrage.
Wenn ein Entscheidungsstrukturmodell eine Mischung aus Regressionsknoten und Knoten enthält, die nach diskreten Attributen oder Bereichen unterteilt sind, können Sie eine Abfrage erstellen, die nur den Regressionsknoten zurückgibt. Die Tabelle NODE_DISTRIBUTION enthält Einzelheiten der Regressionsformel. In diesem Beispiel werden die Spalten vereinfacht, und für die NODE_DISTRIBUTION-Tabelle wird ein Alias verwendet, um sie übersichtlicher anzuzeigen. In diesem Modell wurden jedoch keine Regressoren gefunden, die Income mit anderen kontinuierlichen Attributen in Beziehung setzen. In solchen Fällen gibt Analysis Services den Mittelwert des Attributs und die Gesamtvarianz im Modell für dieses Attribut zurück.
SELECT FLATTENED NODE_DISTRIBUTION AS t
FROM DT_Predict. CONTENT
WHERE NODE_TYPE = 25
Beispielergebnisse:
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VARIANCE |
t.VALUETYPE |
---|---|---|---|---|---|
Yearly Income |
Missing |
0 |
0.000457142857142857 |
0 |
1 |
Yearly Income |
57220.8876687257 |
17484 |
0.999542857142857 |
1041275619.52776 |
3 |
|
57220.8876687257 |
0 |
0 |
1041216662.54387 |
11 |
Weitere Informationen über die Werttypen und die statistischen Informationen, die in Regressionsmodellen verwendet werden, finden Sie unter Miningmodellinhalt von linearen Regressionsmodellen (Analysis Services – Data Mining).
Zurück zum Anfang
Liste der Vorhersagefunktionen
Alle Algorithmen von Microsoft unterstützen einen gemeinsamen Funktionssatz. Der Microsoft Decision Trees-Algorithmus unterstützt jedoch zusätzliche Funktionen, die in der folgenden Tabelle aufgeführt werden.
Vorhersagefunktion |
Verwendung |
Bestimmt, ob ein Knoten ein untergeordnetes Element eines anderen Knotens im Modell ist. |
|
Zeigt an, ob der angegebene Knoten den aktuellen Fall enthält. |
|
Gibt die gewichtete Wahrscheinlichkeit zurück. |
|
Sagt eine Mitgliedschaft in einem assoziativen Dataset voraus. |
|
Gibt eine Tabelle mit Werten zurück, die sich auf den aktuellen vorhergesagten Wert beziehen. |
|
Gibt "Node_ID" für jeden Fall zurück. |
|
Gibt die Wahrscheinlichkeit für den vorhergesagten Wert zurück. |
|
Gibt die vorhergesagte Standardabweichung für die angegebene Spalte zurück. |
|
Gibt den Unterstützungswert für einen bestimmten Status zurück. |
|
Gibt die Varianz einer angegebenen Spalte zurück. |
Eine Liste der Funktionen, die von allen Microsoft-Algorithmen gemeinsam verwendet werden, finden Sie unter Allgemeine Vorhersagefunktionen (DMX). Die Syntax bestimmter Funktionen finden Sie unter Data Mining-Erweiterungen (DMX) - Funktionsreferenz.
Siehe auch
Verweis
Technische Referenz für den Microsoft Decision Trees-Algorithmus
Miningmodellinhalt von Entscheidungsstrukturmodellen (Analysis Services – Data Mining)