Está en la página 1de 2

ARBOLES DE DECISION

-ALGORITMO-

NOMBRE:
Genera_arbol_de_decision.
DESCRIPCIN:
Genera un rbol de decisin a partir de las tuplas de entrenamiento de un conjunto de
datos.
Utiliza un mtodo para crear un nodo se invoca recursivamente mientras no se tengan
solo nodos hoja en el rbol.
Entradas para el mtodo:
Conjunto de tuplas con valor para su atributo de clase.
Lista de atributos regulares.
Mtodo para la seleccin de atributo: procedimiento para determinar el atributo que se
utilizar para crear las particiones que mejor clasifiquen las tuplas.
Condiciones de terminacin.
MTODO:
Crear un nodo.
Si todas las tuplas en el nodo son de la misma clase:
entonces el nodo es una hoja del rbol,
etiquetar el nodo con la clase,
termina el mtodo.
Si la lista de atributos est vaca:
entonces el nodo es una hoja del rbol,
etiquetar el nodo con la clase mayoritaria,
termina el mtodo.
Utilizar el mtodo de seleccin de atributo para hacer una ramificacin.
Etiquetar el nodo con el atributo.
Eliminar el atributo de la lista de atributos.
Si hay condicin de paro:
entonces el nodo es una hoja del rbol,
etiquetar el nodo con la clase mayoritaria,
termina el mtodo.
Para cada categora del atributo:
encontrar las tuplas que satisfacen la categora,
invocar recursivamente el mtodo con las tuplas y el resto de los atributos,
para crear un nuevo nodo.

PSEUDOCDIGO:
n: nodo.
D: Conjunto de tuplas con su clase.
T: Total del tuplas
i: Total de clases en el nodo.
mi: clases en el nodo.
A: Lista de atributos.
atributo Ai Metodo_seleccion_atributo(A);
nodo n Crear_nodo(D, A, Condiciones_de_paro)
{
If (todas las tuplas en D son de la misma clase mi)
{
n es una hoja;
etiqueta de n es mi;
retorna n;
}
if(A == 0) //Lista de atributos vaca.
{
n es una hoja;
etiqueta de n es la clase mayoritaria;
retorna n;
}
Ai = Metodo_seleccion_atributo(A)
A = A Ai;
if(Condiciones de paro)
{
n es una hoja;
etiqueta de n es la clase mayoritaria;
retorna n;
}
else
{
for(para todas las j, j=categoras del atributo Ai)
{
Dj=tuplas que pertenecen a j.
Crear_nodo(Dj, A, Condiciones de paro)
}
}
}

También podría gustarte