Freigeben über


Technische Referenz zum Microsoft Decision Trees-Algorithmus

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 von diskreten und kontinuierlichen Attributen.

In diesem Thema wird die Implementierung des Algorithmus erläutert, das Verhalten des Algorithmus für verschiedene Aufgaben angepasst und Links zu zusätzlichen Informationen zum Abfragen von Entscheidungsstrukturmodellen bereitgestellt.

Implementierung des Decision Trees-Algorithmus

Der Microsoft Decision Trees-Algorithmus wendet den Bayesian-Ansatz auf das Erlernen von kausalen Interaktionsmodellen an, indem ungefähre Posteriorverteilungen für die Modelle abgerufen werden. Eine ausführliche Erläuterung dieses Ansatzes finden Sie auf der Microsoft Research-Website von Struktur und Parameterlernen.

Die Methodik zur Bewertung des Informationswerts der Priorien , die für das Lernen erforderlich sind, basiert auf der Annahme der Wahrscheinlichkeitsgleichstellung. Diese Annahme besagt, dass Daten nicht dazu beitragen sollten, Netzwerkstrukturen zu diskriminieren, die andernfalls dieselben Behauptungen bedingter Unabhängigkeit darstellen. Es wird davon ausgegangen, dass jeder Fall ein einzelnes bayesianisches Prioren-Netzwerk und ein einzelnes Maß an Vertrauen für dieses Netzwerk hat.

Anhand dieser vorherigen Netzwerke berechnet der Algorithmus dann die relativen Posterior-Wahrscheinlichkeiten von Netzwerkstrukturen anhand der aktuellen Schulungsdaten und identifiziert die Netzwerkstrukturen, die die höchsten Posterior-Wahrscheinlichkeiten aufweisen.

Der Microsoft Decision Trees-Algorithmus verwendet verschiedene Methoden, um die beste Struktur zu berechnen. Die verwendete Methode hängt von der Aufgabe ab, die lineare Regression, Klassifizierung oder Zuordnungsanalyse sein kann. Ein einzelnes Modell kann mehrere Bäume für verschiedene vorhersagbare Attribute enthalten. Darüber hinaus kann jede Struktur mehrere Verzweigungen enthalten, je nachdem, wie viele Attribute und Werte in den Daten vorhanden sind. Die Gestalt und Tiefe des Baums, der in einem bestimmten Modell erstellt wurde, hängt von der Bewertungsmethode und anderen verwendeten Parametern ab. Änderungen an den Parametern können sich auch darauf auswirken, wo sich die Knoten teilen.

Den Baum aufbauen

Wenn der Microsoft Decision Trees-Algorithmus den Satz möglicher Eingabewerte erstellt, führt er die Featureauswahl aus, um die Attribute und Werte zu identifizieren, die die meisten Informationen bereitstellen, und entfernt aus der Berücksichtigung der Werte, die sehr selten sind. Der Algorithmus gruppiert auch Werte in Bins, um Gruppierungen von Werten zu erstellen, die als Einheit verarbeitet werden können, um die Leistung zu optimieren.

Ein Baum wird erstellt, indem man die Korrelationen zwischen einer Eingabe und dem angestrebten Ergebnis bestimmt. Nachdem alle Attribute korreliert wurden, identifiziert der Algorithmus das einzelne Attribut, das die Ergebnisse am saubersten trennt. Dieser Punkt der besten Trennung wird mithilfe einer Gleichung gemessen, die den Informationsgewinn berechnet. Das Attribut mit der besten Bewertung für den Informationsgewinn wird verwendet, um die Fälle in Teilmengen aufzuteilen, die dann rekursiv vom gleichen Prozess analysiert werden, bis der Baum nicht weiter aufgeteilt werden kann.

Die genaue Formel, die zum Auswerten des Informationsgewinns verwendet wird, hängt von den Parametern ab, die beim Erstellen des Algorithmus festgelegt wurden, den Datentyp der vorhersehbaren Spalte und den Datentyp der Eingabe.

Diskrete und fortlaufende Eingaben

Wenn das vorhersagbare Attribut diskret ist und die Eingaben diskret sind, ist es wichtig, die Ergebnisse pro Eingabe zu zählen, um eine Matrix zu erstellen und Ergebnisse für jede Zelle in der Matrix zu generieren.

Wenn das vorhersagbare Attribut jedoch diskret ist und die Eingaben kontinuierlich sind, werden die Eingaben der fortlaufenden Spalten automatisch diskretisiert. Sie können die Standardeinstellung akzeptieren und Analysis Services die optimale Anzahl von Bins finden lassen, oder Sie können die Art und Weise steuern, in der fortlaufende Eingaben durch Festlegen der Eigenschaften DiscretizationMethod und DiscretizationBucketCount diskretisiert werden. Weitere Informationen finden Sie unter Ändern der Diskretisierung einer Spalte in einem Miningmodell.

Bei fortlaufenden Attributen verwendet der Algorithmus die lineare Regression, um zu bestimmen, wo eine Entscheidungsstruktur geteilt wird.

Wenn das vorhersagbare Attribut ein fortlaufender numerischer Datentyp ist, wird auch die Featureauswahl auf die Ausgaben angewendet, um die mögliche Anzahl der Ergebnisse zu reduzieren und das Modell schneller zu erstellen. Sie können den Schwellenwert für die Featureauswahl ändern und dadurch die Anzahl möglicher Werte erhöhen oder verringern, indem Sie den MAXIMUM_OUTPUT_ATTRIBUTES-Parameter festlegen.

Eine festgehaltene Erklärung darüber, wie der Microsoft Decision Trees-Algorithmus mit diskreten vorhersagbaren Spalten funktioniert, finden Sie unter Learning Bayesian Networks: The Combination of Knowledge and Statistical Data. Weitere Informationen zur Funktionsweise des Microsoft Decision Trees-Algorithmus mit einer fortlaufenden vorhersehbaren Spalte finden Sie im Anhang der Autoregressive Tree Models for Time-Series Analysis.

Bewertungsmethoden und Merkmalsauswahl

Der Microsoft Decision Trees-Algorithmus bietet drei Formeln zur Bewertung der Informationsgewinnung: Shannons Entropie, Bayesian-Netzwerk mit K2-Prior und Bayesian-Netzwerk mit einer einheitlichen Dirichlet-Verteilung von Prioren. Alle drei Methoden sind im Data Mining-Feld gut etabliert. Es wird empfohlen, mit verschiedenen Parametern und Bewertungsmethoden zu experimentieren, um zu bestimmen, welche die besten Ergebnisse liefern. Weitere Informationen zu diesen Bewertungsmethoden finden Sie unter Merkmalauswahl.

Alle Analysis Services Data Mining-Algorithmen verwenden automatisch die Featureauswahl, um die Analyse zu verbessern und die Verarbeitungslast zu reduzieren. Die für die Featureauswahl verwendete Methode hängt vom Algorithmus ab, der zum Erstellen des Modells verwendet wird. Die Algorithmusparameter, die die Featureauswahl für ein Entscheidungsstrukturenmodell steuern, sind MAXIMUM_INPUT_ATTRIBUTES und MAXIMUM_OUTPUT.

Algorithmus Analysemethode Kommentare
Entscheidungsbäume Interessantheitsbewertung

Shannons Entropie

Bayesian mit K2 Prior

Bayesian-Dirichlet mit gleichmäßiger Priorverteilung (Voreinstellung)
Wenn Spalten nicht binäre fortlaufende Werte enthalten, wird die Interessantesbewertung für alle Spalten verwendet, um die Konsistenz sicherzustellen. Andernfalls wird die Standard- oder angegebene Methode verwendet.
Lineare Regression Interessantheitsbewertung Lineare Regression verwendet nur Interessantes, da sie nur fortlaufende Spalten unterstützt.

Skalierbarkeit und Leistung

Die Klassifizierung ist eine wichtige Data Mining-Strategie. Im Allgemeinen wächst die Menge an Informationen, die zum Klassifizieren der Fälle erforderlich sind, im direkten Verhältnis zur Anzahl der Eingabedatensätze. Dadurch wird die Größe der Daten begrenzt, die klassifiziert werden können. Der Microsoft Decision Trees-Algorithmus verwendet die folgenden Methoden, um diese Probleme zu beheben, die Leistung zu verbessern und Speichereinschränkungen zu beseitigen:

  • Merkmalsauswahl zur Optimierung der Attributauswahl.

  • Bayesian-Bewertung zur Steuerung des Baumwachstums.

  • Optimierung der Binnierung für fortlaufende Attribute.

  • Dynamische Gruppierung von Eingabewerten, um die wichtigsten Werte zu bestimmen.

Der Microsoft Decision Trees-Algorithmus ist schnell und skalierbar und wurde für eine einfache Parallelisierung entwickelt, was bedeutet, dass alle Prozessoren zusammenarbeiten, um ein einzelnes, konsistentes Modell zu erstellen. Die Kombination dieser Merkmale macht den Entscheidungsstrukturklassifizierer zu einem idealen Tool für data Mining.

Wenn Leistungseinschränkungen schwerwiegend sind, können Sie die Verarbeitungszeit während der Schulung eines Entscheidungsstrukturmodells mithilfe der folgenden Methoden verbessern. Beachten Sie jedoch, dass das Entfernen von Attributen zur Verbesserung der Verarbeitungsleistung die Ergebnisse des Modells ändert und möglicherweise weniger repräsentativ für die Gesamtbevölkerung ist.

  • Erhöhen Sie den Wert des Parameters "COMPLEXITY_PENALTY", um das Baumwachstum zu begrenzen.

  • Beschränken Sie die Anzahl der Elemente in Assoziationsmodellen, um die Anzahl der erstellten Bäume einzuschränken.

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

  • Beschränken Sie die Anzahl der diskreten Werte für ein beliebiges Attribut auf 10 oder weniger. Sie können versuchen, Werte auf unterschiedliche Weise in verschiedenen Modellen zu gruppieren.

    Hinweis

    Sie können die in SQL Server 2014 Integration Services (SSIS) verfügbaren Datensuchetools verwenden, um die Verteilung von Werten in Ihren Daten zu visualisieren und Die Werte entsprechend zu gruppieren, bevor Sie mit dem Data Mining beginnen. Weitere Informationen finden Sie unter Data Profiling Task and Viewer. Sie können auch die Data Mining-Add-Ins für Excel 2007 verwenden, um Daten in Microsoft Excel zu untersuchen, zu gruppieren und neu zu bezeichnen.

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 auch Modellierungskennzeichnungen für die Miningmodellspalten oder Miningstrukturspalten festlegen, um die Verarbeitung von 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 stehen jedoch nur in bestimmten Editionen von SQL Server zur Verfügung. Eine Liste der Features, die von den Editionen von SQL Server unterstützt werden, finden Sie unter Features, die von den Editionen von SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473) unterstützt werden.

Festlegen von Algorithmusparametern

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

KOMPLEXITÄTSSTRAFE
Steuert das Wachstum des Entscheidungsbaums. Ein niedriger Wert erhöht die Anzahl der Aufteilungen, und ein hoher Wert verringert die Anzahl der Aufteilungen. Der Standardwert basiert auf der Anzahl der Attribute für ein bestimmtes Modell, wie in der folgenden Liste beschrieben:

  • Bei 1 bis 9 Attributen ist der Standardwert 0,5.

  • Bei 10 bis 99 Attributen ist der Standardwert 0,9.

  • Bei 100 oder mehr Attributen ist der Standardwert 0,99.

FORCE_REGRESSOR
Erzwingt, dass der Algorithmus die angegebenen Spalten als Regressoren verwendet, unabhängig von der Wichtigkeit der Spalten, die vom Algorithmus berechnet werden. Dieser Parameter wird nur für Entscheidungsstrukturen verwendet, die ein fortlaufendes Attribut vorhersagen.

Hinweis

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

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

MAXIMALE_EINGABEEIGENSCHAFTEN
Definiert die Anzahl der Eingabeattribute, die der Algorithmus verarbeiten kann, bevor die Featureauswahl aufgerufen wird.

Der Standardwert ist 255.

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

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

MAXIMUM_OUTPUT_ATTRIBUTES
Definiert die Anzahl der Ausgabeattribute, die der Algorithmus verarbeiten kann, bevor die Featureauswahl aufgerufen wird.

Der Standardwert ist 255.

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

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

MINIMUM_SUPPORT
Bestimmt die Mindestanzahl der Blattfälle, die zum Generieren einer Unterbrechung in der Entscheidungsstruktur erforderlich sind.

Der Standardwert ist 10.

Möglicherweise müssen Sie diesen Wert erhöhen, wenn das Dataset sehr groß ist, um übertrainings zu vermeiden.

SCORE_METHOD
Bestimmt die Methode, die zum Berechnen der Teilpunktzahl verwendet wird. Die folgenden Optionen sind verfügbar:

Identifikationsnummer Name
1 Entropie
3 Bayesian mit K2 Prior
4 Bayesian Dirichlet Equivalent (BDE) mit gleichmäßiger A-priori-Wahrscheinlichkeit

(Standard)

Der Standardwert ist 4 oder BDE.

Eine Erläuterung dieser Bewertungsmethoden finden Sie unter Merkmalauswahl.

SPLIT_METHOD
Bestimmt die Methode, die zum Teilen des Knotens verwendet wird. Die folgenden Optionen sind verfügbar:

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

Der Standard ist „3“.

Modellierung von Flaggen

Der Microsoft Decision Trees-Algorithmus unterstützt die folgenden Modellierungskennzeichnungen. Wenn Sie die Miningstruktur oder das Miningmodell erstellen, definieren Sie Modellierungskennzeichnungen, um anzugeben, wie Werte in jeder Spalte während der Analyse behandelt werden. Weitere Informationen finden Sie unter Modeling Flags (Data Mining).

Modellierungsflagge BESCHREIBUNG
N/A (No improvements necessary unless context provides a translatable equivalent requiring alteration). Bedeutet, dass die Spalte mit zwei möglichen Zuständen behandelt wird: Missing und Existing. Ein Nullwert ist ein fehlender Wert.

Gilt für Miningmodellspalten.
NICHT NULL Gibt an, dass die Spalte keinen Nullwert enthalten kann. Ein Fehler führt dazu, dass Analysis Services während der Modellschulung auf einen Nullwert stößt.

Gilt für die Spalten von Miningstrukturen.

Regressoren in Entscheidungsbaum-Modellen

Auch wenn Sie den Microsoft Linear Regressionsalgorithmus nicht verwenden, können jedes Entscheidungsstrukturmodell mit fortlaufenden 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 fortlaufender numerischer 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 in der Spalte nicht festlegen.

Sie können jedoch den FORCE_REGRESSOR-Parameter verwenden, um sicherzustellen, dass der Algorithmus einen bestimmten Regressor verwendet. Dieser Parameter kann nur mit den Microsoft Decision Trees- und Microsoft Linear Regressionsalgorithmen verwendet werden. Wenn Sie die Modellierungskennzeichnung festlegen, versucht der Algorithmus, Regressionsgleichungen der Form a*C1 + b*C2 + ... zu modellieren, um die Muster in den Knoten des Baums anzupassen. Die Summe der Residuen wird berechnet, und wenn die Abweichung zu groß ist, wird eine Teilung im Baum erzwungen.

Wenn Sie z. B. das Einkaufsverhalten des Kunden mithilfe von Income als Attribut vorhersagen und das ReGRESSOR-Modellierungsflagge für die Spalte festlegen, versucht der Algorithmus zunächst, die Einkommenswerte mithilfe einer standardmäßigen Regressionsformel anzupassen. Wenn die Abweichung zu groß ist, wird das Regressionsmodell aufgegeben und der Baum wird auf ein anderes Attribut aufgeteilt. Der Entscheidungsstrukturalgorithmus versucht dann, einen Regressor für das Einkommen in jedem der Zweige nach der Aufteilung anzupassen.

Anforderungen

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

Eingabe- und vorhersagbare Spalten

Der Microsoft Decision Trees-Algorithmus unterstützt die spezifischen Eingabespalten und vorhersehbaren 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 Content Types (Data Mining).

Kolumne Inhaltstypen
Eingabeattribute Fortlaufend, Zyklisch, Diskrete, Diskretisierte, Schlüssel, Sortiert, Tabelle
Vorhersehbares Attribut Fortlaufend, zyklische, diskrete, diskretisierte, sortierte, Tabelle

Hinweis

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

Siehe auch

Microsoft Decision Trees-Algorithmus
Beispiele für Decision Trees-Modellabfragen
Miningmodellinhalt für Entscheidungsstrukturmodelle (Analysis Services - Data Mining)