Skip to content

JSTranquility/CorAI

Repository files navigation

CorAI - Asistente de Salud Cardíaca con IA Local

CorAI es una aplicación web interactiva que utiliza Machine Learning (Random Forest) para evaluar el riesgo de enfermedades cardiovasculares. Todo se ejecuta 100% local, sin necesidad de internet ni envío de datos a servidores externos.

Caracteristicas

  • Cuestionario interactivo vía chat (Modo Rápido con 6 preguntas o Modo Experto con 13 parámetros clínicos)
  • Predicción en tiempo real usando un modelo Random Forest entrenado con el dataset Heart Disease
  • Reporte clínico detallado con recomendaciones personalizadas
  • Asistente IA opcional con Ollama (genera reportes conversacionales en español)
  • Visualizaciones de análisis exploratorio de datos (EDA)
  • Panel de métricas del modelo (accuracy, matriz de confusión, curva ROC, etc.)
  • Interfaz moderna con diseño responsivo y modo oscuro

Requisitos

  • Python 3.10+
  • pip

Instalacion

# Clonar el repositorio
git clone https://github.com/tu-usuario/heartDesease.git
cd heartDesease

# Crear y activar entorno virtual (opcional pero recomendado)
python -m venv .venv
.venv\Scripts\activate  # Windows

# Instalar dependencias
pip install -r requirements.txt

Entrenar el modelo

python train_model.py

Esto generará heart_model.pkl con el clasificador Random Forest entrenado.

Ejecutar la aplicacion

python server.py

Luego abre http://localhost:5000 en tu navegador.

Modo con IA (Ollama)

Para habilitar reportes generados por IA:

  1. Instala Ollama
  2. Descarga un modelo: ollama pull llama3.2:1b
  3. Reinicia server.py — detectará Ollama automáticamente

Estructura del proyecto

heartDesease/
├── server.py              # API Flask (predicción y chat)
├── train_model.py         # Entrenamiento del modelo
├── app.py                 # Visualización EDA (edad vs colesterol)
├── analisis_sexo.py       # Análisis por sexo
├── metricas_modelo.py     # Métricas y visualizaciones del modelo
├── heart_model.pkl        # Modelo entrenado
├── requirements.txt       # Dependencias
├── dataset/
│   └── heart.csv          # Dataset (1025 registros, 14 variables)
├── static/
│   ├── index.html         # Frontend
│   ├── app.js             # Lógica del chat interactivo
│   └── style.css          # Estilos
└── .gitignore

Dataset

El dataset contiene 1,025 registros clínicos con 14 variables:

Variable Descripción
age Edad en años
sex Sexo (0 = Mujer, 1 = Hombre)
cp Tipo de dolor de pecho
trestbps Presión arterial en reposo (mmHg)
chol Colesterol sérico (mg/dl)
fbs Azúcar en ayunas > 120 mg/dl
restecg Resultados ECG en reposo
thalach Frecuencia cardíaca máxima
exang Angina inducida por ejercicio
oldpeak Depresión ST inducida
slope Pendiente del ST
ca Vasos principales coloreados
thal Resultado de Talio
target 0 = Sano, 1 = Enfermedad cardíaca

Metricas del modelo

Métrica Valor
Accuracy ~99%
Precision ~99%
Recall ~99%
F1-Score ~99%
AUC-ROC ~1.00

Ejecuta metricas_modelo.py para ver las métricas actualizadas.

Privacidad

Todos los cálculos se realizan localmente. No se envía información a servidores externos. El modelo y los datos nunca abandonan tu computadora.

Aviso

Esta herramienta es solo con fines educativos e informativos. No reemplaza la opinión de un profesional de la salud. Consulta siempre a un médico para diagnóstico y tratamiento.

Licencia

MIT

About

Un asistente virtual interactivo que utiliza un modelo de Machine Learning (Random Forest) entrenado con 1,025 registros clínicos para evaluar la probabilidad de riesgo cardiovascular.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors