Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie eine Abfrage für ein Data Mining-Modell erstellen, können Sie eine Inhaltsabfrage erstellen, die Details zu den mustern bereitstellt, die in der Analyse ermittelt werden, oder Sie können eine Vorhersageabfrage erstellen, die die Muster im Modell verwendet, um Vorhersagen für neue Daten zu erstellen. Beispielsweise kann eine Inhaltsabfrage für ein Entscheidungsbaum-Modell Statistiken über die Anzahl der Fälle auf jeder Ebene des Baums oder die Regeln bereitstellen, die zwischen den Fällen unterscheiden. Alternativ ordnet eine Vorhersageabfrage das Modell neuen Daten zu, um Empfehlungen, Klassifizierungen usw. zu generieren. Mithilfe einer Abfrage können Sie auch Metadaten zum Modell abrufen.
In diesem Abschnitt wird erläutert, wie Abfragen für Modelle erstellt werden, die auf dem Microsoft Decision Trees-Algorithmus basieren.
Inhaltsabfragen
Abrufen von Modellparametern aus dem Data Mining-Schema-Rowset
Abrufen von Details zu Bäumen im Modell mithilfe von DMX
Abrufen von Unterstrukturen aus dem Modell
Vorhersageabfragen
Rückgabe von Vorhersagen mit Wahrscheinlichkeiten
Vorhersagen von Zuordnungen aus einem Entscheidungsstrukturenmodell
Abrufen einer Regressionsformel aus einem Entscheidungsstrukturenmodell
Suchen von Informationen zu einem Entscheidungsstrukturenmodell
Um aussagekräftige Abfragen zum Inhalt eines Entscheidungsstrukturenmodells zu erstellen, sollten Sie die Struktur des Modellinhalts verstehen und welche Knotentypen welche Art von Informationen speichern. Weitere Informationen finden Sie unter Miningmodellinhalt für Entscheidungsstrukturmodelle (Analysis Services - Data Mining).
Beispielabfrage 1: Abrufen von Modellparametern aus dem Data Mining-Schema-Rowset
Durch Abfragen des Data Mining-Schema-Rowsets finden Sie Metadaten zum Modell, z. B. wann es erstellt wurde, wann das Modell zuletzt verarbeitet wurde, den Namen der Miningstruktur, auf der das Modell basiert, und den Namen der Spalte, die als vorhersagbares Attribut verwendet wird. 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=
Beispielabfrage 2: Zurückgeben von Details zum Modellinhalt mithilfe von DMX
Die folgende Abfrage gibt einige grundlegende Informationen zu den Entscheidungsstrukturen zurück, die beim Erstellen des Modells im Basic Data Mining-Lernprogramm erstellt wurden. Jede Baumstruktur wird in einem eigenen Knoten gespeichert. Da dieses Modell ein einzelnes vorhersagbares Attribut enthält, gibt es nur einen Baumknoten. Wenn Sie jedoch ein Zuordnungsmodell mithilfe des Decision Trees-Algorithmus erstellen, gibt es möglicherweise Hunderte von Bäumen, eines für jedes Produkt.
Diese Abfrage gibt alle Knoten vom Typ 2 zurück, bei denen es sich um die Knoten der obersten Ebene einer Struktur handelt, die ein bestimmtes vorhersagbares Attribut darstellt.
Hinweis
Die Spalte CHILDREN_CARDINALITY muss in eckige Klammern eingeschlossen werden, um sie vom reservierten Schlüsselwort MDX desselben Namens zu unterscheiden.
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_BESCHRIFTUNG | Node-Unterstützung | Kinderanzahl |
|---|---|---|---|---|
| TM_Entscheidungsbaum | 000000001 | Alle | 12939 | 5 |
Was sagen ihnen diese Ergebnisse? In einem Entscheidungsbaum-Modell gibt die Kardinalität eines bestimmten Knotens an, wie viele direkte Kinderknoten dieser Knoten hat. Die Kardinalität für diesen Knoten ist 5, was bedeutet, dass das Modell die Zielpopulation potenzieller Fahrradkäufer in fünf Untergruppen unterteilt.
Die folgende verwandte Abfrage gibt die Kindelemente für diese fünf Untergruppen zusammen mit der Verteilung von Attributen und Werten in den Kindknoten zurück. Da Statistiken wie Unterstützung, Wahrscheinlichkeit und Varianz in der geschachtelten Tabelle gespeichert werden, NODE_DISTRIBUTIONverwendet dieses Beispiel das FLATTENED Schlüsselwort zum Ausgeben der geschachtelten Tabellenspalten.
Hinweis
Die geschachtelte Tabellenspalte SUPPORTmuss in Klammern eingeschlossen werden, um sie vom reservierten Schlüsselwort desselben Namens zu unterscheiden.
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_BESCHRIFTUNG | T.ATTRIBUTE_NAME | T.ATTRIBUTE_VALUE | Alias |
|---|---|---|---|---|
| 00000000100 | Anzahl der Fahrzeuge im Besitz = 0 | Fahrradkäufer | Fehlend | 0 |
| 00000000100 | Anzahl der Autos im Besitz: 0 | Fahrradkäufer | 0 | 1067 |
| 00000000100 | Anzahl der besessenen Autos = 0 | Fahrradkäufer | 1 | 1875 |
| 00000000101 | Anzahl der Autos im Besitz = 3 | Fahrradkäufer | Fehlend | 0 |
| 00000000101 | Anzahl der Autos im Besitz = 3 | Fahrradkäufer | 0 | 678 |
| 00000000101 | Anzahl der Autos im Besitz = 3 | Fahrradkäufer | 1 | 473 |
Aus diesen Ergebnissen können Sie feststellen, dass die Kunden, die ein Fahrrad gekauft haben ([Bike Buyer] = 1), 1067 Kunden hatten 0 Autos und 473 Kunden hatten 3 Autos.
Beispielabfrage 3: Abrufen von Unterstrukturen aus dem Modell
Angenommen, Sie wollten mehr über die Kunden erfahren, die ein Fahrrad gekauft haben. Sie können zusätzliche Details für eines der Teilbäume anzeigen, indem Sie die IsDescendant (DMX)-Funktion in der Abfrage verwenden, wie im folgenden Beispiel gezeigt. Die Abfrage gibt die Anzahl der Fahrradkäufer zurück, indem Blattknoten (NODE_TYPE = 4) aus dem Baum abgerufen werden, der Kunden enthält, die älter als 42 Jahre sind. Die Abfrage schränkt Zeilen aus der geschachtelten Tabelle auf diejenigen ein, bei 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_BESCHRIFTUNG | t.UNTERSTÜTZUNG |
|---|---|---|
| 000000001000100 | Jahreseinkommen >= 26000 und < 42000 | 266 |
| 00000000100010100 | Kinder insgesamt = 3 | 75 |
| 0000000010001010100 | Anzahl Kinder zu Hause = 1 | 75 |
Erstellen von Vorhersagen mithilfe eines Entscheidungsstrukturenmodells
Da Entscheidungsstrukturen für verschiedene Aufgaben verwendet werden können, einschließlich Klassifizierung, Regression und sogar Zuordnung, wenn Sie eine Vorhersageabfrage für ein Entscheidungsstrukturmodell erstellen, stehen Ihnen viele Optionen zur Verfügung. Sie müssen den Zweck verstehen, für den das Modell erstellt wurde, um die Ergebnisse der Vorhersage zu verstehen. Die folgenden Abfragebeispiele veranschaulichen drei verschiedene Szenarien:
Zurückgeben einer Vorhersage für ein Klassifizierungsmodell, zusammen mit der Wahrscheinlichkeit, dass die Vorhersage korrekt ist, und dann die Ergebnisse nach der Wahrscheinlichkeit filtern;
Erstellen einer Singletonabfrage zur Vorhersage von Zuordnungen;
Abrufen der Regressionsformel für einen Teil einer Entscheidungsstruktur, bei der 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 zum Einfachen Data Mining erstellt wurde. Die Abfrage übergibt neue Beispieldaten aus der Tabelle dbo.ProspectiveBuyers in AdventureWorks2012 DW, um vorherzusagen, welche Kunden im neuen Datensatz ein Fahrrad kaufen werden.
Die Abfrage verwendet die Vorhersagefunktion PredictHistogram (DMX), die eine geschachtelte Tabelle zurückgibt, die nützliche Informationen zu den vom Modell ermittelten Wahrscheinlichkeiten enthält. Die endgültige WHERE-Klausel der Abfrage filtert die Ergebnisse, um nur diejenigen Kunden zurückzugeben, die wahrscheinlich ein Fahrrad kaufen, mit einer Wahrscheinlichkeit, die größer als 0%ist.
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 Spaltenbeschriftung Expression zurück. Sie können diese Bezeichnung ändern, indem Sie die zurückgegebene Spalte aliasieren. Wenn Sie dies tun, wird der Alias (in diesem Fall Ergebnisse) sowohl als Spaltenüberschrift als auch als Wert in der geschachtelten Tabelle verwendet. Sie müssen die geschachtelte Tabelle erweitern, um die Ergebnisse anzuzeigen.
Beispielergebnisse, bei denen Bike Buyer = 1:
| Fahrradkäufer | $UNTERSTÜTZUNG | $PROBABILITY | Angepasste Wahrscheinlichkeit | $VARIANZ | $STDEV |
|---|---|---|---|---|---|
| 1 | 2540 | 0.634849242045644 | 0.013562168281562 | 0 | 0 |
| 0 | 1460 | 0.364984174579377 | 0.00661336932550915 | 0 | 0 |
| 0 | 0.000166583374979177 | 0.000166583374979177 | 0 | 0 |
Wenn Ihr Provider keine hierarchischen Rowsets, wie hier gezeigt, unterstützt, können Sie das Schlüsselwort FLATTENED in der Abfrage verwenden, um die Ergebnisse als Tabelle mit Nullwerten zurückzugeben, wobei Nullwerte die wiederholten Spaltenwerte ersetzen. Weitere Informationen finden Sie unter Geschachtelte Tabellen (Analysis Services – Data Mining) oder Verständnis der DMX SELECT-Anweisung.
Beispielabfrage 5: Vorhersagen von Zuordnungen aus einem Entscheidungsstrukturenmodell
Die folgende Abfragebeispiel basiert auf der Assoziations-Miningstruktur. Um diesem Beispiel zu folgen, können Sie dieser Miningstruktur ein neues Modell hinzufügen und Microsoft Decision Trees als Algorithmus auswählen. Weitere Informationen zum Einrichten der Assoziierungs-Miningstruktur finden Sie in Lektion 3: Erstellen eines Marktkorbszenarios (Fortgeschrittenes Data-Mining-Tutorial).
Die folgende Beispielabfrage ist eine Singleton-Abfrage, die Sie einfach in SQL Server Data Tools (SSDT) erstellen können, indem Sie Felder auswählen und dann Werte für diese Felder aus 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 |
|---|
| Berg-200 |
| Mountainbike-Reifenschlauch |
| Tourenreifenschlauch |
Die Ergebnisse informieren Sie über die drei besten Produkte, die Kunden empfehlen, die das Patch Kit-Produkt erworben haben. Sie können auch mehrere Produkte als Eingabe bereitstellen, wenn Sie Empfehlungen vornehmen, entweder durch Eingabe von Werten oder mithilfe des Dialogfelds "Eingabe für Singleton-Abfrage" und Hinzufügen oder Entfernen von Werten. Die folgende Beispielabfrage zeigt, wie die mehrere Werte bereitgestellt werden, auf denen eine Vorhersage erfolgen soll. Werte werden durch eine 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-Trikot |
| Mountain-400-W |
| Klassische Weste |
Beispielabfrage 6: Abrufen einer Regressionsformel aus einem Entscheidungsstrukturenmodell
Wenn Sie ein Entscheidungsstrukturmodell erstellen, das eine Regression für ein fortlaufendes Attribut enthält, können Sie die Regressionsformel verwenden, um Vorhersagen zu erstellen, oder Sie können Informationen zur Regressionsformel extrahieren. Weitere Informationen zu Abfragen zu Regressionsmodellen finden Sie unter "Beispiele für lineare Regressionsmodellabfragen".
Wenn ein Entscheidungsstrukturenmodell eine Mischung aus Regressionsknoten und Knoten enthält, die sich auf diskrete Attribute oder Bereiche aufteilen, können Sie eine Abfrage erstellen, die nur den Regressionsknoten zurückgibt. Die tabelle NODE_DISTRIBUTION enthält die Details der Regressionsformel. In diesem Beispiel werden die Spalten abgeflacht, und die NODE_DISTRIBUTION-Tabelle wird zur einfacheren Anzeige aliasiert. In diesem Modell wurden jedoch keine Regressoren gefunden, um Einkommen mit anderen fortlaufenden Attributen zu verknüpfen. In solchen Fällen gibt Analysis Services den Mittelwert des Attributs und die Gesamtabweichung 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.UNTERSTÜTZUNG | t.W'keit | t.Varianz | t.VALUETYPE |
|---|---|---|---|---|---|
| Jahreseinkommen | Fehlend | 0 | 0.000457142857142857 | 0 | 1 |
| Jahreseinkommen | 57220.8876687257 | 17484 | 0.999542857142857 | 1041275619.52776 | 3 |
| 57220.8876687257 | 0 | 0 | 1041216662.54387 | 11 |
Weitere Informationen zu den Werttypen und den statistiken, die in Regressionsmodellen verwendet werden, finden Sie unter Mining Model Content for Linear Regression Models (Analysis Services - Data Mining).For more information about the value types and the statistics used in Regression models, see Mining Model Content for Linear Regression Models (Analysis Services - Data Mining).
Liste der Vorhersagefunktionen
Alle Microsoft-Algorithmen unterstützen einen gemeinsamen Satz von Funktionen. Der Microsoft Decision Trees-Algorithmus unterstützt jedoch die zusätzlichen Funktionen, die in der folgenden Tabelle aufgeführt sind.
| Vorhersagefunktion | Verwendung |
| IsDescendant (DMX) | Bestimmt, ob ein Knoten ein Kindknoten eines anderen Knotens im Modell 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. |
| PredictStdev (DMX) | Gibt die vorhergesagte Standardabweichung für die angegebene Spalte zurück. |
| PredictSupport (DMX) | Gibt den Unterstützungswert für einen angegebenen Zustand zurück. |
| PredictVariance (DMX) | Gibt die Varianz einer angegebenen Spalte zurück. |
Eine Liste der Funktionen, die allen Microsoft-Algorithmen gemeinsam sind, finden Sie unter General Prediction Functions (DMX). Informationen zur Syntax bestimmter Funktionen finden Sie unter Data Mining Extensions (DMX) Funktion Referenz.
Siehe auch
Data Mining-Abfragen
Microsoft Decision Trees-Algorithmus
Technische Referenz zum Microsoft Decision Trees-Algorithmus
Miningmodellinhalt für Entscheidungsstrukturmodelle (Analysis Services - Data Mining)