Iterative Dichotomiser 3
# Iterative Dichotomiser 3

Iterative Dichotomiser 3 (ID3) ist ein Algorithmus, der zur Entscheidungsfindung dient. Er wird bei Entscheidungsbäumen eingesetzt. Der australische Forscher J. Ross Quinlan publizierte diesen Algorithmus erstmals im Jahr 1986. ID3 war in seinen ersten Jahren sehr einflussreich. Er findet auch heute noch in einigen Produkten Verwendung. ID3 gilt als Vorgänger des C4.5-Algorithmus.
ID3 wird verwendet, wenn bei großer Datenmenge viele verschiedene Attribute von Bedeutung sind und deshalb ein Entscheidungsbaum ohne große Berechnungen generiert werden soll. Somit entstehen meist einfache Entscheidungsbäume. Es kann aber nicht garantiert werden, dass keine besseren Bäume möglich wären.
Die Basisstruktur von ID3 ist iterativ. Es werden zu jedem noch nicht benutzten Attribut Entropien bezüglich der Trainingsmenge berechnet. Das Attribut mit dem höchsten Informationsgewinn (englisch: information gain) bzw. der kleinsten Entropie, wird gewählt und daraus ein neuer Baum-Knoten generiert. Das Verfahren terminiert, wenn alle Trainingsinstanzen klassifiziert wurden, d. h. wenn jedem Blattknoten eine Klassifikation zugeordnet ist.

## Algorithmus

Wenn alle Elemente aus $T$ (Daten) zu einer Klasse gehören
    Dann
       // Erzeuge ein Blatt //
          Konstruiere ein Blatt mit der Klasse als Bezeichner
    Sonst
       // Erzeuge rekursiv einen Teilbaum //
          Wähle das „informativste“ Merkmal $x_{i}$
          Beginn: Für_alle vorkommenden Werte von Merkmal $x_{i}$
             Konstruiere alle Teilbäume rekursiv mit den entsprechenden Teilmengen als Daten
          Ende: Für_alle
          Konstruiere einen Baumknoten mit Bezeichner $x_{i}$ und hänge alle erzeugten Teilbäume an
    Ende Sonst

## Auswahl der Attribute (Merkmale)

Für die Bildung der Teilbäume wird jeweils entsprechend der Informationstheorie das informativste Attribut ausgewählt.
Sei $S$ die Menge der Trainingsbeispiele mit ihrer jeweiligen Klassifizierung, $a\in A$ das zu prüfende Attribut aus der Menge der verfügbaren Attribute, $V(a)$ die Menge der möglichen Attributwerte von $a$ und $S_{v}$ die Untermenge von $S$, für die das Attribut $a$ den Wert $v$ annimmt. Der Informationsgewinn, der durch Auswahl des Attributs $a$ erzielt wird, errechnet sich dann als Differenz der Entropie von $S$ und der erwarteten/durchschnittlichen Entropie von $S$ bei Fixierung von $a$:
$G(S,a)=\operatorname {Entropie} (S)-\sum _{v\in V(a)}{\dfrac {|S_{v}|}{|S|}}\operatorname {Entropie} (S_{v})$.
Schließlich wählt man ein Attribut mit dem größtmöglichen Gewinn aus der Menge $\lbrace a_{next}\in A|G(S,a_{next})=\max _{a\in A}(G(S,a))\rbrace$ als das nächste Attribut.
Diese Wahl führt zur Bevorzugung von Attributen mit vielen Wahlmöglichkeiten und damit zu einem breiten Baum. Um dem entgegenzuwirken, kann eine Normalisierung über die Anzahl der Wahlmöglichkeiten durchgeführt werden.