Überblick über den Entscheidungsbaum in R

Ein Entscheidungsbaum in r ist eine Form des überwachten Lernens, mit dem die Klassifizierungs- und Regressionsprobleme behoben werden. Sie sind ein starker Algorithmus für maschinelles Lernen, um mit sehr komplexen Datensätzen zu arbeiten. Das Kernkonzept hinter dem Entscheidungsbaum besteht darin, den gegebenen Datensatz zu teilen. Um diesen Artikel durchzugehen, wird empfohlen, grundlegende Lernkonzepte für den Entscheidungsbaum-Algorithmus zu verwenden.

Entscheidungsbaum in R

Um mit einem Entscheidungsbaum in R oder in Laienform zu arbeiten, muss mit großen Datenmengen gearbeitet werden, und die direkte Verwendung integrierter R-Pakete erleichtert die Arbeit. Ein Entscheidungsbaum ist ein nicht lineares Annahmemodell, das zur Klassifizierung der Beziehungen eine Baumstruktur verwendet. Der Entscheidungsbaum in R verwendet zwei Arten von Variablen: kategoriale Variablen (Ja oder Nein) und kontinuierliche Variablen. Die Terminologien des Entscheidungsbaums bestehen aus Wurzelknoten (bilden eine Klassenbezeichnung), Entscheidungsknoten (Unterknoten), Endknoten (nicht weiter aufteilen). Das einzigartige Konzept hinter diesem Ansatz des maschinellen Lernens besteht darin, die angegebenen Daten in Klassen zu klassifizieren, die einen Ja- oder Nein-Fluss bilden (If-else-Ansatz) und die Ergebnisse in einer Baumstruktur darstellen. Der im Entscheidungsbaum in R verwendete Algorithmus ist der Gini-Index, Informationsgewinn, Entropie. Es stehen verschiedene Pakete zur Verfügung, um einen Entscheidungsbaum in R: rpart (rekursiv), party, random Forest, CART (Klassifizierung und Regression) zu erstellen. Es ist ziemlich einfach, einen Entscheidungsbaum in R zu implementieren.

Zur übersichtlichen Analyse wird der Baum in Gruppen unterteilt: ein Trainingsset und ein Testset. Die folgende Implementierung verwendet ein Auto-Dataset. Dieser Datensatz enthält 1727 obs und 9 Variablen, mit denen der Klassifikationsbaum erstellt wird. In diesem Artikel können Sie ein "Party" -Paket zusammenstellen. Die Funktion create () liefert mit der Plotfunktion bedingte Bäume.

Implementierung mit R

Das Ziel besteht darin, einen Fahrzeugdatensatz zu untersuchen, um vorherzusagen, ob ein Fahrzeugwert hoch / niedrig und mittel ist.

i) Daten vorbereiten

Pakete installieren und Bibliotheken laden

Dieses Modul liest den Datensatz als vollständigen Datenrahmen und die Struktur der Daten wird wie folgt angegeben:

data<-car // Reading the data as a data frame
str(data) // Displaying the structure and the result shows the predictor values.

Ausgabe:

Determining Factordata$vhigh View(car)
> data<-car

ii) Partitionieren von Daten

Aufteilen der Daten anhand von Trainingsdatensätzen. Ein Entscheidungsbaum ist in Unterknoten unterteilt, um eine gute Genauigkeit zu erzielen. Die Komplexität wird durch die Größe des Baums und die Fehlerrate bestimmt. Hier Reproduzierbarkeit tun und eine Reihe von Zeilen generieren.

set. Seed (1234)
dt<-sample (2, nrow(data), replace = TRUE, prob=c (0.8, 0.2))
validate<-data(dt==2, )

Abb : Datenwerte anzeigen

Als Nächstes wird der Datenwert auf 2 gesetzt

validate<-data(dt==2, )

Abb : Anzeige der R-Konsole in R Studio

Erstellen eines Entscheidungsbaums in R mit der Paketgruppe

  • Klicken Sie auf package-> install -> party. Hier haben wir die ersten drei Eingaben aus der Stichprobe von 1727 Beobachtungen an Datensätzen entnommen. Erstellen eines Modells zur Vorhersage von Hoch, Niedrig und Mittel unter den Eingaben.

Implementierung:

library(party)
tree<-ctree(v~vhigh+vhigh.1+X2, data = train)
tree

Ausgabe:

Diagramme mit Ctree

Prognose:

Prob erzeugt Wahrscheinlichkeit bei der Wertung,

Implementierung:

predict(tree, validate, type="prob")
predict(tree, validate)

(1) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(12) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(23) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(34) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(45) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(56) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(67) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(78) vhigh vhigh vhigh hoch hoch hoch hoch hoch hoch hoch hoch

(89) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(100) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(111) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(122) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(133) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(144) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(155) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(166) hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch hoch

(177) hoch hoch hoch hoch med med med med med med med

(188) med med med med med med med med med med med

(199) med med med med med med med med med med med

(210) med med med med med med med med med med med

(221) med med med med med med med med med med med

(232) med med med med med med med med med med med

(243) med med med med med med med med med med med

(254) Med. Med. Med. Med. Med. Med. Low Low

(265) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(276) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(287) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(298) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(309) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(320) niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig niedrig

(331) niedrig niedrig niedrig niedrig niedrig

Niveaus: hoch niedrig med vhigh

Entscheidungsbaum mit rpart

Vorhersage der Klasse mit der Funktion rpart () für die Klassenmethode. rpart () verwendet den Gini-Index, um die Knoten aufzuteilen.

library(rpart)
tr<-rpart (v~vhigh+vhigh.1+X2, train)
library (rpart. plot)
rpart. plot(tr)

rpart.plot(tr, extra=2)

Diese Linie stellt den Baum dar und zeigt die Wahrscheinlichkeit an, mit der zusätzliche Merkmale für Satz 2 und das erzeugte Ergebnis erzeugt werden.

Fehlklassifizierung

Die Fehlerrate verhindert eine Überanpassung.

tbl<-table(predict(tree), train $v)
print(tbl)
tepre<-predict(tree, new=validate)

Ausgabe:

drucken (tbl)

hoch niedrig med vhigh

hoch 332 0 0 0

niedrig 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Fazit

Der Entscheidungsbaum ist eine zentrale Herausforderung in R, und die Stärke des Baums besteht darin, dass er im Vergleich zu anderen Modellen leicht zu verstehen und zu lesen ist. Sie werden häufig bei datenwissenschaftlichen Problemen eingesetzt. Mit diesem Tool wird die Hierarchie der Entscheidungen erstellt, die in der statistischen Analyse implementiert sind. Statistische Kenntnisse sind erforderlich, um die logischen Interpretationen des Entscheidungsbaums zu verstehen. Wie wir gesehen haben, ist der Entscheidungsbaum leicht zu verstehen und die Ergebnisse sind effizient, wenn weniger Klassenbeschriftungen vorhanden sind, und der andere Nachteil besteht darin, dass die Berechnungen für Klassenbeschriftungen komplexer werden. Mit diesem Beitrag können Sie prädiktive und baumbasierte Lernmodelle erstellen.

Empfohlene Artikel

Dies ist eine Anleitung zum Entscheidungsbaum in R. Hier diskutieren wir die Einführung, Verwendung und Implementierung von R. Sie können auch unsere anderen vorgeschlagenen Artikel durchgehen, um mehr zu erfahren -

  1. Was ist ein binärer Baum in Java?
  2. R Programmiersprache
  3. Was ist Visual Studio-Code?
  4. Einführung in das Liniendiagramm in R
  5. Leitfaden zur Binomialverteilung in R

Kategorie: