Bäume

Entscheidungsbäume neigen zu Überanpassung an die Trainingsdaten.

Das liegt daran, dass weitere Entscheidungsknoten angefügt werden, bis diese nur noch eine Klasse von Objekten enthalten.

Einschränkungen

Es gibt unterschiedliche Möglichkeiten die Bäume zu beeinflussen. Die simpelsten sind eine Begrenzung der Tiefe oder der Anzahl an verwendeter Knoten.

Auch die Anzahl an Beispielen pro Knoten kann angehoben werden. So wird verhindert, dass wegen eines potenziell fehlerhaft gelabelten Datums tiefe Unterbäume entstehen.

In diesem Bild wurden Entscheidungsgrenzen nur dann gezogen, wenn sich mindestens drei Datenpunkte in den entsprechenden Bereichen befinden.

Speichern

Modelle können auch als Datei gespeichert und übergeben werden. Dazu verwendet Python die Bibliothek “Pickle”.

import pickle
 
file_name = "Modell.pickle"
pickle.dump(model, open(file_name, "wb"))

In einem anderen Programm kann das Modell entsprechend wieder eingelesen werden

import pickle
 
filename = "Modell.pickle"
model = pickle.load(open(filename, "rb"))
 
model.predict(data) #Kann wie erwartet verwendet werden

Bewertung von Klassifikatoren

Die Güte eines Klassifikators wird mit model.score() ausgegeben und beschreibt den Anteil der korrekt klassifizierten Eingaben.

Bei Unbalancierten Datensätzen ist die Trefferquote alleine jedoch kein gutes Gütemaß

Balancierte Datensätze

Ein Datensatz heißt balanciert, wenn von allen Klassen eine vergleichbare Anzahl Einträge existieren.
Die Verteilung von Kopf und Zahl bei einem Münzwurfexperiment ist balanciert.

Unbalanciert hingegen ist die Verteilung von gültiger und betrügerischer Kreditkartentransaktionen.
Hier liegt das Verhältnis bei ca. zu

Ein Klassifikator der immer gültig zuordnet hätte so eine Trefferquote von , ohne einen einzigen Betrug zu erkennen.

Konfusionsmatrix

Aus diesen Werten lassen sich verschiedene Gütemaße berechnen.

Sensitivität

Auch “True-Positive-Rate” oder “recall” beschreibt den Anteil der korrekt erkannten Gut-Teile

Spezifizität

Auch “True-Negative-Rate” beschreibt den Anteil der korrekt erkannten Schlecht-Teile

Auch die Trefferquote lässt sich leicht ermitteln

Analog lässt sich auch die Fehlerrate bestimmen.

Balancierte Fehlerrate

Sie wird häufig bei stark unbalancierten Datensätzen verwendet. Dabei besteht ihr Wert aus dem Arithmetischen Mittel der einzelnen Fehlerraten.

In diesem Beispiel würde die BER folgendermaßen berechnet:

  1. False Positive:
  2. False Negative:
  3. Mittelwert:

Ensemble Learning

Da einzelne Bäume zu Überanpassung neigen wird eine Reihe unterschiedlicher Bäume erzeugt. Dieser “Wald” entscheidet dann per Mehrheit über das Gesamtergebnis.

Grundsätzlich wird zwischen zwei Varianten unterschieden.
Beim Bagging werden alle Daten gleich wahrscheinlich ausgewählt. Jeder Baum erhält zum Training eine Teilmenge des gesamten Datensatzes.
Beim Boosting werden die Bäume sukzessive trainiert. Daten die von früheren Bäumen öfter falsch klassifiziert werden, tauchen im Training der späteren öfter auf.

Random Forests

Um die Varianz zwischen den einzelnen Bäumen zu steigern werden bei diesem Ansatz zufällige Attribute der Daten für einzelne Bäume ignoriert. Wenn ein Attribut mit großer Entropie wegfällt, wird anhand eines anderen Merkmals entschieden. Die Vorhersage einzelner Bäume wird etwas schlechter, die Entscheidung der Mehrheit profitiert in der Regel.

Bewertung

Vorteile

Keine Vorverarbeitung der Daten notwendig, kann gut als erste Analyse eingesetzt werden.

Keine Probleme mit hochdimensionalen Eingabedaten

Durch die Abstimmungsergebnisse erhält man ein Maß für die “Confidence”

Nachteile

Es ist ein höherer Rechenaufwand erforderlich.

Die Ergebnisse sind nicht so einfach visualisier- oder nachvollziehbar wie bei einzelnen Bäumen

Naiver Bayes

Dieses Klassifikationsverfahren basiert auf Wahrscheinlichtkeiten. Es berechnet für einen neuen Datenpunkt die Wahrscheinlichkeit mit der er zu jeder Klasse gehört und gibt die zurück, bei der die Wahrscheinlichkeit maximal ist.

Um diese neue Messung zu klassifizieren müssen also zwei Wahrscheinlichkeiten berechnet werden:

Durch den Satz von Bayes kann man diese Wahrscheinlichkeit auch folgendermaßen ausdrücken

Da der Nenner unabhängig von der betrachteten Klasse ist und wir nur die relativen Größenverhältnisse der unterschiedlichen Wahrscheinlichkeiten berechnen wollen, kann er ignoriert werden um die Berechnung zu vereinfachen.

Die Wahrscheinlichkeiten für das Auftreten einzelner Klassen können aus den Trainingsdaten abgeschätzt werden.

Falls die Kenngrößen stochastisch Unabhängig von einander sind kann man folgende Vereinfachung durchführen um die Mehrdimensionale Verteilung aufzulösen:

Namensgebend für den Klassifikator ist die Naive Annahme, dass die Variablen immer unabhängig voneinander sind. Ebenfalls wird davon ausgegangen, dass sich die einzelnen Kriterien der Objekte jeweils durch eine Verteilungsfunktion beschreiben lassen.

Bewertung Naiver Bayes

Das Verfahren ist simpel und funktioniert auch mit nur wenigen Trainingsdaten. Auch bei Hochdimensionalen Eingaben ist die Technik anwendbar.
Jedoch sind die getroffenen Annahmen oftmals nicht gegeben, was zu einer Ungenauigkeit der Ergebnisse führt.