Entscheidungsbaum für Studienentscheidung – Hands On

Nach einer Idee von Sarah Hillmann, EMA Bonn

Ziel

Es soll ein Entscheidungsbaum erzeugt werden, der aus Bewerbungen für das Informatikstudium diejenigen herausfiltert, die das Studium voraussichtlich erfolgreich absolvieren.

Als Trainingsdaten werden Daten ehemaliger Studierender genutzt. Grüne Karten stehen für erfolgreiche Ehemalige, die man wieder zulassen würde, rote Karten für nicht erfolgreiche, die man besser abgelehnt hätte.

Daten

Folgende binäre Merkmale sind erhoben worden:

Folgende Beispieldaten stehen zur Verfügung:

Zulassen, da Studium erfolgreich absolviert.

Ablehnen, da Studium nicht erfolgreich absolviert.

Download der Beispieldaten in Kartenform (für zwei Bäume A und B)

Download der Beispieldaten im CSV-Format (für zwei Bäume A und B)

Baum erstellen

In folgendem Video wird erläutert, wie ein Entscheidungsbaum für eine Kaufentscheidung erstellt werden kann.

Mit Hilfe dieser Informationen soll anschließen der Entscheidungsbaum für die Studienentscheidung erstellt werden.

Algorithmus in Pseudocode

Falls alle Personen der Liste zugelassen werden,
    schreibe "zugelassen" in die Wurzel des aktuellen Baums und beende.

Falls alle Personen der Liste abgelehnt werden,
    schreibe "ablehnen" in die Wurzel des aktuellen Baums und beende.

Sonst
    Schreibe das erste Merkmal der Liste in die Wurzel/Knoten und entferne es aus der Liste.
    Teile die Liste mit Personen so in zwei Listen, dass alle Personen in der ersten Liste das Merkmal in der aktuellen Wurzel erfüllen und alle in der zweiten Liste nicht.
    Wende das Verfahren auf den linken Teilbaum, die erste Liste und die Liste mit Merkmalen an.
    Wende das Verfahren auf den rechten Teilbaum, die zweite Liste und die Liste mit Merkmalen an.
      

Lösung – trainierte Bäume A und B

Baum A (links: ja, rechts: nein):

Baum B (links: ja, rechts: nein):

Baum auf neue Daten anwenden

Folgende neue Daten werden nun auf die Bäume angewendet:

Download der neuen Daten in Kartenform

Download der neuen Daten im CSV-Format

Auswertung, Qualität

Folgendes Ergebnis bringen die beiden Bäume mit den neuen Daten:

Folgende Erkenntnisse erlangt man:

Bemerkung

Die Beispieldaten sind so gewählt, dass es nicht passieren kann, dass Datensätze widersprüchlich sind, indem zwei Daten dieselben Merkmalsausprägungen haben, aber zu unterschiedlichen Entscheidungen führen.

Ebenso wurde nicht diskutiert, mit welchem Merkmal man beginnen sollte und welchen Unterschied das macht.

Genauso wenig mussten die Schwellwerte für die Merkmale selbst ermittelt werden.

All dies lässt sich aber natürlich auch an diesem Beispiel umsetzen.

Umsetzung in Java-Programm

In folgendem Programm ist die Erzeugung und Anwendung des Entscheidungsbaumes umgesetzt. Für dieses Programm gelten allerdings auch die Unter "Bemerkung" gemachten Einschränkungen.

Java-Quelltext

Download Java-Quelltext

Zum Starten der Anwendung die Datei BaumGui.java compilieren und ausführen. Dann zunächst die CSV-Datei mit den Trainingsdaten einlesen lassen, den Baum zeichnen und anschließend für die neuen Daten aus der entsprechenden CSV-Datei die Entscheidung zur Studienzulassung durch den Baum treffen lassen.