Todos los productos
Search
Centro de documentos

Platform For AI:Predicción de enfermedades cardíacas

Última actualización: Sep 10, 2026

Este flujo de trabajo aplica una regresión logística sobre 303 registros reales de pacientes para construir un modelo de predicción de enfermedades cardíacas. Además, analiza cómo se correlacionan los indicadores de las pruebas físicas con este tipo de padecimientos.

Requisitos previos

Procedimiento de minería de datos

image

Predicción de enfermedades cardíacas

  1. Vaya a la página Machine Learning Designer.

    1. Inicie sesión en la PAI console.

    2. En el panel de navegación izquierdo, haga clic en Workspaces. En la página Workspaces, haga clic en el nombre del espacio de trabajo que desea gestionar.

    3. En el panel de navegación izquierdo, elija Model Training > Visualized Modeling (Designer).

  2. Construya la canalización.

    1. En la página Designer, haga clic en la pestaña Preset Templates.

    2. En la sección Heart Disease Prediction de la lista de plantillas, haga clic en Create.

    3. En el cuadro de diálogo Create Pipeline, configure los parámetros. Puede usar la configuración predeterminada.

      El parámetro Data Storage especifica la ruta del bucket de OSS donde se almacenan los datos temporales y los modelos generados durante la ejecución de la canalización.

    4. Haga clic en Confirm.

      La canalización se crea en aproximadamente 10 segundos.

    5. En la lista de canalizaciones, busque la canalización Heart Disease Prediction y haga clic en Open.

    6. Designer construye automáticamente la canalización a partir de la plantilla predefinida.

      Área

      Descripción

      ①

      El preprocesamiento de datos consiste en eliminar el ruido, completar los valores faltantes y transformar los tipos de datos. Dado que cada paciente está sano o padece una enfermedad cardíaca, esta predicción representa un problema de clasificación. Los datos de entrada de esta canalización incluyen 14 columnas de características y una columna objetivo. Para obtener más información sobre los campos, consulte Appendix: Heart disease dataset. Durante el preprocesamiento, los campos de cadena se convierten a tipos numéricos según su significado:

      • Datos binarios: para un campo binario como sex, cuyos valores son female o male, asigne el valor 0 a female y 1 a male.

      • Datos multivalor: para un campo como cp (tipo de dolor torácico), asigne cada tipo a un valor numérico distinto.

      A continuación se muestra un ejemplo de script SQL para el preprocesamiento de datos.

      select age,
      (case sex when 'male' then 1 else 0 end) as sex,
      (case cp when 'angina' then 0  when 'notang' then 1 else 2 end) as cp,
      trestbps,
      chol,
      (case fbs when 'true' then 1 else 0 end) as fbs,
      (case restecg when 'norm' then 0  when 'abn' then 1 else 2 end) as restecg,
      thalach,
      (case exang when 'true' then 1 else 0 end) as exang,
      oldpeak,
      (case slop when 'up' then 0  when 'flat' then 1 else 2 end) as slop,
      ca,
      (case thal when 'norm' then 0  when 'fix' then 1 else 2 end) as thal,
      (case status  when 'sick' then 1 else 0 end) as ifHealth
      from  ${t1};

      ②

      La ingeniería de características incluye derivar nuevas características y escalar las existentes. Esta canalización utiliza primero el componente Type Conversion para convertir las características de entrada al tipo DOUBLE, tal como lo requiere el modelo de regresión logística. Después, el componente Feature Select Runner evalúa el impacto de cada característica en el resultado mediante la entropía de la información y el coeficiente de Gini. Por último, el componente Normalize escala el rango numérico de cada característica al intervalo [0, 1] para eliminar la influencia de las distintas unidades de medida. La fórmula utilizada es result=(val-min)/(max-min).

      ③

      Entrenamiento y predicción del modelo:

      1. El componente Split divide el conjunto de datos en un conjunto de entrenamiento y uno de predicción con una proporción de 7:3.

      2. El componente Binary Logistic Regression entrena el modelo.

        Nota

        Si necesita exportar el modelo como un archivo PMML, seleccione la casilla Generate PMML en la pestaña Field Settings de este componente. Luego, haga clic en un área vacía del lienzo y configure la ruta de almacenamiento de datos de la canalización en la pestaña Pipeline Attributes.

      3. El componente Predicted toma el modelo y el conjunto de predicción como entrada para generar los resultados.

      ④

      Los componentes Confusion Matrix y Evaluate evalúan el modelo.

  3. Ejecute la canalización y consulte el resultado.

    1. Haga clic en image en la parte superior del lienzo.

    2. Una vez que finalice la ejecución de la canalización, haga clic con el botón secundario en el componente Binary Logistic Regression del lienzo y elija Model Options > Export to PMML Files para exportar el modelo entrenado.

    3. Haga clic con el botón secundario en el componente Predicted del lienzo y elija View Data > Output for Prediction para consultar los resultados de la predicción.

  4. Consulte el rendimiento del modelo.

    1. Haga clic con el botón secundario en el componente Evaluate del lienzo y haga clic en Visual Analysis.

    2. En el cuadro de diálogo Evaluate, haga clic en la pestaña Indicator Data para consultar las métricas de evaluación.

      En este ejemplo, las métricas de evaluación y sus valores son los siguientes:

      • KS: 0.7093

      • AUC: 0.9270

      • F1 Score: 0.8409

      • Negative Samples: 51

      • Positive Samples: 40

      Un valor de AUC superior a 0.9 indica un rendimiento predictivo excelente.

    3. Haga clic con el botón secundario en el componente Confusion Matrix del lienzo y haga clic en Visual Analysis.

    4. En el cuadro de diálogo Confusion Matrix, haga clic en la pestaña Summary para consultar estadísticas como la precisión del modelo.

Apéndice: conjunto de datos de enfermedades cardíacas

Esta canalización utiliza un conjunto de datos de código abierto de UCI que contiene información de pruebas físicas de 303 pacientes de un centro médico en Estados Unidos.

Nombre del campo

Tipo

Descripción

age

STRING

Edad del paciente.

sex

STRING

Sexo del paciente. Valores válidos: female o male.

cp

STRING

Tipos de dolor torácico ordenados de mayor a menor intensidad: typical, atypical, non-anginal y asymptomatic.

trestbps

STRING

Presión arterial en reposo.

chol

STRING

Colesterol sérico.

fbs

STRING

Glucosa en sangre en ayunas. Si el nivel de glucosa supera los 120 mg/dl, el valor es true; de lo contrario, es false.

restecg

STRING

Resultados del electrocardiograma en reposo. El script de preprocesamiento usa valores como norm (normal) y abn (anormal).

thalach

STRING

Frecuencia cardíaca máxima alcanzada.

exang

STRING

Angina inducida por el ejercicio. El valor true indica presencia y false indica ausencia.

oldpeak

STRING

Depresión del segmento ST inducida por el ejercicio en relación con el reposo.

slop

STRING

Pendiente del segmento ST del electrocardiograma (ECG), que puede ser down, flat o up.

ca

STRING

Número de vasos principales visualizados mediante fluoroscopia.

thal

STRING

Tipos de anomalías ordenados por gravedad ascendente: norm, fix y rev.

status

STRING

Indica si el paciente está enfermo. El valor buff indica que está sano y sick indica que está enfermo.

Nota

Este conjunto de datos viene integrado en la canalización creada a partir de la plantilla. Para descargarlo u obtener más información, consulte Heart Disease Data Set.

Siguientes pasos

Cuando la canalización genere resultados satisfactorios, despliegue el modelo como un servicio en línea para realizar inference en tiempo real. Para obtener más información, consulte Deploy a model as an online service y PMML-based model deployment.