Technische Referenz für den Microsoft Naive Bayes-Algorithmus

Der Microsoft Naive Bayes-Algorithmus ist ein Klassifikationsalgorithmus, der in Microsoft SQL Server Analysis Services zum Verwenden bei der Vorhersagemodellierung bereitgestellt wird. Der Algorithmus berechnet die bedingte Wahrscheinlichkeit zwischen Eingabespalten und vorhersagbaren Spalten und setzt die Unabhängigkeit der Spalten voraus. Diese Annahme der Unabhängigkeit führt zum Namen Naive Bayes.

Implementierung des Microsoft Naive Bayes-Algorithmus

Der Rechenaufwand für diesen Algorithmus ist geringer als der der anderen Microsoft-Algorithmen und ist daher hilfreich für das schnelle Generieren von Miningmodellen, um Beziehungen zwischen Eingabespalten und vorhersagbaren Spalten zu ermitteln. Der Algorithmus berücksichtigt jedes Eingabeattributwertpaar und Ausgabeattributwertpaar.

Eine Beschreibung der mathematischen Eigenschaften des Bayes-Theorems würde den Rahmen dieser Dokumentation sprengen. Weitere Informationen finden Sie unter Microsoft Research im Dokument zum Thema Einführung in Bayes'sche Netze: Kombination von Wissen und Statistikdaten.

Eine Beschreibung, wie Wahrscheinlichkeiten in allen Modellen angepasst werden, um potenzielle fehlende Werte zu berücksichtigen, finden Sie unter Fehlende Werte (Analysis Services - Data Mining).

Funktionsauswahl

Der Microsoft Naive Bayes-Algorithmus führt eine automatische Funktionsauswahl durch, um die Zahl der Werte, die beim Erstellen des Modells berücksichtigt werden, einzuschränken. Weitere Informationen finden Sie unter Funktionsauswahl beim Data Mining.

Algorithmus

Analysemethode

Kommentare

Naive Bayes

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

Bayes-Dirichlet mit uniformer A-priori-Verteilung (Standard)

Der Naive Bayes-Algorithmus akzeptiert nur diskrete oder diskretisierte Attribute, daher kann er den Interessantheitsgrad nicht verwenden.

Der Algorithmus ist so konzipiert, dass die Verarbeitungszeit minimiert wird und die Attribute mit der höchsten Wichtigkeit effizient ausgewählt werden. Sie können jedoch steuern, welche Daten der Algorithmus verwendet, indem Sie die Parameter wie folgt festlegen:

  • Um die Werte einzuschränken, die als Eingaben verwendet werden, setzen Sie den Wert von MAXIMUM_INPUT_ATTRIBUTES herab.

  • Um die Anzahl der vom Modell analysierten Attribute einzuschränken, setzen Sie den Wert von MAXIMUM_OUTPUT_ATTRIBUTES herab.

  • Um die Anzahl der Werte zu beschränken, die für ein Attribut berücksichtigt werden können, setzen Sie den Wert von MINIMUM_STATES herab.

Anpassen des Naive Bayes-Algorithmus

Der Microsoft Naive Bayes-Algorithmus unterstützt mehrere Parameter, die Auswirkungen auf das Verhalten, die Leistung und die Genauigkeit des resultierenden Miningmodells haben. Sie können außerdem Modellierungsflags für die Modellspalten festlegen, um die Verarbeitung der Daten zu steuern, oder Flags für die Miningstruktur setzen, um anzugeben, wie fehlende oder NULL-Werte behandelt werden sollen.

Festlegen von Algorithmusparametern

Der Microsoft Naive Bayes-Algorithmus unterstützt mehrere Parameter, die Auswirkungen auf die Leistung und die Genauigkeit des resultierenden Miningmodells haben. In der folgenden Tabelle wird jeder Parameter beschrieben.

  • MAXIMUM_INPUT_ATTRIBUTES
    Gibt die maximale Anzahl von Eingabeattributen an, die der Algorithmus verarbeiten kann, bevor die Funktionsauswahl aufgerufen wird. Wenn dieser Wert auf 0 festgelegt wird, ist die Funktionsauswahl für Eingabeattribute deaktiviert.

    Die Standardeinstellung ist 255.

  • MAXIMUM_OUTPUT_ATTRIBUTES
    Gibt die maximale Anzahl von Ausgabeattributen an, die der Algorithmus verarbeiten kann, bevor die Funktionsauswahl aufgerufen wird. Wenn dieser Wert auf 0 festgelegt wird, ist die Funktionsauswahl für Ausgabeattribute deaktiviert.

    Die Standardeinstellung ist 255.

  • MINIMUM_DEPENDENCY_PROBABILITY
    Gibt die minimale Abhängigkeitswahrscheinlichkeit zwischen Eingabe- und Ausgabeattributen an. Dieser Wert wird verwendet, um die Größe der vom Algorithmus generierten Inhalte zu beschränken. Diese Eigenschaft kann Werte zwischen 0 und 1 annehmen. Durch Erhöhen des Werts wird die Anzahl von Attributen im Modell reduziert.

    Die Standardeinstellung ist 0,5.

  • MAXIMUM_STATES
    Gibt die maximale Anzahl der vom Algorithmus unterstützten Attributstatus an. Wenn die Anzahl der Status eines Attributs größer als die maximale Anzahl der Status ist, verwendet der Algorithmus die gebräuchlichsten Status und behandelt die restlichen Status als fehlend.

    Der Standardwert lautet 100.

Modellierungsflags

Der Microsoft Decision Trees-Algorithmus unterstützt die folgenden Modellierungsflags. Wenn Sie die Miningstruktur oder das Miningmodell erstellen, definieren Sie Modellierungsflags, die angeben, wie die Werte der einzelnen Spalten während der Analyse behandelt werden. Weitere Informationen finden Sie unter Modellierungsflags (Data Mining).

Modellierungsflag

Beschreibung

MODEL_EXISTENCE_ONLY

Dies bedeutet, dass die Spalte zwei mögliche Statuswerte haben kann: Missing und Existing. Ein NULL-Wert ist ein fehlender Wert.

Gilt für die Miningmodellspalte.

NOT NULL

Gibt an, dass die Spalte keinen NULL-Wert enthalten kann. Ein Fehler tritt auf, wenn Analysis Services während des Modelltrainings einen NULL-Wert erkennt.

Gilt für die Miningstrukturspalte.

Anforderungen

Ein Naive Bayes-Strukturmodell muss eine Schlüsselspalte, mindestens ein vorhersagbares Attribut und mindestens ein Eingabeattribut enthalten. Kein Attribut darf kontinuierlich sein. Wenn die Daten kontinuierliche numerische Daten enthalten, werden sie ignoriert oder diskretisiert.

Eingabespalten und vorhersagbare Spalten

Der Microsoft Naive Bayes-Algorithmus unterstützt bestimmte Eingabespalten und vorhersagbare Spalten. Diese sind in der nachstehenden Tabelle aufgelistet. Weitere Informationen zur Bedeutung der Inhaltstypen in einem Miningmodell finden Sie unter Inhaltstypen (Data Mining).

Spalte

Inhaltstypen

Eingabeattribut

Cyclical, Discrete, Discretized, Key, Table und Ordered

Vorhersagbares Attribut

Cyclical, Discrete, Discretized, Table und Ordered

HinweisHinweis

Zyklische und sortierte Inhaltstypen werden unterstützt, der Algorithmus behandelt sie jedoch als diskrete Werte und führt keine spezielle Verarbeitung durch.