Aprendizaje supervisado - Árbol de decisión para diagnóstico de enfermedades con Python

Hola, en esta oportunidad voy a mostrar un ejemplo de Aprendizaje Supervisado, para cual usaremos el algoritmo de Árbol de decisión con el lenguaje de programación Python.


¿Qué es el aprendizaje supervisado?
En aprendizaje supervisado es una técnica para deducir una función a partir de datos de entrenamiento, las cuales consisten de pares de objetos (normalmente vectores): una componente del par son los datos de entrada y el otro, los resultados deseados.

Caso práctico:


DIAGNÓSTICO DE ENFERMEDADES


Este tipo de aprendizaje es típicamente utilizado para diagnosticar enfermedades. En la siguiente tabla se muestra una base de datos de un centro médico a modo de ejemplo (el ejemplo solo tiene fines ilustrativos ya que el número de instancias es muy bajo). En la primera fila se muestran los nombres de los atributos. «Número de paciente», «Fiebre», «Dolor de garganta», «Congestión» y «Dolor de cabeza» corresponden a los atributos de entrada y se refieren a los distintos síntomas presentados por los pacientes que han sido diagnosticados de distintas enfermedades. La columna «Diagnóstico» es el atributo de salida o clase, que quiere ser descrito en base a las instancias (datos o atributos de pacientes que ya han acudido a consulta) con el fin de poder predecir el diagnóstico de futuros pacientes en función de los valores de sus atributos de entrada (síntomas).

Número de Paciente Fiebre Dolor de garganta Congestión Dolor de cabeza Diagnóstico
1 Si Si No Si Infección de garganta
2 No No Si No Alergia
3 No No Si Si Resfriado
4 No No Si No Alergia
5 Si Si Si Si Infección de garganta
6 No No Si No Resfriado
7 Si No Si Si Resfriado
8 Si Si No Si Infección de garganta
9 No No Si Si Resfriado

¿Cómo establecer nuestros datos de entrenamiento?
Como ya lo mencionamos normalmente se utiliza vectores, que en programación es un Arreglo (Array), estas contienen información (historial) que se va a procesar para entrenar a nuestro árbol y pueda predecir datos con mayor exactitud a través de datos respaldados.

# 0 = No y 1 = Si
datos_entrenamiento = [
    [1, 1, 0, 1, 'Infección de garganta'],
    [0, 0, 1, 0, 'Alergia'],
    [0, 0, 1, 1, 'Resfriado'],
    [0, 0, 1, 0, 'Alergia'],
    [1, 1, 1, 1, 'Infección de garganta'],
    [0, 0, 1, 0, 'Resfriado'],
    [1, 0, 1, 1, 'Resfriado'],
    [1, 1, 0, 1, 'Infección de garganta'],
    [0, 0, 1, 1, 'Resfriado'],
]

#Síntomas
etiquetas = ["Fiebre",
             "Dolor de garganta",
             "Congestión",
             "Dolor de cabeza",
             "Diagnóstico"]

El ejercicio se encuentra resuelto en el siguiente link:
Ver código completo






Comentarios

  1. ayudame con el codigo no puedo me pìde permiso para entrar a tu archivo

    ResponderBorrar
    Respuestas
    1. jesusivanhidalgo234@gmail,com25 de octubre de 2023, 8:29 p.m.

      me intersa estudiar tu Código para poder implementarlo en sistema experto que estoy desarrollando me serviría de mucho tu ayuda, cuando doy en ver codigo completo me manda a una pagina de gobierno y no me aparece nada relacionado con el codigo

      Borrar
  2. necesito el codigo urgente amigo te lo agrdeceria muchisimo

    ResponderBorrar
  3. Gracias, me sirvió mucho este ejemplo

    ResponderBorrar
  4. GRACIAS MAS PUBLICACIONES Y CURSOS A MI CORREO

    ResponderBorrar
  5. GRACIAS TENDRAS UN EJEMPLO PYTHON MATRICES SAATY AHP PESOS
    MI CORREO TE AGRADECERIA

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Evaluar funciones matemáticas en Java con librería JEP

Cambiar tamaño (redimensionar) imagen en Laravel 8 con librería ImageManagerStatic de Intervention