Funktionsauswahl (Data Mining)
Mit dem häufig im Data Mining-Kontext verwendeten Begriff Funktionsauswahl werden die Tools und Techniken beschrieben, mit deren Hilfe sich Eingaben zur besseren Analyse und Verarbeitung auf eine überschaubare Menge reduzieren lassen. Die Funktionsauswahl bewirkt nicht nur eine Kardinalitätsreduzierung, wobei die Anzahl der Attribute, die bei der Modellerstellung berücksichtigt werden können, einer willkürlichen oder vordefinierten Begrenzung unterliegen, sondern beeinflusst auch die Auswahl der Attribute, was bedeutet, dass Attribute basierend auf ihrer Eignung für die Analyse vom Analysten oder Modellierungstool aktiv ausgewählt oder verworfen werden.
Die Möglichkeit, eine Funktionsauswahl anzuwenden, ist wichtig für eine effiziente Analyse, da Datasets häufig wesentlich mehr Informationen enthalten, als für die Modellerstellung erforderlich ist. Ein Dataset kann z. B. 500 Spalten mit Kundenmerkmalen enthalten. Wenn die Daten in einigen Spalten jedoch nur einen geringen Informationswert haben, würden diese Spalten, wenn sie dem Modell hinzugefügt würden, nur einen sehr geringen Nutzen bringen. 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.
Wenn von den 500 Spalten in der Datenquelle nur 50 Spalten Informationen enthalten, die bei der Modellerstellung von Nutzen sind, könnten Sie sie einfach nicht in das Modell einbeziehen. Alternativ könnten Sie mithilfe der Funktionsauswahl automatisch die besten Funktionen ermitteln und Werte ausschließen, die statistisch unbedeutend sind. Die Funktionsauswahl ist hilfreich bei der Lösung des doppelten Problems, dass zu viele Daten mit geringem Wert oder zu wenige hochwertige Daten vorhanden sind.
Die Funktionsauswahl bei Analysis Services Data Mining
Normalerweise wird die Funktionsauswahl in Analysis Services automatisch ausgeführt. Jeder Algorithmus verfügt über eine Reihe von Standardtechniken für die intelligente Anwendung der Funktionsreduzierung. 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. Sie können jedoch auch manuell Parameter festlegen, um das Verhalten der Funktionsauswahl zu beeinflussen.
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 Ergebnisse auch anpassen. Analysis Services bietet mehrere Methoden zum Berechnen dieser Ergebnisse. Welche spezifische Methode auf das jeweilige Modell angewendet wird, hängt von folgenden Faktoren ab:
Im Modell verwendeter Algorithmus
Datentyp des Attributs
Für das Modell festgelegte Parameter
Die Funktionsauswahl wird auf Eingaben, vorhersagbare Attribute und Statuswerte in einer Spalte angewandt. Nachdem die Bewertung für die Funktionsauswahl abgeschlossen ist, werden nur die vom Algorithmus ausgewählten Attribute und Statusangaben bei der Modellerstellung berücksichtigt und für Vorhersagen zur Verfügung gestellt. Bei Auswahl eines vorhersagbaren Attributs, das den Schwellenwert für die Funktionsauswahl nicht erfüllt, kann das Attribut zwar trotzdem für die Vorhersage verwendet werden, in diesem Fall basieren die Vorhersagen jedoch ausschließlich auf den globalen, im Modell vorhandenen Statistiken.
Hinweis |
---|
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 Funktionsauswahlmethoden
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, sind die Shannon-Entropie und zwei Bayes-Werte verfügbar. Wenn das Modell jedoch kontinuierliche Spalten enthält, wird der Interessantheitsgrad zur Bewertung aller Eingabespalten herangezogen, um die Konsistenz sicherzustellen.
Im folgenden Abschnitt werden die 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:
Interestingness(Attribute) = - (m - Entropy(Attribute)) * (m - Entropy(Attribute))
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 bedeutet dies, wenn die Bewertung von If A Then B der Bewertung von If B Then 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 Funktionsauswahlmethoden
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 |
Kommentare |
---|---|---|
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 StandardFunktionsauswahlmethode 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 sowohl die Bayes- als auch die Entropie-basierte Methode 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 Funktionsauswahlverhalten zu steuern. Deshalb wird die Funktionsauswahl 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 Funktionsauswahl 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. |
Zeitreihe |
Wird nicht verwendet |
Die Funktionsauswahl gilt nicht für Zeitreihenmodelle. Weitere Informationen zu diesem Algorithmus finden Sie unter Technische Referenz für den Microsoft Time Series-Algorithmus. |
Parameter für die Funktionsauswahl
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, Sie können diesen Standardwert jedoch überschreiben und die Anzahl der Attribute angeben. In diesem Abschnitt sind die Parameter zur Verwaltung der Funktionsauswahl aufgeführt.
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.
Neben diesen Methoden für die Funktionsauswahl können Sie den Algorithmus bei der Identifizierung oder Heraufstufung aussagekräftiger Attribute unterstützen, indem Sie Modellierungsflags für das Modell oder Verteilungsflags für die Struktur festlegen. Weitere Informationen zu diesen Konzepten finden Sie unter Modellierungsflags (Data Mining) und Spaltenverteilungen [Data Mining].