Descripción general del árbol de decisión en R

Un árbol de decisión en r es una forma de aprendizaje supervisado que se utiliza para rectificar los problemas de clasificación y regresión. Son un algoritmo sólido de aprendizaje automático para trabajar con conjuntos de datos muy complejos. El concepto central detrás del árbol de decisión es dividir el conjunto de datos dado. Para recorrer este artículo, se sugiere tener conceptos básicos de aprendizaje sobre el algoritmo del árbol de decisión.

Árbol de decisión en R

Para trabajar con un árbol de decisiones en R o en términos simples, es necesario trabajar con grandes conjuntos de datos y el uso directo de los paquetes R integrados facilita el trabajo. Un árbol de decisión es un modelo de suposición no lineal que utiliza una estructura de árbol para clasificar las relaciones. El árbol de decisión en R usa dos tipos de variables: variable categórica (Sí o No) y variables continuas. Las terminologías del árbol de decisión que consiste en el nodo raíz (forma una etiqueta de clase), nodos de decisión (subnodos), nodo terminal (no se dividen más). El concepto único detrás de este enfoque de aprendizaje automático es que clasifican los datos dados en clases que forman un flujo sí o no (enfoque if-else) y representan los resultados en una estructura de árbol. El algoritmo utilizado en el Árbol de decisión en R es el Índice de Gini, ganancia de información, Entropía. Hay diferentes paquetes disponibles para construir un árbol de decisión en R: rpart (recursivo), party, Bosque aleatorio, CART (clasificación y regresión). Es bastante fácil implementar un árbol de decisión en R.

Para un análisis claro, el árbol se divide en grupos: un conjunto de entrenamiento y un conjunto de prueba. La siguiente implementación utiliza un conjunto de datos del automóvil. Este conjunto de datos contiene 1727 obs y 9 variables, con las cuales se construye el árbol de clasificación. En este artículo, vamos a crear un paquete de "fiesta". La función crea () da árboles condicionales con la función de trazado.

Implementación usando R

El objetivo es estudiar un conjunto de datos del automóvil para predecir si el valor de un automóvil es alto / bajo y medio.

i) Preparación de datos

Instalar los paquetes y las bibliotecas de carga

Este módulo lee el conjunto de datos como un marco de datos completo y la estructura de los datos se da de la siguiente manera:

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

Salida:

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

ii) Particionar datos

Dividiendo los datos usando conjuntos de datos de entrenamiento. Un árbol de decisión se divide en subnodos para tener una buena precisión. La complejidad está determinada por el tamaño del árbol y la tasa de error. Aquí haciendo reproductividad y generando una serie de filas.

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

Fig : Mostrar valores de datos

Luego, haciendo que el valor de los datos sea 2

validate<-data(dt==2, )

Fig : visualización de la consola R en R Studio

Crear un árbol de decisión en R con la parte del paquete

  • Haga clic en paquete-> instalar -> fiesta. Aquí hemos tomado las primeras tres entradas de la muestra de 1727 observaciones en conjuntos de datos. Crear un modelo para predecir alto, bajo, medio entre las entradas.

Implementación:

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

Salida:

Parcelas con Ctree

Predicción:

El problema genera probabilidad de puntuación,

Implementación:

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 alta alta alta alta alta alta alta alta

(89) alto alto alto alto alto alto alto alto alto alto alto

(100) alto alto alto alto alto alto alto alto alto alto alto

(111) alto alto alto alto alto alto alto alto alto alto alto

(122) alto alto alto alto alto alto alto alto alto alto alto

(133) alto alto alto alto alto alto alto alto alto alto alto

(144) alto alto alto alto alto alto alto alto alto alto alto

(155) alto alto alto alto alto alto alto alto alto alto alto

(166) alto alto alto alto alto alto alto alto alto alto alto

(177) alto alto alto alto med med med med med med med

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

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

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

(221) med 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 med

(254) med med med med med med med med med med low low

(265) baja baja baja baja baja baja baja baja baja baja baja baja

(276) baja baja baja baja baja baja baja baja baja baja baja baja

(287) baja baja baja baja baja baja baja baja baja baja baja baja

(298) baja baja baja baja baja baja baja baja baja baja baja baja

(309) baja baja baja baja baja baja baja baja baja baja baja baja

(320) baja baja baja baja baja baja baja baja baja baja baja baja

(331) bajo bajo bajo bajo bajo

Niveles: alto bajo med vhigh

Árbol de decisión usando rpart

Para predecir la clase usando la función rpart () para el método de clase. rpart () usa la medida del índice de Gini para dividir los nodos.

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

"

rpart.plot(tr, extra=2)

Esta línea traza el árbol y muestra la probabilidad de realizar funciones adicionales para establecer 2 y el resultado producido se proporciona a continuación.

Error de clasificación errónea

La tasa de error evita el sobreajuste.

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

Salida:

imprimir (tbl)

alto bajo med vhigh

alto 332 0 0 0

bajo 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Conclusión

El árbol de decisión es un desafío clave en R y la fortaleza del árbol es que son fáciles de entender y leer en comparación con otros modelos. Están siendo utilizados popularmente en problemas de ciencia de datos. Estas son las herramientas que producen la jerarquía de decisiones implementadas en el análisis estadístico. Se requieren conocimientos estadísticos para comprender las interpretaciones lógicas del árbol de decisiones. Como hemos visto, el árbol de decisiones es fácil de entender y los resultados son eficientes cuando tiene menos etiquetas de clase y la otra parte negativa de ellas es cuando hay más cálculos de etiquetas de clase complejas. Esta publicación hace que uno sea competente para construir modelos de aprendizaje predictivos y basados ​​en árboles.

Artículos recomendados

Esta es una guía para el Árbol de decisiones en R. Aquí discutimos la introducción, cómo usar e implementar R. También puede consultar nuestros otros artículos sugeridos para obtener más información.

  1. ¿Qué es un árbol binario en Java?
  2. Lenguaje de programación R
  3. ¿Qué es el código de Visual Studio?
  4. Introducción al gráfico de líneas en R
  5. Guía de distribución binomial en R

Categoría: