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 entweder eine Inhaltsabfrage erstellen, die Details zu den in der Analyse ermittelten Mustern bereitstellt, oder Sie können eine Vorhersageabfrage erstellen, die die Muster im Modell verwendet, um Vorhersagen für neue Daten zu erstellen. Sie können auch Metadaten zum Modell abrufen, indem Sie eine Abfrage für das Data Mining-Schema-Rowset verwenden. In diesem Abschnitt wird erläutert, wie Sie diese Abfragen für Modelle erstellen, die auf dem Microsoft Naive Bayes-Algorithmus basieren.
Inhaltsabfragen
Abrufen von Modellmetadaten mithilfe von DMX
Abrufen einer Zusammenfassung von Schulungsdaten
Suchen weiterer Informationen zu Attributen
Verwenden von vom System gespeicherten Prozeduren
Vorhersageabfragen
Vorhersagen von Ergebnissen mithilfe einer Singleton-Abfrage
Abrufen von Vorhersagen mit Wahrscheinlichkeits- und Unterstützungswerten
Suchen von Informationen zu einem Naive Bayes-Modell
Der Modellinhalt eines Naive Bayes-Modells stellt aggregierte Informationen zur Verteilung von Werten in den Schulungsdaten bereit. Sie können auch Informationen zu den Metadaten des Modells abrufen, indem Sie Abfragen für die Data Mining-Schema-Rowsets erstellen.
Beispielabfrage 1: Abrufen von Modellmetadaten mithilfe von XML
Durch Abfragen des Data Mining-Schema-Rowsets finden Sie Metadaten für das Modell. Dies kann Folgendes enthalten: wann das Modell erstellt wurde, wann das Modell zuletzt verarbeitet wurde, den Namen der Miningstruktur, auf der das Modell basiert, und die Namen der Spalten, die als vorhersagbare Attribute verwendet werden. 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:
| MODELL_KATALOG | AdventureWorks |
| MODEL_NAME | TM_NaiveBayes_Filtered |
| ERSTELLUNGSDATUM | 3/1/2008 19:15 |
| ZULETZT_BEARBEITET | 3/2/2008 20:00 |
| SERVICE_NAME | Microsoft_Naive_Bayes |
| VORHERSAGE_EINHEIT | Fahrradkäufer,Jährliches Einkommen |
| Filter | [Region] = 'Europa' ODER [Region] = 'Nordamerika' |
Das für dieses Beispiel verwendete Modell basiert auf dem Naive Bayes-Modell, das Sie im Lernprogramm zum Einfachen Data Mining erstellen, wurde jedoch geändert, indem ein zweites vorhersagbares Attribut hinzugefügt und ein Filter auf die Schulungsdaten angewendet wird.
Beispielabfrage 2: Abrufen einer Zusammenfassung von Schulungsdaten
In einem Naive Bayes-Modell speichert der Knoten "Marginal Statistics" aggregierte Informationen über die Verteilung von Werten in den Schulungsdaten. Diese Zusammenfassung ist praktisch und erspart Ihnen, SQL-Abfragen über die Trainingsdaten zu erstellen, um dieselben Informationen abzurufen.
Im folgenden Beispiel wird eine XML-Inhaltsabfrage verwendet, um die Daten aus dem Knoten abzurufen (NODE_TYPE = 24). Da die Statistiken in einer geschachtelten Tabelle gespeichert werden, wird das SCHLÜSSELwort FLATTENED verwendet, um die Ergebnisse einfacher 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
Sie müssen die Namen der Spalten SUPPORT und PROBABILITY in Klammern einschließen, um sie von den in Multidimensional Expressions (MDX) reservierten Schlüsselwörtern mit denselben Namen zu unterscheiden.
Teilergebnisse:
| MODEL_NAME | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.UNTERSTÜTZUNG | t.W'keit | t.VALUETYPE |
|---|---|---|---|---|---|
| TM_NaiveBayes | Fahrradkäufer | Fehlend | 0 | 0 | 1 |
| TM_NaiveBayes | Fahrradkäufer | 0 | 8869 | 0.507263784 | 4 |
| TM_NaiveBayes | Fahrradkäufer | 1 | 8615 | 0.492736216 | 4 |
| TM_NaiveBayes | Geschlecht | Fehlend | 0 | 0 | 1 |
| TM_NaiveBayes | Geschlecht | F | 8656 | 0.495081217 | 4 |
| TM_NaiveBayes | Geschlecht | M | 8828 | 0.504918783 | 4 |
Diese Ergebnisse informieren Sie beispielsweise über die Anzahl der Schulungsfälle für jeden einzelnen Wert (VALUETYPE = 4), zusammen mit der berechneten Wahrscheinlichkeit, die für fehlende Werte (VALUETYPE = 1) angepasst wurde.
Eine Definition der in der Tabelle NODE_DISTRIBUTION in einem Naive Bayes-Modell bereitgestellten Werte finden Sie unter Mining Model Content for Naive Bayes Models (Analysis Services - Data Mining). Weitere Informationen dazu, wie die Unterstützungs- und Wahrscheinlichkeitsberechnungen von fehlenden Werten betroffen sind, finden Sie unter Fehlende Werte (Analysis Services - Data Mining).For more information about how support and probability calculation are affected by missing values, see Missing Values (Analysis Services - Data Mining).
Beispielabfrage 3: Suchen weiterer Informationen zu Attributen
Da ein Naive Bayes-Modell häufig komplexe Informationen zu den Beziehungen zwischen verschiedenen Attributen enthält, besteht die einfachste Möglichkeit zum Anzeigen dieser Beziehungen darin, den Microsoft Naive Bayes Viewer zu verwenden. Sie können jedoch DMX-Abfragen erstellen, um die Daten abzurufen.
Das folgende Beispiel zeigt, wie Informationen aus dem Modell zu einem bestimmten Attribut zurückgegeben werden. Region
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 Eingabeattribute darstellt (NODE_TYPE = 10) und Knoten für jeden Wert des Attributs (NODE_TYPE = 11). Die Knotenbeschriftung wird verwendet, um den Knoten anstelle des Knotennamens zu identifizieren, da die Beschriftung sowohl den Attributnamen als auch den Attributwert anzeigt.
| NODE_TYPE | NODE_CAPTION | KNOTENWAHRSCHEINLICHKEIT | NODE_SUPPORT | MSOLAP_NODE_SCORE | NODE_TYPE |
|---|---|---|---|---|---|
| 10 | Fahrradkäufer -> Region | 1 | 17484 | 84.51555875 | 10 |
| 11 | Fahrradkäufer -> Region = Fehlt | 0 | 0 | 0 | 11 |
| 11 | Bike Buyer -> Region = Nordamerika | 0.508236102 | 8886 | 0 | 11 |
| 11 | Fahrradkäufer -> Region = Pazifik | 0.193891558 | 3390 | 0 | 11 |
| 11 | Fahrradkäufer -> Region = Europa | 0.29787234 | 5208 | 0 | 11 |
Einige der Spalten, die in den Knoten gespeichert sind, sind die gleichen, die Sie von den Randstatistikknoten erhalten können, wie zum Beispiel die Knotenwahrscheinlichkeitsbewertung und die Knotenunterstützungswerte. Die MSOLAP_NODE_SCORE ist jedoch nur für die Eingabeattributeknoten ein spezieller Wert und gibt die relative Wichtigkeit dieses Attributs im Modell an. Im Bereich "Abhängigkeitsnetzwerk" des Viewers werden weitgehend ähnliche Informationen angezeigt; der Viewer stellt jedoch keine Bewertungen bereit.
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 |
|---|---|
| Fahrradkäufer -> Gesamtanzahl der Kinder | 181.3654836 |
| Fahrradkäufer -> Pendeldistanz | 179.8419482 |
| Bike Buyer -> Englische Bildung | 156.9841928 |
| Fahrradkäufer/in -> Zahl der Kinder im Haushalt | 111,8122599 |
| Fahrradkäufer -> Region | 84.51555875 |
| Fahrradkäufer -> Familienstand | 23.13297354 |
| Fahrradkäufer -> Englisch Beruf | 2.832069191 |
Wenn Sie den Modellinhalt in der Microsoft Generic Content Tree Viewer durchsuchen, erhalten Sie eine bessere Vorstellung davon, welche Statistiken interessant sein könnten. Hier wurden einige einfache Beispiele veranschaulicht; Häufiger müssen Sie möglicherweise mehrere Abfragen ausführen oder die Ergebnisse speichern und auf dem Client verarbeiten.
Beispielabfrage 4: Verwenden von gespeicherten Systemprozeduren
Zusätzlich zum Schreiben eigener Inhaltsabfragen können Sie einige gespeicherte Prozeduren des Analysis Services-Systems verwenden, um die Ergebnisse zu untersuchen. Um eine gespeicherte Systemprozedur zu verwenden, stellen Sie dem Namen der gespeicherten Prozedur das Schlüsselwort CALL voran:
CALL GetPredictableAttributes ('TM_NaiveBayes')
Teilergebnisse:
| ATTRIBUTE_NAME | NODE_UNIQUE_NAME |
|---|---|
| Fahrradkäufer | 100000001 |
Hinweis
Diese gespeicherten Systemprozeduren dienen der internen Kommunikation zwischen dem Analysis Services-Server und dem Client und sollten nur für die Benutzerfreundlichkeit beim Entwickeln und Testen von Miningmodellen verwendet werden. Wenn Sie Abfragen für ein Produktionssystem erstellen, sollten Sie Ihre eigenen Abfragen immer mithilfe von DMX schreiben.
Weitere Informationen zu gespeicherten Prozeduren des Analysis Services-Systems finden Sie unter Data Mining Stored Procedures (Analysis Services - Data Mining).
Verwenden eines Naive Bayes-Modells zum Erstellen von Vorhersagen
Der Microsoft Naive Bayes-Algorithmus wird in der Regel weniger für die Vorhersage verwendet als für die Untersuchung von Beziehungen zwischen den Eingabe- und vorhersagbaren Attributen. 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 mithilfe einer Singleton-Abfrage
Die folgende Abfrage verwendet eine Singleton-Abfrage, um einen neuen Wert bereitzustellen und anhand des Modells vorherzusagen, ob ein Kunde mit diesen Merkmalen wahrscheinlich ein Fahrrad kauft. Die einfachste Möglichkeit zum Erstellen einer Singleton-Abfrage für ein Regressionsmodell ist die Verwendung des Dialogfelds "Singleton-Abfrageeingabe ". Sie können zum Beispiel die folgende Query erstellen, indem Sie das TM_NaiveBayes Modell auswählen, Singleton-Abfrage auswählen und Werte aus den Dropdownlisten 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:
| Ausdruck |
|---|
| 0 |
Die Vorhersagefunktion gibt den wahrscheinlichsten Wert zurück, in diesem Fall 0, was bedeutet, dass diese Art von Kunde kein Fahrrad kaufen kann.
Beispielabfrage 6: Abrufen von Vorhersagen mit Wahrscheinlichkeits- und Unterstützungswerten
Zusätzlich zur Vorhersage eines Ergebnisses möchten Sie häufig wissen, wie stark die Vorhersage ist. Die folgende Abfrage verwendet dieselbe Singleton-Abfrage wie das vorherige Beispiel, fügt jedoch die Vorhersagefunktion PredictHistogram (DMX) hinzu, um eine geschachtelte Tabelle zurückzugeben, welche Statistiken zur Unterstützung der Vorhersage enthält.
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:
| Fahrradkäufer | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY | $VARIANZ | $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 zur Unterstützung und Wahrscheinlichkeit für den fehlenden Wert. Varianz- und Standardabweichungswerte sind immer 0, da Naive Bayes-Modelle keine fortlaufenden Werte modellieren können.
Beispielabfrage 7: Vorhersage von Beziehungen
Der Microsoft Naive Bayes-Algorithmus kann zur Zuordnungsanalyse verwendet werden, wenn die Miningstruktur eine geschachtelte Tabelle mit dem vorhersagbaren Attribut als Schlüssel enthält. Indem Sie die in Lektion 3: Erstellen eines Warenkorbanalyse-Szenarios (Intermediate Data Mining Tutorial) des Data Mining-Lernprogramms erstellte Miningstruktur verwenden, können Sie beispielsweise ein Naive Bayes-Modell erstellen. Das in diesem Beispiel verwendete Modell wurde geändert, um Informationen zu Einkommen und Kundenregion in der Falltabelle hinzuzufügen.
Das folgende Abfragebeispiel zeigt eine Singleton-Abfrage, die Produkte voraussagt, die mit Käufen des Produkts zusammenhängen. 'Road Tire Tube' Sie können diese Informationen verwenden, um Produkte einem bestimmten Kundentyp zu 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:
| Modell |
|---|
| Damen Bergshorts |
| Wasserflasche |
| Touren-3000 |
| Touren-2000 |
| Touren-1000 |
Funktionsliste
Alle Microsoft-Algorithmen unterstützen einen gemeinsamen Satz von Funktionen. Der Microsoft Naive Bayes-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 untergeordnetes Element eines anderen Knotens im Modell ist. |
| Vorhersage (UNIVERSE) | Gibt einen vorhergesagten Wert oder wertesatz für eine angegebene Spalte zurück. |
| PredictAdjustedProbability (UNIVERSE) | Gibt die gewichtete Wahrscheinlichkeit zurück. |
| PredictAssociation (UNIVERSE) | Prognostiziert die Mitgliedschaft in einem assoziativen Dataset. |
| PredictNodeId (UNIVERSE) | Gibt die Node_ID für jeden Fall zurück. |
| PredictProbability (DMX) | Gibt die Wahrscheinlichkeit für den vorhergesagten Wert zurück. |
| PredictSupport (DMX) | Gibt den Unterstützungswert für einen angegebenen Zustand zurück. |
Informationen zur Syntax bestimmter Funktionen finden Sie unter Data Mining Extensions (FEATURES Reference).
Siehe auch
Technische Referenz zum Microsoft Naive Bayes-Algorithmus
Microsoft Naive Bayes-Algorithmus
Miningmodellinhalt für Naive Bayes-Modelle (Analysis Services - Data Mining)