Information Technology Reference
In-Depth Information
Entscheidungsbäume als weitere Implementierungsvariante führen die Induktion an
einer Menge von Beispieldaten durch, wobei sie Klassifizierer und Vorhersagemodelle
erzeugen. Ein Entscheidungsbaum untersucht den Datensatz und entscheidet mit Hilfe
der Informationstheorie, welches Attribut die meisten entscheidungsrelevanten Informa-
tionen enthält. Dieses Attribut wird dann in einem Entscheidungsknoten verwendet, um
den Datensatz dem Attributwert entsprechend in zwei Gruppen zu teilen. An jedem nach-
folgenden Entscheidungsknoten wird der Datensatz erneut gespalten. Als Ergebnis erhält
man einen Entscheidungsbaum aus einer Reihe von Knoten. Die Blattknoten bilden eine
endgültige Klassifizierung des Datensatzes.
Das Prinzip der Entscheidungsbäume beruht auf der sogenannten Informationstheorie,
einem mathematischen Konzept, das von Shannon und Weaver (1949) eingeführt wurde
(Poddig 1992 ). Die Einheit der Information ist das Bit und die Informationsmenge in einer
einzelnen binären Antwort ist log 2 P(v) wobei P(v) die Wahrscheinlichkeit angibt, mit der
das Ereignis v eintritt. Der Inhalt der Information beruht auf den vorangegangenen Wahr-
scheinlichkeiten, eine korrekte Antwort auf eine Frage oder eine Klassifizierung zu erhalten.
Das folgende UML-Diagramm gibt einen Überblick über die wichtigsten Klassen
des Paketes bezüglich der Implementierungsvariante (Abb. 5.5 ). Dabei ist die Klasse
der kontinuierlichen Variablen ( ContinuousVariable ) eine Unterklasse der Klas-
se Variable . Sie ermöglicht die Unterstützung für solche Variablen, die einen kon-
tinuierlichen Realwert annehmen können, der im Bereich zwischen einem festgelegten
Mindest- und Höchstwert liegt. Der Konstruktor nimmt den Namen der Variable als ein-
zigen Parameter an. Die Elemente min und max kann man mit den Methoden setMin()
und setMax() direkt einstellen oder durch den Aufruf der Methode computeSta-
tistics() automatisch berechnen lassen, wenn die kontinuierliche Variable als Teil
einer Datenmenge ( DataSet ) verwendet wird. Die Methode normalize() wird von
der Klasse DataSet benutzt, wenn sie eine Version einer Datenmenge erstellt, die aus-
schließlich aus numerischen Werten besteht. Die Klasse DataSet verwendet man, um
eine vollständige Datei mit Trainingsdaten in den Speicher zu laden. Mit dieser Methode
wird einfach der Eingabewert linear auf einen Wert im Bereich von 0,0 bis 1,0 skaliert.
Die Klasse ContinuousVariable erbt die Methode normalizedSize() von der
Klasse Variable , da die normalisierte Größe immer 1,0 beträgt.
Auch die Klasse DiskreteVariable , ist eine Unterklasse der Klasse Variable .
Sie ermöglicht die Unterstützung für Variable , die einen vordefinierten Satz von nu-
merischen und symbolischen Werten annehmen kann. Der Konstruktor nimmt den Namen
der Variable als einzigen Parameter an. Die Mindest- und Höchstwerte kann man mit
den Methoden setMin() und setMax() direkt einstellen oder durch den Aufruf der
Methode computeStatistics() automatisch berechnen lassen, wenn die diskrete
Variable DiskreteVariable als Teil einer Datenmenge ( DataSet ) verwendet wird.
Als Wert wird ein Symbol vorausgesetzt. Wenn es bereits im Vektor labels enthalten ist,
wird es ignoriert, anderenfalls wird es in die Liste aufgenommen. Die Methode normal-
ize() wird von der Klasse DataSet benutzt, wenn sie eine Version einer Datenmenge
erstellt, die ausschließlich aus numerischen Werten besteht. Diese Methode konvertiert je-
Search WWH ::




Custom Search