Technische Referenz für den Microsoft Decision Trees-Algorithmus

Gilt für: SQL Server 2019 und früheren Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Der Microsoft Decision Trees-Algorithmus ist ein Hybridalgorithmus, der verschiedene Methoden zum Erstellen einer Struktur enthält und mehrere Analyseaufgaben unterstützt, einschließlich Regression, Klassifizierung und Zuordnung. Der Microsoft Decision Trees-Algorithmus unterstützt die Modellierung sowohl diskreter als auch fortlaufender Attribute.

In diesem Thema wird die Implementierung des Algorithmus erläutert und beschrieben, wie das Verhalten des Algorithmus für verschiedene Aufgaben angepasst wird. Ferner werden Links zu weiteren Informationen über das Abfragen von Entscheidungsstrukturmodellen zur Verfügung gestellt.

Implementierung des Decision Trees-Algorithmus

Der Microsoft Decision Trees-Algorithmus wendet den Bayes-Ansatz zum Erlernen kausaler Interaktionsmodelle durch die Ermittlung ungefährer posteriorer Verteilungen für die Modelle an. Eine ausführliche Erläuterung dieses Ansatzes finden Sie im Dokument auf der Website Microsoft Research durch Speichern der Struktur und Parameter.

Die Methodologie zur Bewertung des Informationswerts der für das Lernen erforderlichen vorherigen Informationen basiert auf der Annahme der Likelihood-Äquivalenz. Diese besagt, dass keine Daten bei der Unterscheidung von Netzwerkstrukturen helfen sollen, die andernfalls die gleichen Assertionen der bedingten Unabhängigkeit darstellen. Für jeden Fall wird ein einzelnes vorheriges Bayes-Netzwerk und ein einziges Vertrauensmaß für dieses Netzwerk angenommen.

Mithilfe dieser vorherigen Netzwerke berechnet der Algorithmus die relativen Posterior-Wahrscheinlichkeiten der Netzwerkstrukturen anhand der aktuellen Trainingsdaten und identifiziert die Netzwerkstrukturen, die die höchsten Posterior-Wahrscheinlichkeiten besitzen.

Der Microsoft Decision Trees-Algorithmus verwendet andere Methoden, um die beste Struktur zu berechnen. Die verwendete Methode hängt vom Task ab, der entweder die lineare Regressions-, die Klassifizierungs- oder die Zuordnungsanalyse sein kann. Ein einzelnes Modell kann mehrere Strukturen für andere vorhersagbare Attribute enthalten. Darüber hinaus kann jede Struktur mehrere Verzweigungen enthalten. Dies hängt davon ab, wie viele Attribute und Werte in den Daten vorhanden sind. Die Form und Tiefe der Struktur eines bestimmten Modells hängt von der Bewertungsmethode und anderen verwendeten Parametern ab. Änderungen in den Parametern können auch beeinflussen, wo die Knoten sich teilen.

Erstellen der Struktur

Wenn der Microsoft Decision Trees-Algorithmus die Menge möglicher Eingabewerte erstellt, führt er feature selection aus, um die Attribute zu identifizieren, die die meisten Informationen liefern, und berücksichtigt die Werte nicht mehr, die äußerst selten sind. Der Algorithmus gruppiert außerdem Werte in Container, um Gruppen von Werten zu erstellen, die zur Optimierung der Leistung als eine Einheit verarbeitet werden können.

Eine Struktur wird erstellt, indem die Korrelationen zwischen einer Eingabe und dem gewünschten Ergebnis bestimmt werden. Nachdem alle Attribute mit Korrelationen versehen wurden, identifiziert der Algorithmus das einzige Attribut, das die Ergebnisse am saubersten trennt. Dieser Punkt der besten Trennung wird mit einer Gleichung gemessen, die den Informationsgewinn berechnet. Das Attribut, das das beste Ergebnis für den Informationsgewinn aufweist, wird zum Teilen der Fälle in Teilmengen verwendet. Diese Teilmengen werden anschließend vom gleichen Prozess rekursiv analysiert, bis die Struktur nicht weiter aufgeteilt werden kann.

Die präzise Gleichung zur Bewertung des Informationsgewinns hängt von den beim Erstellen des Algorithmus festgelegten Parametern, vom Datentyp der vorhersagbaren Spalte und vom Datentyp der Eingabe ab.

Diskrete und kontinuierliche Eingaben

Wenn das vorhersagbare Attribut diskret ist und die Eingaben diskret sind, wird die Zählung der Ausgaben je Eingabe durch Erstellen einer Matrix und Generieren von Bewertungen für jede Zelle in der Matrix vorgenommen.

Wenn hingegen das vorhersagbare Attribut diskret ist und die Eingaben kontinuierlich sind, wird die Eingabe der kontinuierlichen Spalten automatisch diskretisiert. Sie können die Standardeinstellung übernehmen und SQL Server Analysis Services die optimale Anzahl von Behältern finden, oder Sie können die Art und Weise steuern, in der fortlaufende Eingaben diskretisiert werden, indem Sie die DiscretizationMethod Eigenschaften und DiscretizationBucketCount festlegen. Weitere Informationen finden Sie unter Ändern der Diskretisierung von Spalten in Miningmodellen.

Bei kontinuierlichen Attributen bestimmt der Algorithmus anhand einer linearen Regression, wo sich die Entscheidungsstruktur teilt.

Wenn es sich bei dem vorhersagbaren Attribut um einen kontinuierlichen numerischen Datentyp handelt, wird die Funktionsauswahl auch auf die Ausgaben angewendet, um die mögliche Zahl von Ausgaben zu reduzieren und das Modell schneller zu erstellen. Sie können den Schwellenwert für die Funktionsauswahl ändern und so die Zahl der möglichen Werte erhöhen oder reduzieren, indem Sie den MAXIMUM_OUTPUT_ATTRIBUTES-Parameter festlegen.

Bewertungsmethoden und Funktionsauswahl

Der Microsoft Decision Trees-Algorithmus bietet drei Formeln zur Bewertung des Informationsgewinns: Shannon-Entropie, Bayes-Methode mit K2-A-priori-Verteilung und Bayes-Netzwerk mit einheitlicher Dirichlet-Verteilung von A-priori-Zuständen. Alle drei Methoden sind im Data Mining-Bereich etabliert. Es wird empfohlen, mit verschiedenen Parametern und Bewertungsmethoden zu experimentieren, um festzustellen, welche die besten Ergebnisse erzielen. Weitere Informationen zu diesen Bewertungsmethoden finden Sie unter Feature Selection.

Alle SQL Server Analysis Services Data Mining-Algorithmen verwenden automatisch die Featureauswahl, um die Analyse zu verbessern und die Verarbeitungslast zu reduzieren. Die für die Funktionsauswahl verwendete Methode hängt vom Algorithmus ab, mit dem das Modell erstellt wird. Die Algorithmusparameter, die die Funktionsauswahl für ein Entscheidungsstrukturmodell steuern, sind MAXIMUM_INPUT_ATTRIBUTES und MAXIMUM_OUTPUT.

Algorithmus Analysemethode Kommentare
Entscheidungsstrukturen Interessantheitsgrad

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

Bayes-Dirichlet mit uniformer A-priori-Verteilung (Standard)
Wenn irgendeine Spalte nicht binäre kontinuierliche Werte enthält, wird der Interessantheitsgrad für alle Spalten verwendet, um die Konsistenz zu gewährleisten. Andernfalls wird die Standardmethode oder die angegebene Methode verwendet.
Lineare Regression Interessantheitsgrad Der Linear Regression-Algorithmus verwendet nur den Interessantheitsgrad, da er nur kontinuierliche Spalten unterstützt.

Skalierbarkeit und Leistung

Die Klassifizierung ist eine wichtige Data Mining-Strategie. Im Allgemeinen steigt die Menge an Informationen, die zur Klassifizierung der Fälle erforderlich ist, direkt proportional zur Anzahl der Eingabedatensätze. Dies schränkt den Umfang der Daten ein, die klassifiziert werden können. Der Microsoft Decision Trees-Algorithmus verwendet die folgenden Methoden, um diese Probleme zu lösen, die Leistung zu verbessern und Speicherbeschränkungen aufzuheben:

  • Funktionsauswahl zur Optimierung der Auswahl von Attributen.

  • Bayes-Bewertung zur Kontrolle der Strukturzunahme.

  • Optimierung der Klasseneinteilung für kontinuierliche Attribute.

  • Dynamische Gruppierung von Eingabewerten zur Bestimmung der wichtigsten Werte.

Der Microsoft Decision Trees-Algorithmus ist schnell und skalierbar und ist auf eine einfache Parallelisierung ausgelegt. Dies bedeutet, dass alle Prozessoren zusammenarbeiten, um ein einzelnes, konsistentes Modell zu erstellen. Die Kombination dieser Eigenschaften macht die Entscheidungsstrukturklassifizierung zu einem idealen Tool für Data Mining.

Wenn schwerwiegende Leistungseinschränkungen vorliegen, können Sie die Verarbeitungszeit während des Trainings eines Entscheidungsstrukturmodells mit den folgenden Methoden verbessern. Beachten Sie in diesem Fall jedoch, dass durch Entfernen von Attributen zur Verbesserung der Verarbeitungsleistung die Ergebnisse des Modells verändert werden und möglicherweise für die Gesamtpopulation weniger repräsentativ sind.

  • Erhöhen Sie den Wert des COMPLEXITY_PENALTY-Parameters, um die Strukturzunahme einzuschränken.

  • Schränken Sie die Anzahl von Elementen in Zuordnungsmodellen ein, um die Anzahl von Strukturen zu begrenzen, die erstellt werden.

  • Erhöhen Sie den Wert des MINIMUM_SUPPORT-Parameters, um Überanpassung zu vermeiden.

  • Beschränken Sie die Anzahl von diskreten Werten für ein Attribut auf 10 oder weniger. Sie könnten versuchen, Werte auf andere Weisen in anderen Modellen zu gruppieren.

    Hinweis

    Sie können die in SQL Server 2017 Integration Services (SSIS) verfügbaren Datenuntersuchungstools verwenden, um die Verteilung der Werte in Ihren Daten zu visualisieren und Ihre Werte vor Beginn des Data Mining entsprechend zu gruppieren. Weitere Informationen finden Sie unter Datenprofilerstellungs-Task und -Viewer. Sie können auch die Data Mining-Add-Ins für Excel 2007verwenden, um Daten in Microsoft Excel zu durchsuchen, zu gruppieren und mit neuen Bezeichnungen versehen.

Anpassen des Decision Trees-Algorithmus

Der Microsoft Decision Trees-Algorithmus unterstützt Parameter, die sich auf die Leistung und Genauigkeit des resultierenden Miningmodells auswirken. Sie können außerdem Modellierungsflags für die Miningmodellspalten oder Miningstrukturspalten festlegen, um die Verarbeitung der Daten zu steuern.

Hinweis

Der Microsoft Decision Trees-Algorithmus ist in allen Editionen von SQL Server verfügbar. Einige erweiterte Parameter zum Anpassen des Verhaltens des Microsoft Decision Trees-Algorithmus sind jedoch nur in bestimmten Editionen von SQL Server verfügbar. Eine Liste der Features, die von den SQL Server-Versionen unterstützt werden, finden Sie unter Versionen und unterstützte Features von SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Festlegen von Algorithmusparametern

In der folgenden Tabelle werden die Parameter beschrieben, die Sie mit dem Microsoft Decision Trees-Algorithmus verwenden können.

COMPLEXITY_PENALTY
Steuert das Anwachsen der Entscheidungsstruktur. Ein niedriger Wert führt zu einer größeren Anzahl von Teilungen, und ein hoher Wert führt zu einer niedrigeren Anzahl von Teilungen. Der Standardwert richtet sich nach der Anzahl von Attributen in einem bestimmten Modell und ist der nachstehenden Liste zu entnehmen:

  • Für die Attribute 1-9 lautet der Wert 0,5.

  • Für 10 bis 99 Attribute lautet der Wert 0,9.

  • Für 100 oder mehr Attribute lautet der Wert 0,99.

FORCE_REGRESSOR
Zwingt den Algorithmus, die angegebenen Spalten als Regressoren zu verwenden, unabhängig von ihrer durch den Algorithmus berechneten Wichtigkeit der Spalten. Dieser Parameter wird nur für Entscheidungsstrukturen verwendet, die ein kontinuierliches Attribut vorhersagen.

Hinweis

Durch Festlegen dieses Parameters wird der Algorithmus gezwungen, zu versuchen, das Attribut als Regressor zu verwenden. Ob das Attribut im endgültigen Modell tatsächlich als Regressor verwendet wird, hängt von den Analyseergebnissen ab. Sie können feststellen, welche Spalten als Regressoren verwendet wurden, indem Sie den Modellinhalt abfragen.

[Nur in einigen Editionen von SQL Server verfügbar ]

MAXIMUM_INPUT_ATTRIBUTES
Definiert die Anzahl von Eingabeattributen, die der Algorithmus verarbeiten kann, bevor die Funktionsauswahl aufgerufen wird.

Der Standardwert ist 255.

Legen Sie diesen Wert auf 0 fest, um die Funktionsauswahl zu deaktivieren.

[Nur in einigen Editionen von SQL Server verfügbar]

MAXIMUM_OUTPUT_ATTRIBUTES
Definiert die Anzahl von Ausgabeattributen, die der Algorithmus verarbeiten kann, bevor die Funktionsauswahl aufgerufen wird.

Der Standardwert ist 255.

Legen Sie diesen Wert auf 0 fest, um die Funktionsauswahl zu deaktivieren.

[Nur in einigen Editionen von SQL Server verfügbar]

MINIMUM_SUPPORT
Bestimmt die Mindestanzahl von Blattfällen, die zum Generieren einer Teilung in der Entscheidungsstruktur erforderlich sind.

Der Standardwert ist 10.

Sie müssen möglicherweise diesen Wert erhöhen, wenn das Dataset sehr groß ist, um übermäßiges Trainieren zu vermeiden.

SCORE_METHOD
Bestimmt die zum Berechnen des Teilungsergebnisses zu verwendende Methode. Die folgenden Optionen sind verfügbar:

ID Name
1 Entropie
3 Bayes-Methode mit K2-A-priori-Verteilung
4 Bayes-Dirichlet-Äquivalent (BDE) mit uniformer A-priori-Verteilung

(Standard)

Der Standardwert ist 4 oder BDE.

Eine Erläuterung dieser Bewertungsmethoden finden Sie unter Feature Selection.

SPLIT_METHOD
Bestimmt die zum Teilen des Knotens zu verwendende Methode. Die folgenden Optionen sind verfügbar:

ID Name
1 Binary: Gibt an, dass die Struktur unabhängig von der tatsächlichen Anzahl der Werte für das Attribut in zwei Verzweigungen aufgeteilt werden soll.
2 Complete: Gibt an, dass die Struktur so viele Teilungen erstellen kann, wie Attributwerte vorhanden sind.
3 Both: Gibt an, dass Analysis Services bestimmen kann, ob eine binäre oder vollständige Teilung verwendet werden soll, um die besten Ergebnisse zu erzielen.

Der Standardwert ist 3.

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 in den einzelnen Spalten während der Analyse behandelt werden. Weitere Informationen finden Sie unter Modellierungsflags (Data Mining).

Modellierungsflag BESCHREIBUNG
MODEL_EXISTENCE_ONLY Bedeutet, dass die Spalte mit zwei möglichen Zuständen behandelt wird: Missing und Existing. Ein NULL-Wert ist ein fehlender Wert.

Gilt für die Miningmodellspalten.
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 Miningstrukturspalten.

Regressoren in Entscheidungsstrukturmodellen

Auch wenn Sie den Microsoft Linear Regression-Algorithmus nicht verwenden, kann jedes Entscheidungsstrukturmodell mit kontinuierlichen numerischen Eingaben und Ausgaben möglicherweise Knoten enthalten, die eine Regression für ein fortlaufendes Attribut darstellen.

Sie müssen nicht angeben, dass eine Spalte mit kontinuierlichen numerischen Daten einen Regressor darstellt. Der Microsoft Decision Trees-Algorithmus verwendet die Spalte automatisch als potenziellen Regressor und partitioniert das Dataset in Regionen mit aussagekräftigen Mustern, auch wenn Sie das REGRESSOR-Flag nicht für die Spalte festlegen.

Sie können durch Einsatz des FORCE_REGRESSOR-Parameters jedoch gewährleisten, dass der Algorithmus einen bestimmten Regressor verwendet. Dieser Parameter kann nur mit den Algorithmen Microsoft Decision Trees und Microsoft Linear Regression verwendet werden. Wenn das Modellierungsflag festgelegt wurde, versucht der Algorithmus Regressionsgleichungen der Form a*C1 + b*C2 + ... zu finden, um die Muster den Knoten der Struktur zuzuordnen. Dann wird die Summe der Restwerte berechnet, und wenn die Abweichung zu groß ist, wird die Struktur unterteilt.

Wenn Sie beispielsweise das Kaufverhalten von Kunden mithilfe des Attributs Einkommen vorhersagen und das Modellierungsflag REGRESSOR für die Spalte festlegen, versucht der Algorithmus zuerst, die Werte der Spalte Einkommen mithilfe einer Standardregressionsformel zuzuordnen. Ist die Abweichung zu groß, dann wird die Regressionsformel ignoriert und die Struktur nach einem anderen Attribut unterteilt. Der Decision Tree-Algorithmus versucht nach der Unterteilung, jedem der Zweige einen Regressor für Einkommen zuzuordnen.

Anforderungen

Ein Entscheidungsstrukturmodell muss eine Schlüsselspalte, Eingabespalten und mindestens eine vorhersagbare Spalte enthalten.

Eingabespalten und vorhersagbare Spalten

Der Microsoft Decision Trees-Algorithmus unterstützt die spezifischen Eingabespalten und vorhersagbaren Spalten, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen dazu, was die Inhaltstypen bedeuten, wenn sie in einem Miningmodell verwendet werden, finden Sie unter Inhaltstypen (Data Mining).

Spalte Inhaltstypen
Eingabeattribut Continuous, Cyclical, Discrete, Discretized, Key, Ordered, Table
Vorhersagbares Attribut Continuous, Cyclical, Discrete, Discretized, Ordered, Table

Hinweis

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

Weitere Informationen

Microsoft Decision Trees-Algorithmus
Beispiele für Entscheidungsstruktur-Modellabfragen
Miningmodellinhalt von Entscheidungsstrukturmodellen (Analysis Services – Data Mining)