¿Cómo construir un árbol de decisión en Java de código abierto? (En 4 Pasos)

Por g.s. jackson
¿Cómo construir un árbol de decisión en Java de código abierto? (En 4 Pasos)
Stockbyte/Stockbyte/Getty Images

Desde que Sun Microsystems liberó Java como una plataforma de código abierto, las versiones de Sun de los kit de desarrollo (JDK, por sus siglas en inglés) se pueden considerar de código abierto. Debido a esto, los programadores de código abierto pueden utilizar las bibliotecas estándar de Java para cualquier programa. Esto significa que los fundamentos de la programación de Java pueden ir hacia aplicaciones de código abierto o cerrado. Por ejemplo, puedes desarrollar un árbol de decisión de Java muy básico utilizando herramientas gratuitas de Java como el JDK.

Paso 1

Crea una clase Árbol de Decisión (DTree):

import java.io.*;

class DTree{

}

Paso 2

Dentro de la clase DTree, crea una clase Nodo interno para representar los nodos de decisión:

class Node{

String Question = null; String answer = null; Node yes = null; Node no = null }

Paso 3

Establece un esquema de respuestas y preguntas. Para este ejemplo, usa cuatro animales: caballo, cebra, perro y gato. El árbol de decisión hará una serie de preguntas para guiar al usuario a un animal en particular. La primera pregunta es "¿La gente mantiene este animal en la casa?" La respuesta se dividirá en dos nodos basada en un sí o un no como respuesta. Los siguientes nodos hacen una de estas dos preguntas: "¿Tiene rayas este animal?" y "¿Ladra este animal?".

Paso 4

Construye el árbol basado en las preguntas. La primera pregunta va en la cadena "pregunta" del nodo principal, que se conecta con las dos preguntas siguientes basadas en preguntas de "sí" o "no". Los siguientes nodos tienen sus propias preguntas, y su propio conjunto de respuestas:

Node head = new Node(); head.question = "Do people keep this animal in the house?"; Node temp = head.no = new Node();

temp.pregunta= "¿Tiene rayas este animal?"; temp.si = new Node(); temp.yes.respuesta = Cebra"; temp.no.respuesta = "Caballo";

temp = head.si = new Node; temp.pregunta = "¿Ladra este animal?"; temp.si.respuesta = "Perro" temp.no.respuesta = "Gato"