El Machine Learning es un campo fundamental de la Inteligencia Artificial que se centra en el desarrollo de modelos computacionales capaces de aprender
Curso de Introducción al Machine Learning para las Ciencias de la Salud – Versión Verano 2024
El Machine Learning es un área de la Inteligencia artificial que desarrolla modelos computacionales que tienen la capacidad de ajustarse automáticamente a un conjunto de datos o descubrir patrones dentro de ellos. La aplicación de Machine Learning a las ciencias de la salud es una área de alto impacto que puede tener beneficios directos para la salud de las personas.
Cátedras
1.1 - Aprendizaje automático
2.1
¿Qué tan común es tu cumpleaños?
Estar de cumpleaños el mismo día que un amigo puede ser entretenido o ¿quizás no?. En este artículo responderemos la pregunta sobre si existen
Ciencia de Datos en Salud
La ciencia de datos es el campo que utiliza métodos, algoritmos y procesos para extraer información desde fuentes de datos. Aquí se unifican los
Prediciendo las Atenciones de Urgencia en Chile
La predicción es la ciencia de estimar situaciones de incertidumbre, donde en este caso lograremos predecir el futuro utilizando datos de series temporales anteriores.
Los datos que utilizaremos datos del Departamento de Estadísticas e información en salud del Ministerio de Salud de Chile, estos datos están libremente disponibles en el sitio web del Departamento. Utilizaremos datos desde el año 2017 para predecir el mes de Marzo y Abril del año 2020.
El caso de estudio que analizaremos son los casos totales de Chile para atenciones de urgencia respiratoria.
Además de la biblioteca Prophet utilizaremos Pandas para manejar el conjunto de datos y Matplotlib para la visualización.
Importamos las bibliotecas necesarias:
import pandas as pd
from fbprophet import Prophet
import matplotlib.pyplot as plt
Primero cargaremos el conjunto de datos en memoria:
df = pd.read_csv('2017-today.csv', sep=';')
Convertimos la fecha del punto de datos en un objeto Datetime de Pandas y el valor en un Integer:
df['ds']
Visualizando la Lista de Espera Chilena
Accede a la plataforma de visualización.
La falta de estructura en los textos clínicos dificulta la extracción e integración de la información,
Generador Automático de Diagnósticos
Puedes probar el generador acá.
La narrativa médica es un tema muy estudiado en estos momentos dado el gran advenimiento de la Inteligencia Artificial en la sociedad en general.
Lograr entender cuál es el significado de una narrativa médica es el objetivo principal del Procesamiento de Lenguaje Natural en Medicina, si llegamos a una perfecta representación sistematizada de la información que escriben los profesionales de la salud en las distintas fuentes de datos clínicos, muchos problemas podrían solucionarse en el área de la salud, desde la justa priorización de un paciente dentro de la temida lista de espera hasta la correcta distribución de recursos dentro de un establecimiento de salud.
La narrativa médica o mejor dicho el lenguaje en general no tiene una distribución al azar, sino que podemos encontrar patrones fácilmente de manera casi intuitiva, por ejemplo al explorar diagnósticos nos encontramos con que la palabra caries en la mayoría de los casos está acompañada de palabras que definen más específicamente el diagnóstico, las cuales tienen una distribución predecible, por ejemplo:
Es muy probable que encontremos los siguientes grupos de 2 palabras (bigramas) con mucha frecuencia:
- caries dentinaria
- caries penetrante
Pero que nos encontremos con una frecuencia casi nula los bigramas:
- caries cerebral
- caries pulmonar
Esto quiere decir que dada una palabra de entrada podemos predecir qué palabras le seguirían con mayor probabilidad.
Uno de los métodos que podemos utilizar para modelar este comportamiento son las Cadenas de Markov, en donde establecemos una matriz de probabilidades en donde como filas tenemos cada una de las palabras de nuestro vocabulario y cada uno de los valores de esta fila nos dice con qué probabilidad aparece una siguiente palabra.
Este modelamiento tiene una desventaja, porque sólo podemos predecir la siguiente palabra dado una única palabra anterior, olvidándonos de todo lo que hayamos escrito antes.
Para modelar el lenguaje utilizado en los diagósticos, se extrajeron las frecuencias de todos los bigramas posibles dentro de alrededor de 2 millones de diagnósticos médicos, el desarrollo del modelo se realizó en Python y el código para poder entrenar tus propios modelos o probar el modelo generado con los 2 millones de diagnósticos se encuentra libre pero los datos de entrenamiento no se encuentran disponibles debido a temas bioéticos.
Ejemplo
synthesizer = src.utils.DiagnosticGenerator( # Clase para construir el Generador de diagnósticos. markov_matrix_file
Obtener la Edad de un Individuo desde su RUT
Aplicación web para conocer la edad de una persona y su fecha de nacimiento con su RUT: RUT a Edad y Fecha de Nacimiento
Intuitívamente se sabe que existe una relación entre la edad de una persona y el número correlativo de su RUT, en donde personas que cuentan con una mayor edad, suelen tener un número correlativo de RUT bajo. Para poder probar esta hipótesis se utilizará un método de aprendizaje estadístico básico que nos permitirá inferir la relación existente entre el número correlativo del RUT de la Persona y su edad.
RUT
El Rol Único Nacional, conocido también por el acrónimo RUT, es el número identificatorio único e irrepetible que posee todo chileno, residente o no en Chile, y todo extranjero que permanezca, temporal o definitivamente, con una visa distinta a la visa de turista en dicho país.
El RUT se otorga siguiendo un orden correlativo, por lo tanto es muy posible que una persona con un RUT menor sea de mayor edad, dado que la mayor parte de los RUT proviene de inscripciones de nacimiento.
El RUT consta de dos partes separadas por un guion: el número correlativo y el dígito verificador o DV. El DV consta de un dígito que va del 0 (cero) al 9 (nueve) y la letra K, que se obtiene a partir del correlativo mediante el cómputo de un algoritmo.
Regresión
La Regresión es un conjunto de procesos estadísticos para estimar relaciones entre variables. La regresión nos ayuda a entender cómo cambia una variable en función de otra variable, junto con entender la fuerza de relación entre ellas.
Datos
Se realizaron búsquedas en Google para encontrar documentos que contuvieran los términos edad y rut, estos documentos fueron procesados y se consolidaron todos en un archivo separado por comas.
Método
Se utilizó el lenguaje de programación python bajo los siguientes módulos:
- Pandas: Biblioteca para el manejo y estructuración de datos.
- Numpy: Biblioteca para la realización de cálculos vectoriales.
- Seaborn: Visualización de los resultados.
- Scipy: Conjunto de pruebas y modelos estadísticos.
- Math: Módulo de cálculos matemáticos.
- Datetime: Módulo para interactuar con fechas.
import pandas as pd
import numpy as np
import seaborn as sns
import scipy
import math
import datetime as dt
Se importan los datos y se determinan los tipos de variable.
datos = pd.read_csv("rut.csv",