Abfragen eines Naive Bayes-Modells (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 bei der Analyse ermittelten Muster. Die Vorhersageabfrage nimmt hingegen Vorhersagen für neue Daten anhand der im Modell befindlichen Muster vor. Sie können mit einer Abfrage des Data Mining-Schemarowsets auch Metadaten über das Modell abrufen. In diesem Abschnitt wird erklärt, wie diese Abfragen für Modelle erstellt werden, die auf dem Microsoft Naive Bayes-Algorithmus basieren.
Inhaltsabfragen
Abrufen von Modellmetadaten mithilfe von DMX
Abrufen einer Zusammenfassung der Trainingsdaten
Suchen von weiteren Informationen über Attribute
Verwenden gespeicherter Systemprozeduren
Vorhersageabfragen
Vorhersagen von Ergebnissen mit einer SINGLETON-Abfrage
Zurückgeben von Vorhersagen mit Wahrscheinlichkeit und Unterstützung
Vorhersagen von Zuordnungen
Suchen nach Informationen zum Naive Bayes-Modell
Der Inhalt eines Naive Bayes-Modells stellt aggregierte Informationen über die Verteilung der Werte in den Trainingsdaten zur Verfügung. Sie können auch Informationen über die Metadaten des Modells abrufen, indem Sie Abfragen für Data Mining-Schemarowsets erstellen.
Zurück zum Anfang
Beispielabfrage 1: Abrufen von Modellmetadaten mit DMX
Metadaten für das Modell finden Sie, indem Sie das Data Mining-Schemarowset abfragen. Dazu gehören beispielsweise das Erstellungsdatum des Modells, das Datum der letzten Verarbeitung, der Name der Miningstruktur, auf der das Modell basiert, und der Name der als vorhersagbares Attribut verwendeten Spalten. Sie können auch die Parameter zurückgeben, die beim Erstellen des Modells verwendet wurden.
SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED,
SERVICE_NAME, PREDICTION_ENTITY, FILTER
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered'
Beispielergebnisse:
MODEL_CATALOG |
AdventureWorks |
MODEL_NAME |
TM_NaiveBayes_Filtered |
DATE_CREATED |
3/1/2008 19:15 |
LAST_PROCESSED |
3/2/2008 20:00 |
SERVICE_NAME |
Microsoft_Naive_Bayes |
PREDICTION_ENTITY |
Bike Buyer,Yearly Income |
FILTER |
[Region] = 'Europe' OR [Region] = 'North America' |
Das für dieses Beispiel verwendete Modell basiert auf dem Naive Bayes-Modell, das Sie im Lernprogramm zu Data Mining-Grundlagen erstellt haben und das durch Hinzufügen eines zweiten vorhersagbaren Attributs und durch Anwenden eines Filters auf die Trainingsdaten geändert wurde.
Zurück zum Anfang
Beispielabfrage 2: Abrufen einer Zusammenfassung der Trainingsdaten
In einem Naive Bayes-Modell speichert der Knoten für Randstatistik aggregierte Informationen über die Verteilung der Werte in den Trainingsdaten. Diese Zusammenfassung ist sehr nützlich und erspart Ihnen das Erstellen von SQL-Abfragen für die Trainingsdaten, um die entsprechenden Informationen abzurufen.
Im folgenden Beispiel werden die Daten aus dem Knoten (NODE_TYPE = 24) mithilfe einer DMX-Inhaltsabfrage abgerufen. Da die statistischen Daten in einer geschachtelten Tabelle gespeichert sind, wird das FLATTENED-Schlüsselwort verwendet, um die Ergebnisse übersichtlicher anzuzeigen.
SELECT FLATTENED MODEL_NAME,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 26
Hinweis |
---|
Setzen Sie den Namen der Spalten SUPPORT und PROBABILITY in Klammern, um ihn von den gleichnamigen reservierten Schlüsselwörtern für mehrdimensionale Ausdrücke (MDX) zu unterscheiden. |
Teilergebnisse:
MODEL_NAME |
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VALUETYPE |
---|---|---|---|---|---|
TM_NaiveBayes |
Bike Buyer |
Missing |
0 |
0 |
1 |
TM_NaiveBayes |
Bike Buyer |
0 |
8869 |
0.507263784 |
4 |
TM_NaiveBayes |
Bike Buyer |
1 |
8615 |
0.492736216 |
4 |
TM_NaiveBayes |
Gender |
Missing |
0 |
0 |
1 |
TM_NaiveBayes |
Gender |
W |
8656 |
0.495081217 |
4 |
TM_NaiveBayes |
Gender |
M |
8828 |
0.504918783 |
4 |
Diese Ergebnisse geben beispielsweise Aufschluss über die Zahl der Trainingsfälle für jeden diskreten Wert (VALUETYPE = 4) in Verbindung mit der berechneten Wahrscheinlichkeit, die für fehlende Werte angepasst wurde (VALUETYPE = 1).
Eine Definition der in der NODE_DISTRIBUTION-Tabelle eines Naive Bayes-Modells enthaltenen Werte finden Sie unter Miningmodellinhalt von Naive Bayes-Modellen (Analysis Services - Data Mining). Weitere Informationen zu den Auswirkungen von fehlenden Werten auf Unterstützungs- und Wahrscheinlichkeitsberechnungen finden Sie unter Fehlende Werte (Analysis Services - Data Mining).
Zurück zum Anfang
Beispielabfrage 3: Suchen von weiteren Informationen über Attribute
Da ein Naive Bayes-Modell häufig komplexe Informationen über die Beziehungen zwischen verschiedenen Attributen enthält, können diese Beziehungen am einfachsten im Microsoft Naive Bayes-Viewer angezeigt werden. Sie können jedoch DMX-Abfragen erstellen, um die Daten zurückzugeben.
Im folgenden Beispiel wird gezeigt, wie Informationen aus dem Modell über ein bestimmtes Attribut (Region) zurückgegeben werden.
SELECT NODE_TYPE, NODE_CAPTION,
NODE_PROBABILITY, NODE_SUPPORT, MSOLAP_NODE_SCORE
FROM TM_NaiveBayes.CONTENT
WHERE ATTRIBUTE_NAME = 'Region'
Diese Abfrage gibt zwei Knotentypen zurück: den Knoten, der das Eingabeattribut (NODE_TYPE = 10) repräsentiert, und Knoten für jeden Wert des Attributs (NODE_TYPE = 11). Zur Identifizierung des Knotens wird die Knotenbeschriftung und nicht der Knotenname herangezogen, da die Beschriftung sowohl den Attributnamen als auch den Attributwert zeigt.
NODE_TYPE |
NODE_CAPTION |
NODE_PROBABILITY |
NODE_SUPPORT |
MSOLAP_NODE_SCORE |
NODE_TYPE |
---|---|---|---|---|---|
10 |
Bike Buyer -> Region |
1 |
17484 |
84.51555875 |
10 |
11 |
Bike Buyer -> Region = Missing |
0 |
0 |
0 |
11 |
11 |
Bike Buyer -> Region = North America |
0.508236102 |
8886 |
0 |
11 |
11 |
Bike Buyer -> Region = Pacific |
0.193891558 |
3390 |
0 |
11 |
11 |
Bike Buyer -> Region = Europe |
0.29787234 |
5208 |
0 |
11 |
Einige der in den Knoten gespeicherten Spalten sind mit den Spalten aus den Knoten für Randstatistik identisch. Dazu gehören das Knotenwahrscheinlichkeitsergebnis und der Knotenunterstützungswert. Bei MSOLAP_NODE_SCORE handelt es sich jedoch um einen speziellen Wert, der nur für die Eingabeattributknoten bereitgestellt wird und der die relative Wichtigkeit dieses Attributs im Modell angibt. Im Bereich Abhängigkeitsnetzwerk des Viewers werden im Wesentlichen die gleichen Informationen angezeigt. Der Viewer bietet jedoch keine Bewertungen.
Die folgende Abfrage gibt die Wichtigkeitsbewertungen aller Attribute im Modell zurück:
SELECT NODE_CAPTION, MSOLAP_NODE_SCORE
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 10
ORDER BY MSOLAP_NODE_SCORE DESC
Beispielergebnisse:
NODE_CAPTION |
MSOLAP_NODE_SCORE |
---|---|
Bike Buyer -> Total Children |
181.3654836 |
Bike Buyer -> Commute Distance |
179.8419482 |
Bike Buyer -> English Education |
156.9841928 |
Bike Buyer -> Number Children At Home |
111.8122599 |
Bike Buyer -> Region |
84.51555875 |
Bike Buyer -> Marital Status |
23.13297354 |
Bike Buyer -> English Occupation |
2.832069191 |
Durch Durchsuchen des Modellinhalts im Microsoft Generic Content Tree Viewer erhalten Sie einen besseren Eindruck, welche statistischen Daten von Interesse sein können. Einige einfache Beispiele werden hier demonstriert. Häufig müssen Sie mehrere Abfragen ausführen oder die Ergebnisse speichern und auf dem Client verarbeiten.
Zurück zum Anfang
Beispielabfrage 4: Verwenden von gespeicherten Systemprozeduren
Zum Untersuchen von Ergebnissen können Sie neben eigenen Inhaltsabfragen auch einige Analysis Services-gespeicherte Systemprozeduren verwenden. Um eine gespeicherte Systemprozedur zu verwenden, verwenden Sie für den Namen der gespeicherten Prozedur das CALL-Schlüsselwort als Präfix:
CALL GetPredictableAttributes ('TM_NaiveBayes')
Teilergebnisse:
ATTRIBUTE_NAME |
NODE_UNIQUE_NAME |
---|---|
Bike Buyer |
100000001 |
Hinweis |
---|
Diese gespeicherten Systemprozeduren sind für die interne Kommunikation zwischen dem Analysis Services-Server und dem Client bestimmt und sollten nur der Einfachheit halber beim Entwickeln und Testen von Miningmodellen verwendet werden. Beim Erstellen von Abfragen für ein Produktionssystem sollten Sie immer eigene Abfragen schreiben, indem Sie DMX, AMO oder XMLA verwenden. |
Weitere Informationen zu Analysis Services-gespeicherte Systemprozeduren finden Sie unter Data Mining-gespeicherten Prozeduren (Analysis Services – Data Mining).
Zurück zum Anfang
Treffen von Vorhersagen mit dem Modell
Der Microsoft Naive Bayes-Algorithmus wird normalerweise weniger für die Vorhersage als vielmehr für die Untersuchung des Beziehungsgefüges von Eingabe- und vorhersagbaren Attributen verwendet. Das Modell unterstützt jedoch die Verwendung von Vorhersagefunktionen sowohl für die Vorhersage als auch für die Zuordnung.
Beispielabfrage 5: Vorhersagen von Ergebnissen mit einer SINGLETON-Abfrage
In der folgenden Abfrage wird eine SINGLETON-Abfrage verwendet, um einen neuen Wert zur Verfügung zu stellen und basierend auf dem Modell vorherzusagen, ob ein Kunde mit diesen Merkmalen wahrscheinlich ein Fahrrad kaufen wird. Die einfachste Möglichkeit zum Erstellen einer SINGLETON-Abfrage für ein Regressionsmodell bietet das Dialogfeld SINGLETON-Abfrageeingabe. Sie können die folgende DMX-Abfrage erstellen, indem Sie das TM_NaiveBayes-Modell auswählen und anschließend Singleton-Abfrage und Werte aus der Dropdownliste für [Commute Distance] und Gender auswählen.
SELECT
Predict([TM_NaiveBayes].[Bike Buyer])
FROM
[TM_NaiveBayes]
NATURAL PREDICTION JOIN
(SELECT '5-10 Miles' AS [Commute Distance],
'F' AS [Gender]) AS t
Beispielergebnisse:
Expression |
---|
0 |
Die Vorhersagefunktion gibt den wahrscheinlichsten Wert zurück, in diesem Fall 0. Dies bedeutet, dass dieser Kunde wahrscheinlich kein Fahrrad kaufen wird.
Zurück zum Anfang
Beispielabfrage 6: Zurückgeben von Vorhersagen mit Wahrscheinlichkeit und Unterstützung
Zusätzlich zum Vorhersagen eines Ergebnisses ist es häufig interessant zu wissen, wie stark die Vorhersage ist. In der folgenden Abfrage wird die gleiche SINGLETON-Abfrage verwendet wie im vorherigen Beispiel. Es wird jedoch die Vorhersagefunktion PredictHistogram (DMX) hinzugefügt, um eine geschachtelte Tabelle mit statistischen Daten zur Unterstützung der Vorhersage zurückzugeben.
SELECT
Predict([TM_NaiveBayes].[Bike Buyer]),
PredictHistogram([TM_NaiveBayes].[Bike Buyer])
FROM
[TM_NaiveBayes]
NATURAL PREDICTION JOIN
(SELECT '5-10 Miles' AS [Commute Distance],
'F' AS [Gender]) AS t
Beispielergebnisse:
Bike Buyer |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
$VARIANCE |
$STDEV |
---|---|---|---|---|---|
0 |
10161.5714 |
0.581192599 |
0.010530981 |
0 |
0 |
1 |
7321.428768 |
0.418750215 |
0.008945684 |
0 |
0 |
|
0.999828444 |
5.72E-05 |
5.72E-05 |
0 |
0 |
Die letzte Zeile in der Tabelle zeigt die Anpassungen für Unterstützung und Wahrscheinlichkeit für den fehlenden Wert. Varianz- und Standardabweichungswerte sind immer 0, da Naive Bayes-Modelle keine kontinuierlichen Werte modellieren können.
Zurück zum Anfang
Beispielabfrage 7: Vorhersagen von Zuordnungen
Der Microsoft Naive Bayes-Algorithmus kann für die Zuordnungsanalyse verwendet werden, wenn die Miningstruktur eine geschachtelte Tabelle mit dem vorhersagbaren Attribut als Schlüssel verwendet. Sie können beispielsweise ein Naive Bayes-Modell erstellen, indem Sie die in Lektion 3: Erstellen eines Market Basket-Szenarios (Data Mining-Lernprogramm für Fortgeschrittene) des Data Mining-Lernprogramms erstellte Miningstruktur verwenden. Das in diesem Beispiel verwendete Modell wurde geändert, und der Falltabelle wurden Informationen zum Einkommen und zur Kundenregion hinzugefügt.
Das folgende Abfragebeispiel zeigt eine SINGLETON-Abfrage, die Produkte vorhersagt, die mit Käufen des Produkts 'Road Tire Tube' verknüpft sind. Anhand dieser Informationen können Sie einem bestimmten Kundentyp Produkte empfehlen.
SELECT PredictAssociation([Association].[v Assoc Seq Line Items])
FROM [Association_NB]
NATURAL PREDICTION JOIN
(SELECT 'High' AS [Income Group],
'Europe' AS [Region],
(SELECT 'Road Tire Tube' AS [Model])
AS [v Assoc Seq Line Items])
AS t
Teilergebnisse:
Model |
---|
Women's Mountain Shorts |
Water Bottle |
Touring-3000 |
Touring-2000 |
Touring-1000 |
Zurück zum Anfang
Funktionsliste
Alle Algorithmen von Microsoft unterstützen einen gemeinsamen Funktionssatz. Der Microsoft Naive Bayes-Algorithmus unterstützt allerdings zusätzliche Funktionen, die in der folgenden Tabelle aufgelistet sind.
Eine Liste der Funktionen, die allen Algorithmen von Microsoft gemein sind, finden Sie unter Algorithmusreferenz (Analysis Services - Data Mining). Die Syntax bestimmter Funktionen finden Sie unter Data Mining-Erweiterungen (DMX) - Funktionsreferenz.
Änderungsverlauf
Aktualisierter Inhalt |
---|
Navigationslinks wurden hinzugefügt, um das Prüfen von Abfragebeispielen zu vereinfachen. |