Abfragen eines Entscheidungsstrukturmodells (Analysis Services – Data Mining)

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.

HinweisHinweis

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 und 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.

HinweisHinweis

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 AdventureWorks2008R2 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],
    '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

Bike Buyer$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
125400.6348492420456440.01356216828156200
014600.3649841745793770.0066133693255091500
00.0001665833749791770.00016658337497917700

Wenn Ihr Anbieter keine hierarchischen Rowsets wie die hier gezeigten unterstützt, können Sie die Ergebnisse mit dem FLATTENED-Schlüsselwort 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 Market Basket-Szenarios (Data Mining-Lernprogramm für Fortgeschrittene).

Die folgende Beispielabfrage ist eine SINGLETON-Abfrage, die Sie mühelos in Business Intelligence Development Studio 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 Abfragen eines linearen Regressionsmodells (Analysis Services – Data Mining).

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 Microsoft-Algorithmen unterstützen einen gängigen Satz von Funktionen. Der Microsoft Decision Trees-Algorithmus unterstützt jedoch zusätzliche Funktionen, die in der folgenden Tabelle aufgeführt werden.

Eine Liste der Funktionen, die von allen Microsoft-Algorithmen gemeinsam verwendet werden, finden Sie unter Zuordnen von Funktionen zu Abfragetypen (DMX). Die Syntax bestimmter Funktionen finden Sie unter Data Mining-Erweiterungen (DMX) - Funktionsreferenz.