El conjunto de datos Car Evaluation fue desarrollado usando un modelo jerárquico de decisión diseñado para demostrar el sistema experto DEX. Este modelo evalúa la acepabilidad de un auto basándose en 6 aspectos fundamentales:
El objetivo es poder clasificar los autos en una de las siguientes categorías:
En esta base de datos podemos encontrar 1.728 observaciones distribuidas en 7 variables de tipo categóricas.
Variables X:
buying: Low, med, high, vhigh
maint: Low, med, high, vhigh
doors: 2, 3, 4, 5more
persons: 2,4, more
lug_boot: Small, med, big, low, med high
safety: Small, med, big, low, med high
Variables Y:
Class (aceptabilidad)
car_data <- read.csv(file.choose(), header = FALSE, stringsAsFactors = TRUE)
# Asignar nombres apropiados a las columnas
colnames(car_data) <- c("buying", "maint", "doors", "persons", "lug_boot", "safety", "class")
# Verificar dimensiones del dataset
dim(car_data) # [1] 1728 7
## [1] 1728 7
# Ver estructura del dataset
str(car_data)
## 'data.frame': 1728 obs. of 7 variables:
## $ buying : Factor w/ 4 levels "high","low","med",..: 4 4 4 4 4 4 4 4 4 4 ...
## $ maint : Factor w/ 4 levels "high","low","med",..: 4 4 4 4 4 4 4 4 4 4 ...
## $ doors : Factor w/ 4 levels "2","3","4","5more": 1 1 1 1 1 1 1 1 1 1 ...
## $ persons : Factor w/ 3 levels "2","4","more": 1 1 1 1 1 1 1 1 1 2 ...
## $ lug_boot: Factor w/ 3 levels "big","med","small": 3 3 3 2 2 2 1 1 1 3 ...
## $ safety : Factor w/ 3 levels "high","low","med": 2 3 1 2 3 1 2 3 1 2 ...
## $ class : Factor w/ 4 levels "acc","good","unacc",..: 3 3 3 3 3 3 3 3 3 3 ...
# Ver un resumen general
summary(car_data)
## buying maint doors persons lug_boot safety
## high :432 high :432 2 :432 2 :576 big :576 high:576
## low :432 low :432 3 :432 4 :576 med :576 low :576
## med :432 med :432 4 :432 more:576 small:576 med :576
## vhigh:432 vhigh:432 5more:432
## class
## acc : 384
## good : 69
## unacc:1210
## vgood: 65
# Ver los primeros registros
head(car_data)
## buying maint doors persons lug_boot safety class
## 1 vhigh vhigh 2 2 small low unacc
## 2 vhigh vhigh 2 2 small med unacc
## 3 vhigh vhigh 2 2 small high unacc
## 4 vhigh vhigh 2 2 med low unacc
## 5 vhigh vhigh 2 2 med med unacc
## 6 vhigh vhigh 2 2 med high unacc
# Tablas de frecuencia por variable
table(car_data$buying)
##
## high low med vhigh
## 432 432 432 432
table(car_data$maint)
##
## high low med vhigh
## 432 432 432 432
table(car_data$doors)
##
## 2 3 4 5more
## 432 432 432 432
table(car_data$persons)
##
## 2 4 more
## 576 576 576
table(car_data$lug_boot)
##
## big med small
## 576 576 576
table(car_data$safety)
##
## high low med
## 576 576 576
table(car_data$class)
##
## acc good unacc vgood
## 384 69 1210 65
# Proporción de clases
prop.table(table(car_data$class))
##
## acc good unacc vgood
## 0.22222222 0.03993056 0.70023148 0.03761574
El objetivo del análisis es estudiar como diferentes aspectos de un auto influyen en su aceptabilidad. Dado que las variables explicativas son categóricas ordinales y la variable independiente también es categórica (nominal), se seguirá la siguiente estrategia metodológica:
Se usarán tablas de contingencia y gráficos
de barras para explorar la relación entre cada variable
explicativa y la variable objetivo. Esto permite identificar patrones
visuales o asociaciones fuertes (por ejemplo, si
safety = high está frecuentemente asociado a
vgood)
Preprocesamiento de los datos:
Modelo de clasificación:
Visualización del árbol:
Como se mencionó anteriormente en la metodología, se buscaa analizar que aspectos propios de un auto influyen en su aceptabilidad respecto a lo que busca un comprador. Por ejemplo: la pregunta que decidimos resolver en este trabajo es: ¿Qué combinación de características en un auto está mas asociada con una alta aceptabilidad por parte del comprador?
Esta pregunta nos gustó debido a que se relaciona mucho con los anteriores trabajos que hemos realizado, analizando cual variable X afecta mas la variable Y.