Applied Mathematics">
MUAVDM TIA PER9191 Tema03
MUAVDM TIA PER9191 Tema03
MUAVDM TIA PER9191 Tema03
Óscar García
ÁRBOLES DE
DECISIÓN
ÁRBOL DE DECISIÓN
Fuente: https://bookdown.org/content/2031/arboles-de-decision-parte-i.html
► Ventajas
– Fáciles de comprender y mapear a reglas.
– Trabajan con conjuntos de datos tanto numéricos como nominales.
– Trabajan con datos multidimensionales.
– No requieren conocimiento en un dominio dado ni establecer parámetros.
– Útiles para exploración de datos: identifica variables importantes.
– Método no paramétrico: sin suposiciones.
► Desventajas
– Los atributos de salida deben ser categorías: pérdida de información al
categorizar variables continuas.
– Sobreajuste.
– No se permiten múltiples atributos de salida.
– Si los datos son numéricos, los árboles pueden resultar muy complejos.
– Inestables: pequeños cambios en los datos pueden cambiar el árbol
notablemente.
del árbol.
► Los criterios de decisión son diferentes para árboles de
clasificación y regresión.
► La creación de subnodos incrementa la homogeneidad
CART, C4.5
Índice de Gini
Chi Cuadrado
Entropía
Reducción de la varianza
► Problemas de regresión.
► Utiliza la varianza para escoger el criterio de división.
► La población se divide en función de la varianza más
baja.
Ambiente
V(A) = {soleado,
PARA CADA valor V de A nublado, lluvioso}
Ambiente
Humedad
alta normal
PARA V = alta
P7 Siendo Ev el subconjunto de elementos en E con valor V en el atributo A.
Retornar
No
alta normal
No
Retornar
Humedad
alta normal
No Sí
alta normal
Nodo retornado
No Sí
Humedad
alta normal
No Sí
Ambiente
Humedad …
alta normal
No Sí
Retornar
Sí
Humedad
Sí
alta normal
No Sí
Ambiente
v = soleado
Ev = Esoleado= 2 Sí en Ev 3 No en Ev
{E1, E2, E8,
E9, E11}
Entropia(Esoleado) = - 2/5 log 2/5 - 3/5 log 3/5
= 0,9709
v = nublado
Ev = Enublado= 4 Sí en Ev 0 No en Ev
{E3, E7, E12,
E13} Entropia(Enublado) = - 4/4 log 4/4 - 0 log 0
=0
v = lluvioso
Ev = Elluvioso= 3 Sí en Ev 2 No en Ev
{E4, E5, E6,
E10, E14} Entropia(Elluvioso) = - 3/5 log 3/5 - 2/5 log 2/5
= 0,9709
► Bías Inductivo
– ¿En qué se basan los algoritmos para generalizar el árbol de
decisión? Es decir, para considerar que el árbol clasificará
correctamente instancias no utilizadas en la etapa de
aprendizaje.
– Conjunto de todos los Factores que permiten Realizar y
Seleccionar las Hipótesis más adecuadas.
► Bías Inductivo en ID3
– Preferencia por árboles cortos frente a largos.
– Preferencia por árboles que sitúan los atributos de mayor.
ganancia de información cerca de la raíz.
– El preferir árboles cortos puede mejorar la generalización, puesto
que hay hipótesis complejas que encajan muy bien con los datos
de entrenamiento pero que no generalizan correctamente datos
futuros.
Técnicas de Inteligencia Artificial – Óscar García 41
Entrenamiento y validación
Fuente: https://bookdown.org/content/2031/arboles-de-decision-parte-i.html#conceptos-introductorios
Fuente: https://bookdown.org/content/2031/arboles-de-decision-parte-i.html#conceptos-introductorios
► Sobreajuste - Overfitting
Fuente: https://bookdown.org/content/2031/arboles-de-decision-parte-i.html#conceptos-introductorios
► Pospoda de reglas
– Generación del árbol de decisión a partir de los datos de
entrenamiento.
– Conversión del árbol en un conjunto de reglas.
– Poda cada regla eliminando las condiciones en el antecedente que
suponen mejorar la precisión en la clasificación.
– Ordenar las reglas en función de la precisión estimada
• Las futuras instancias se clasifican en función de la primera regla
que satisfacen, ordenadas en ese orden.
► Características:
– Método de aprendizaje de árboles de decisión basado en ID3
– Se puede aplicar a datos con atributos de valores tanto
discretos como continuos
– Puede trabajar con datos ausentes
– Método de selección de atributos: medida de proporción de
ganancia (basada en la ganancia de información y
proporciona mejores resultados si los atributos tienen muchos
posibles valores)
► Realiza una poda tras la generación del árbol (pospoda) con el fin
de mejorar la generalización del modelo: elimina nodos que al
podar mejoran la precisión en la clasificación.
Fuente: https://bookdown.org/content/2031/arboles-de-decision-parte-i.html#conceptos-introductorios
Fuente: https://keepler.io/es/2021/03/la-dicotomia-sesgo-varianza-en-modelos-de-machine-learning/
Fuente: https://keepler.io/es/2021/03/la-dicotomia-sesgo-varianza-en-modelos-de-machine-learning/
► Matriz de confusión:
2 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑥 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑
𝐹1 𝑆𝑐𝑜𝑟𝑒 =
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 + 𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑
– CART optimizado
– Aunque sólo para variables numéricas
► pip install matplotlib
► pip install graphviz
– https://www.graphviz.org/download/
– También será necesario incluir la ruta al ejecutable en nuestro PATH, por ejemplo, en Windows 10 esto
se realizaría en Panel de Control → Sistema → Configuración avanzada del sistema → Variables de
entorno, y ahí editar la variable PATH añadiendo, por ejemplo:
url = "https://www.openml.org/data/get_csv/61/dataset_61_iris.arff"
# La siguiente línea no es necesaria usando esta fuente, pues ya incluye la
# cabecera
#names = ['sepallength', 'sepalwidth', 'petallength', 'petalwidth', 'class']
#dataset = read_csv(url, names=names)
dataset = read_csv(url)
# mostramos la "forma", debería haber 150 entradas con 5 atributos cada una
print(dataset.shape)
#> (150 , 5)
scatter_matrix(dataset)
pyplot.show()
# Cargamos el dataset
url = "https://www.openml.org/data/get_csv/61/dataset_61_iris.arff"
dataset = read_csv(url)
# Cargamos el dataset
url = "https://www.openml.org/data/get_csv/61/dataset_61_iris.arff"
dataset = read_csv(url)
graph = pydotplus.graph_from_dot_data(data)
graph.write_png('mydecisiontree.png')
img = pltimg.imread('mydecisiontree.png')
imgplot = plt.imshow(img)
plt.show()
P (positivos):
instancias
de la clase yes
TP (Verdaderos positivos):
Instancias positivas (de la clase yes) clasificadas
correctamente como positivas (clasificadas como yes) Fuente: Elena Verdú, UNIR
N (negativos):
instancias de la clase no
TN (Verdaderos negativos):
instancias negativas (de la clase no) clasificadas
correctamente como negativas (clasificadas como no) Fuente: Elena Verdú, UNIR
TP + TN
TP FN P = TP + FN
FP TN P+N
N = TN + FP
TP: Verdadero positivo → clasificado de forma verdadera (correcta) como positivo,
FP + FN
por tanto era un positivo y se clasifica como positivo.
FN: Falso negativo → clasificado de forma falsa (incorrecta) como negativo,
por tanto era un positivo y se clasifica como negativo.
TN: Verdadero negativo → clasificado de forma verdadera (correcta) como negativo, P+N
por tanto era un negativo y se clasifica como negativo.
FP: Falso positivo → clasificado de forma falsa (incorrecta) como positivo,
por tanto era un negativo y se clasifica como positivo. Fuente: Elena Verdú, UNIR
TP
TP TP + FP
FP
TP (Verdaderos positivos):
Instancias positivas (de la clase yes) clasificadas correctamente (clasificadas como yes)
FP (Falsos positivos):
Instancias negativas (de la clase no) clasificadas incorrectamente (clasificadas como yes)
Fuente: Elena Verdú, UNIR
TP
TP
TN
TN
FP
FP
TP
FP
FP
TP
► Exactitud
TP FN P = TP + FN
FP TN N = TN + FP
► Tasa de error
TP FN P = TP + FN
FP TN N = TN + FP