R - Entscheidungsbaum: Ein Anfängerleitfaden

Hallo da draußen, zukünftige Data Scientists! Heute begeben wir uns auf eine aufregende Reise in die Welt der Entscheidungsbäume mit R. Machen Sie sich keine Sorgen, wenn Sie noch nie kodiert haben – ich werde Ihr freundlicher Guide jeden Schritt des Weges. Am Ende dieses Tutorials werden Sie Ihre eigenen Entscheidungsbaum erstellen und sich wie ein echter Data-Wizard fühlen!

R - Decision Tree

Was ist ein Entscheidungsbaum?

Bevor wir uns in den Code stürzen, lassen Sie uns verstehen, was ein Entscheidungsbaum ist. Stellen Sie sich vor, Sie müssen entscheiden, ob Sie joggen gehen oder nicht. Sie könnten sich fragen:

  1. Regnet es?
  2. Habe ich genug Zeit?
  3. Fühle ich mich energiegeladen?

Basierend auf Ihren Antworten treffen Sie eine Entscheidung. Genau das macht ein Entscheidungsbaum – er trifft Entscheidungen basierend auf einer Reihe von Fragen!

Installation der notwendigen R-Pakete

Zuerst müssen wir uns mit den richtigen Werkzeugen ausstatten. In R heißen diese Werkzeuge Pakete. Für unsere Entscheidungsbaum-Abenteuer benötigen wir zwei Hauptpakete: rpart und rpart.plot.

Lassen Sie uns sie installieren:

install.packages("rpart")
install.packages("rpart.plot")

Nun laden wir diese Pakete:

library(rpart)
library(rpart.plot)

Großartig! Sie haben gerade Ihre ersten Schritte im R-Programmieren gemacht. Geben Sie sich selbst einen Applaus!

Erstellung eines einfachen Datensatzes

Nun, da wir unsere Werkzeuge bereit haben, erstellen wir einen einfachen Datensatz, mit dem wir arbeiten können. Stellen wir uns vor, wir versuchen zu vorhersagen, ob jemand Eis cream kaufen wird, basierend auf der Temperatur und darauf, ob es ein Wochenende ist.

# Erstellen eines Datenframes
ice_cream_data <- data.frame(
temperature = c(68, 85, 72, 90, 60, 78, 82, 75, 68, 71),
is_weekend = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0),
buy_icecream = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0)
)

# Daten anzeigen
print(ice_cream_data)

In diesem Datensatz:

  • temperature ist in Fahrenheit
  • is_weekend ist 1 für Wochenende, 0 für Wochentag
  • buy_icecream ist 1, wenn sie Eis cream gekauft haben, 0 wenn nicht

Erstellung unseres ersten Entscheidungsbaums

Nun zur spannenden Phase – lasSEN WIR UNS EINEN ENTSCHEIDUNGSBAUM ERSTELLEN!

# Erstellen des Entscheidungsbaum-Modells
ice_cream_tree <- rpart(buy_icecream ~ temperature + is_weekend,
data = ice_cream_data,
method = "class")

# Den Baum plotten
rpart.plot(ice_cream_tree, extra = 106)

Lassen Sie uns das, was hier passiert, auseinandernehmen:

  1. rpart() ist die Funktion, die wir verwenden, um den Entscheidungsbaum zu erstellen.
  2. buy_icecream ~ temperature + is_weekend sagt R, dass wir buy_icecream basierend auf temperature und is_weekend vorhersagen möchten.
  3. data = ice_cream_data gibt unser Datensatz an.
  4. method = "class" sagt R, dass wir eine Klassifikationsaufgabe durchführen (eine Kategorie vorhersagen).
  5. rpart.plot() erstellt eine visuelle Darstellung unseres Baums.

Wenn Sie diesen Code ausführen, werden Sie ein schönes Baumschema sehen. Jeder Knoten zeigt eine Entscheidungsvorschrift, und die Blätter zeigen die Vorhersagen. Es ist wie ein Flussdiagramm der Eis cream-Entscheidungen!

Verständnis des Baums

Lassen Sie uns unseren Eis cream-Entscheidungsbaum interpretieren:

  1. Der oberste Knoten (Wurzel) zeigt die erste Aufteilung. Es könnte etwas wie "temperature < 76" sein.
  2. Wenn wahr (ja), geht es zur linken Äste; wenn falsch (nein), geht es zur rechten Äste.
  3. Dieser Prozess setzt sich fort, bis er einen Blattknoten erreicht, der die endgültige Vorhersage gibt.

Die Zahlen in den Knoten repräsentieren:

  • Die vorhergesagte Klasse (0 oder 1)
  • Die Wahrscheinlichkeit dieser Klasse
  • Den Prozentsatz der Beobachtungen in diesem Knoten

Vorhersagen treffen

Nun, da wir unseren Baum haben, verwenden wir ihn, um einige Vorhersagen zu treffen!

# Neuen Datensatz erstellen
new_data <- data.frame(
temperature = c(70, 95),
is_weekend = c(1, 0)
)

# Vorhersagen treffen
predictions <- predict(ice_cream_tree, new_data, type = "class")

# Vorhersagen anzeigen
print(predictions)

Dieser Code predicts, ob jemand an einem 70°F-Wochenende und einem 95°F-Wochentag Eis cream kaufen wird.

Modell bewerten

Um zu sehen, wie gut unser Modell abschneidet, können wir eine Verwirrungsmatrix verwenden:

# Vorhersagen auf unseren Originaldaten treffen
predictions <- predict(ice_cream_tree, ice_cream_data, type = "class")

# Verwirrungsmatrix erstellen
confusion_matrix <- table(Actual = ice_cream_data$buy_icecream, Predicted = predictions)

# Verwirrungsmatrix anzeigen
print(confusion_matrix)

# Genauigkeit berechnen
accuracy <- sum(diag(confusion_matrix)) / sum(confusion_matrix)
print(paste("Genauigkeit:", accuracy))

Dies gibt uns einen schnellen Überblick darüber, wie viele Vorhersagen korrekt und falsch waren.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben gerade Ihren ersten Entscheidungsbaum in R erstellt. Von der Installation von Paketen bis hin zu Vorhersagen haben Sie viel Boden gewonnen. Denken Sie daran, Übung macht den Meister, also fürchten Sie sich nicht, mit verschiedenen Datensätzen und Parametern zu experimentieren.

Hier ist eine schnelle Zusammenfassung der Methoden, die wir verwendet haben:

Methode Beschreibung
install.packages() Installiert R-Pakete
library() Geladene installierte Pakete
data.frame() Erstellt ein Datenframe
rpart() Erstellt einen Entscheidungsbaum
rpart.plot() Visualisiert den Entscheidungsbaum
predict() Macht Vorhersagen mit dem Baum
table() Erstellt eine Verwirrungsmatrix

Weitersuchen, weiterlernen und vor allem: Viel Spaß bei der Datenwissenschaft!

Credits: Image by storyset