Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Entscheidungsbaum: Entropie und Informationsgewinn

Nach dieser Lektion: Ich kann mit Entropie und Informationsgewinn die beste Frage zum Teilen von Daten wählen.

Lektion, 60 Min.1 BefehlJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Welche Frage trennt die Daten am besten?

Ein Entscheidungsbaum ist ein Modell, das Daten durch eine Folge von Ja-Nein-Fragen einordnet. Die wichtige Kunst liegt darin, an jeder Stelle die Frage zu wählen, die die Daten am besten trennt.

Eine Bibliothek will vorhersagen, ob ein Buch verspätet zurückkommt. Fragt sie zuerst nach dem Fach oder nach der Leihdauer? Zwei Zahlen, Entropie und Informationsgewinn, geben die Antwort.

Am Ende dieser Lektion

Notiz

Ich kann mit Entropie und Informationsgewinn die beste Frage zum Teilen von Daten wählen.

Schlüsselwörter

BegriffWas er bedeutet
Entscheidungsbaumein Modell aus aufeinanderfolgenden Fragen
Etikettdie Antwort, die vorhergesagt werden soll
Entropieein Maß dafür, wie gemischt die Etiketten sind
Aufteilungdas Zerlegen der Zeilen nach den Werten eines Merkmals
Informationsgewinnum wie viel die Entropie durch eine Aufteilung sinkt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Baum stellt eine Frage nach der anderen

Jede Zeile eines Datensatzes hat Merkmale und ein Etikett. Hier sind es das Fach und die Leihdauer eines Buchs, das Etikett lautet pünktlich oder spät.

Ein Entscheidungsbaum stellt eine Frage zu einem Merkmal und teilt die Zeilen nach der Antwort. Mit jeder Frage soll jede Gruppe einheitlicher werden, bis ein Etikett klar überwiegt.

Die Entropie misst, wie gemischt eine Gruppe ist

Sind alle Bücher einer Gruppe verspätet, ist nichts mehr unklar: Die Entropie ist 0. Sind sie je zur Hälfte spät und pünktlich, ist sie am größten, nämlich 1.

Man rechnet sie aus den Anteilen der Etiketten. Dazu braucht man den Logarithmus zur Basis 2, in Python math.log2. Sie müssen die Formel nicht auswendig kennen, nur ihre Richtung lesen.

Beispiel: Entropie für vier Bücher

Etiketten der GruppeAnteileEntropie
4 spät1 zu 00
3 spät, 1 pünktlich0,75 zu 0,250,811
2 spät, 2 pünktlich0,5 zu 0,51

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Entropie einer halben Mischung

Befehl
docker exec jupyter python3 -c "print(-0.5 * __import__('math').log2(0.5) * 2)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Entropie in Python berechnen

Code: python
import math

# Wie gemischt sind die Etiketten? 0 heißt: alle gleich. 1 heißt: halb und halb.
def entropie(etiketten):
    gesamt = len(etiketten)
    summe = 0
    for e in ["pünktlich", "spät"]:
        anteil = etiketten.count(e) / gesamt
        if anteil > 0:
            summe = summe - anteil * math.log2(anteil)
    return summe

print(round(entropie(["spät", "spät", "spät", "spät"]), 3))
print(round(entropie(["spät", "spät", "pünktlich", "pünktlich"]), 3))
print(round(entropie(["spät", "pünktlich", "pünktlich", "pünktlich"]), 3))
# Probieren Sie sechs Etiketten: eins "spät" und fünf "pünktlich".

Der Informationsgewinn vergleicht vorher und nachher

Der Informationsgewinn einer Frage ist die Entropie vor der Aufteilung, minus die mittlere Entropie danach. Die mittlere Entropie wiegt jede Gruppe nach ihrer Größe.

Bei acht Büchern ist die Entropie 0,954. Teilt man nach der Leihdauer, sinkt sie im Mittel auf 0,405. Der Gewinn ist 0,549.

Beispiel: zwei mögliche Fragen bei acht Büchern

FrageEntropie vorherMittlere Entropie nachherGewinn
Welches Fach?0,9540,9060,049
Welche Leihdauer?0,9540,4050,549

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele wählen die Frage, deren Gruppen am kleinsten sind. Entscheidend ist aber, wie einheitlich die Gruppen sind, gewichtet nach ihrer Größe. Eine Frage, die ein einziges Buch abtrennt, bringt fast nichts. Wählen Sie die Frage mit dem größten Gewinn.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.