Así que esto es lo que haría. Dada la respuesta a mi pregunta anterior, creo que tienes algo como lo siguiente. Parece que quieres implementar un tipo de 20 preguntas como enfoque.
Con veinte preguntas, usted tiene respuestas sí/no para que un árbol binario funcione mejor. Sin embargo, puede aplicar capas en opciones de opciones múltiples, pero el usuario elige una opción. Por lo tanto, este algoritmo supone que ha entrenado su árbol con anticipación y que ha sido creado a partir de un conjunto de datos que desea utilizar.
decir, por ejemplo que estamos tratando de hacer un diagnóstico médico para que nuestros datos podrían tener el siguiente aspecto:
Disease Name Head Ache Fever Back Pain Leg Pain Blurry Vision Hearing Loss
Common Cold Yes Yes No No No No
Migraine Yes No No No Yes No
Herpes No Yes No No No No
En este ejemplo, dolor principal, fiebre, dolor de espalda, dolor de piernas, etc, son el influenciadores, y el Nombre de la enfermedad es el objetivo. Cada fila sería un diagnóstico real de un solo paciente por lo que una enfermedad podría repetirse en los datos más de una vez.
- Modifique un algoritmo de recorrido para comenzar desde la raíz.
- Si ha llegado a una hoja, dígale al usuario las posibles respuestas.
- Tome el influencer utilizado para dividir este nodo y preséntelo al usuario y haga la pregunta "Sí/No" (¿Tiene un dolor de cabeza?).
- Ir a la izquierda si el usuario responde Sí.
- Ir derecho si el usuario responde Nº
- Goto Paso 2
En los nodos hoja que tendrá que filas reales que llegaron a ese lugar para que pueda mostrar al usuario diciendo que podría tener uno de estos:
dolor de cabeza migraña Cabeza cortada
prescripción es: bla, bla, bla.
Con 1 millón de personas influyentes tomará un tiempo construir el árbol. Si quisiera reducir eso, podría ser posible usar influenciadores de múltiples valores en lugar de sí/no. Aunque es realmente difícil pensar en 1 millón de preguntas únicas sí/no, incluso para cada condición médica. Una vez que construya el árbol, puede ofrecer tantos diagnósticos como desee.
Nota, esta es una pregunta similar: http://stackoverflow.com/questions/3411279/incremental-decision-tree-c-implementation – Cerin