Funktionsauswahl beim Data Mining

Die Featureauswahl ist für jedes Data Mining-Produkt notwendig. Wenn Sie ein Data Mining-Modell erstellen, enthält das Dataset häufig mehr Informationen als zum Erstellen des Modells benötigt werden. Angenommen, ein Dataset enthält 500 Spalten, die Kundenmerkmale beschreiben, doch es werden vielleicht nur 50 dieser Spalten zum Erstellen eines bestimmten Modells verwendet. Wenn Sie die nicht verwendeten Spalten beim Erstellen des Modells beibehalten, ist während des Trainingsprozesses mehr CPU und Arbeitsspeicher erforderlich, und das fertige Modell erfordert mehr Speicherplatz.

Auch wenn die Ressourcen kein Problem sind, empfiehlt es sich, nicht verwendete Spalten zu entfernen, da sie die Qualität der erkannten Muster aus folgenden Gründen beeinträchtigen können:

  • Manche Spalten enthalten stark abweichende oder redundante Werte. Dies erschwert es, in den Daten sinnvolle Muster zu erkennen.

  • Zur Erkennung qualitativ hochwertiger Muster benötigen die meisten Data Mining-Algorithmen ein viel größeres Trainingsdataset für mehrdimensionale Datasets. In einigen Data Mining-Anwendungen ist das Trainingsdataset jedoch sehr klein.

Die Featureauswahl ist hilfreich bei der Lösung des Problems, dass zu viele Daten mit geringem Wert oder zu wenige hochwertige Daten vorhanden sind.

Die Featureauswahl bei Analysis Services Data Mining

Im Allgemeinen wird bei der Funktionsauswahl ein Wert für jedes Attribut berechnet, und dann werden nur diejenigen Attribute ausgewählt, die über die besten Werte verfügen. Sie können den Schwellenwert für die besten Werte einstellen. Die Funktionsauswahl wird stets durchgeführt, bevor das Modell trainiert wird, um automatisch die Attribute in einem Dataset auszuwählen, die im Modell am wahrscheinlichsten Verwendung finden.

Analysis Services bietet mehrere Methoden für die Funktionsauswahl an. Die genaue Methode zum Auswählen der Attribute mit dem höchsten Wert hängt vom im Modell verwendeten Algorithmus und von Parametern ab, die Sie möglicherweise für Ihr Modell festgelegt haben. Die Featureauswahl wird auf Eingaben, vorhersagbare Attribute und Statuswerte in einer Spalte angewandt. Nur die vom Algorithmus ausgewählten Attribute und Statuswerte werden bei der Modellerstellung berücksichtigt und stehen für Vorhersagen zur Verfügung. Vorhersagbare Spalten, die von der Funktionsauswahl ignoriert werden, werden zwar für Vorhersagen verwendet, doch die Vorhersagen basieren lediglich auf der im Modell vorhandenen Globalstatistik.

HinweisHinweis

Die Funktionsauswahl betrifft nur die Spalten, die im Modell verwendet werden, und wirkt sich nicht auf die Speicherung der Miningstruktur aus. Die Spalten, die nicht in das Miningmodell aufgenommen werden, sind in der Struktur weiterhin verfügbar, und die Daten der Miningstrukturspalten werden zwischengespeichert.

Definition von Featureauswahlmethoden

Abhängig vom Typ der Daten, mit denen Sie arbeiten, und dem für die Analyse gewählten Algorithmus, kann die Funktionsauswahl auf vielerlei Weise implementiert werden. SQL Server Analysis Services stellt mehrere gängige und bekannte Methoden zum Bewerten von Attributen bereit. Die Methode, die bei Algorithmen oder Datasets angewendet wird, hängt von den Datentypen und der Spaltenverwendung ab.

Die Bewertung des Interessantheitsgrads wird zum Festlegen der Rangfolge und zum Sortieren von Attributen in Spalten verwendet, die nicht binäre, kontinuierliche, numerische Daten enthalten.

Für Spalten, die diskrete und diskretisierte Daten enthalten, stehen die Shannon-Entropie und zwei Bayes-Werte zur Auswahl. Wenn das Modell jedoch kontinuierliche Spalten enthält, wird der Interessantheitsgrad zur Bewertung der Eingabespalten herangezogen, um die Konsistenz sicherzustellen.

In diesem Abschnitt werden alle Methoden der Funktionsauswahl einzeln beschrieben.

Interessantheitsgrad

Eine Funktion ist interessant, wenn sie eine nützliche Information offenbart. Weil die Definition dessen, was nützlich ist, vom jeweiligen Szenario abhängt, hat die Data Mining-Branche verschiedene Methoden zum Messen der Interessantheit entwickelt. Beispielsweise kann Neuheit für die Ausreißererkennung interessant sein, für die Klassifizierung kann jedoch die Fähigkeit, eng verwandte Elemente unterscheiden zu können, bzw. das diskriminante Gewicht interessanter sein.

Das in SQL Server Analysis Services verwendete Maß der Interessantheit basiert auf der Entropie. Das bedeutet, dass Attribute mit einer zufälligen Verteilung eine höhere Entropie und einen geringeren Informationsgewinn haben und daher weniger interessant sind. Die Entropie eines bestimmten Attributs wird wie folgt mit der Entropie aller anderen Attribute verglichen:

Interessantheit(Attribut) = - (m - Entropie(Attribut)) * (m - Entropie(Attribut))

Die zentrale Entropie oder m steht für die Entropie des gesamten Funktionssatzes. Durch Abziehen der Entropie des Zielattributs von der zentralen Entropie lässt sich einschätzen, wie viele Informationen das Attribut bereitstellt.

Dieses Ergebnis wird standardmäßig immer dann verwendet, wenn die Spalte nicht binäre, kontinuierliche, numerische Daten enthält.

Shannon-Entropie

Die Shannon-Entropie stellt ein Maß für die Ungewissheit einer zufälligen Variable für ein bestimmtes Ergebnis dar. Beispielsweise kann die Entropie einen Münzwurfs als Funktion der Wahrscheinlichkeit des Ergebnisses "Kopf" dargestellt werden.

In Analysis Services wird die folgende Formel zur Berechnung der Shannon-Entropie verwendet:

H(X) = -∑ P(xi) log(P(xi))

Diese Bewertungsmethode ist für diskrete und diskretisierte Attribute verfügbar.

Bayes-Methode mit K2-A-priori-Verteilung

Analysis Services stellt zwei Funktionsauswahlwerte bereit, die auf Bayes-Netzwerken basieren. Ein Bayes-Netzwerk ist ein gerichteter oder azyklischer Graph von Zuständen und Übergängen zwischen Zuständen. Das heißt, dass einige Zustände immer vor dem aktuellen Status liegen, andere Zustände sind nachgelagert, und der Graph stellt keine Wiederholungen oder Schleifen dar. Definitionsgemäß ermöglichen Bayes-Netzwerke die Verwendung vorherigen Wissens. Allerdings ist die Frage, welche der früheren Zustände zur Berechnung der Wahrscheinlichkeit nachfolgender Zustände verwendet werden sollen, für den Algorithmusentwurf, die Leistung und die Genauigkeit wichtig.

Der K2-Algorithmus zum Lernen von Bayes-Netzwerken wurde von Cooper und Herskovits entwickelt und wird häufig im Data Mining eingesetzt. Er ist skalierbar und kann mehrere Variablen analysieren, erfordert jedoch eine Sortierung der als Eingabe verwendeten Variablen. Weitere Informationen finden Sie in Learning Bayesian Networks von Chickering, Geiger, und Heckerman.

Diese Bewertungsmethode ist für diskrete und diskretisierte Attribute verfügbar.

Bayes-Dirichlet-Äquivalent mit uniformer A-priori-Verteilung

Bei der Bayes-Dirichlet-Äquivalent-Bewertung wird auch die Bayes-Analyse zur Bewertung eines Netzwerks anhand eines gegebenen Datasets verwendet. Diese Bewertungsmethode wurde von Heckerman entwickelt und basiert auf der von Cooper und Herskovits entwickelten BD-Metrik. Bei der Dirichlet-Verteilung handelt es sich um eine Multinominalverteilung, die die bedingte Wahrscheinlichkeit jeder Netzwerkvariablen beschreibt und über viele für das Lernen nützliche Eigenschaften verfügt.

Die Methode Bayes-Dirichlet-Äquivalent mit uniformer A-priori-Verteilung setzt einen Sonderfall der Dirichlet-Verteilung voraus, in dem eine mathematische Konstante zur Erstellung einer festen oder einheitlichen Verteilung von A-priori-Zuständen verwendet wird. Die Bayes-Dirichlet-Äquivalent-Bewertung unterstellt außerdem Likelihood-Äquivalenz, d. h. es wird nicht erwartet, dass die Daten äquivalente Strukturen unterscheiden können. Anders ausgedrückt, wenn die Bewertung von Wenn A dann B der Bewertung von Wenn B dann A entspricht, dann lassen sich die Strukturen nicht anhand der Daten unterscheiden, und die Kausalität kann nicht aus den Daten gefolgert werden.

Weitere Informationen zu Bayes-Netzwerken und der Implementierung dieser Bewertungsmethoden finden Sie in Learning Bayesian Networks.

Von Analysis Services-Algorithmen verwendete Featureauswahlmethoden

Die folgende Tabelle enthält die Algorithmen, welche die Funktionsauswahl unterstützen, die von einem Algorithmus verwendeten Funktionsauswahlmethoden und die Parameter, mit denen sich das Funktionsauswahlverhalten steuern lässt:

Algorithmus

Analysemethode

Anmerkungen

Naive Bayes

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

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

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

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Naive Bayes-Algorithmus.

Entscheidungsstrukturen

Interessantheitsgrad

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

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

Wenn eine 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 Standardfeatureauswahlmethode oder die Methode angewendet, die Sie angegeben haben, als Sie das Modell erstellt haben.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Decision Trees-Algorithmus.

Neuronale Netzwerke

Interessantheitsgrad

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

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

Der Microsoft Neural Networks-Algorithmus kann beide Methoden verwenden, sofern die Daten kontinuierliche Spalten enthalten.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Neural Network-Algorithmus.

Logistische Regression

Interessantheitsgrad

Shannon-Entropie

Bayes-Methode mit K2-A-priori-Verteilung

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

Obwohl der Microsoft Logistic Regression-Algorithmus auf dem Microsoft Neural Network-Algorithmus basiert, können Sie keine logistischen Regressionsmodelle anpassen, um das Featureauswahlverhalten zu steuern. Deshalb wird die Featureauswahl immer standardmäßig nach der Methode ausgeführt, die für das Attribut am besten geeignet ist.

Wenn alle Attribute diskret oder diskretisiert sind, wird als Standardmethode Bayes-Dirichlet mit uniformer A-priori-Verteilung eingesetzt.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Logistic Regression-Algorithmus.

Clustering

Interessantheitsgrad

Der Microsoft Clustering-Algorithmus kann diskrete oder diskretisierte Daten verwenden. Da das Ergebnis jedes Attributs jedoch als Entfernung berechnet wird und als kontinuierliche Zahl dargestellt wird, muss der Interessantheitsgrad verwendet werden.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Clustering-Algorithmus.

Lineare Regression

Interessantheitsgrad

Der Microsoft Linear Regression-Algorithmus kann nur den Interessantheitsgrad verwenden, da dieser nur kontinuierliche Spalten unterstützt.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Linear Regression-Algorithmus.

Zuordnungsregeln

Sequenzclustering

Wird nicht verwendet

Die Featureauswahl wird nicht mit diesen Algorithmen aufgerufen.

Durch Festlegen der Parameter MINIMUM_SUPPORT und MINIMUM_PROBABILIITY lässt sich jedoch das Verhalten des Algorithmus steuern und die Größe der Eingabedaten falls notwendig reduzieren.

Weitere Informationen finden Sie unter Technische Referenz für den Microsoft Association-Algorithmus und Technische Referenz für den Microsoft Sequence Clustering-Algorithmus (Analysis Services - Data Mining).

Zeitreihe

Wird nicht verwendet

Die Featureauswahl gilt nicht für Zeitreihenmodelle.

Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Time Series-Algorithmus.

Steuern des Funktionsauswahlverhaltens

In Algorithmen, die die Funktionsauswahl unterstützen, können Sie mithilfe der folgenden Parameter steuern, wann die Funktionsauswahl aktiviert wird. Jeder Algorithmus verfügt über einen Standardwert für die Anzahl zulässiger Eingaben, und Sie können diesen Standardwert überschreiben und die Anzahl der Attribute angeben.

MAXIMUM_INPUT_ATTRIBUTES

Falls ein Modell mehr Spalten enthält als durch die im Parameter MAXIMUM_INPUT_ATTRIBUTES angegebene Zahl, ignoriert der Algorithmus alle Spalten, die er als irrelevant errechnet.

MAXIMUM_OUTPUT_ATTRIBUTES

Falls ein Modell mehr vorhersagbare Spalten enthält als durch die im Parameter MAXIMUM_OUTPUT_ATTRIBUTES angegebene Zahl, ignoriert der Algorithmus gleichermaßen alle Spalten, die er als irrelevant errechnet.

MAXIMUM_STATES

Wenn ein Modell mehr Fälle enthält, als im Parameter MAXIMUM_STATES angegeben sind, werden die am wenigsten verbreiteten Status in einer Gruppe zusammengefasst und als fehlend behandelt. Wird einer dieser Parameter auf 0 festgelegt, ist die Funktionsauswahl ausgeschaltet. Dies wirkt sich auf die Verarbeitungszeit und die Leistung aus.