Todos os produtos
Search
Central de documentação

Platform For AI:Previsão de doença cardíaca

Última atualização: Sep 11, 2026

Este fluxo de trabalho utiliza regressão logística em 303 registros reais de pacientes para criar um modelo de previsão de doença cardíaca e analisar a correlação entre indicadores de exames físicos e a doença.

Pré-requisitos

Procedimento de mineração de dados

image

Previsão de doença cardíaca

  1. Acesse a página do Machine Learning Designer.

    1. Faça login no PAI console.

    2. No painel de navegação à esquerda, clique em Workspaces. Na página Workspaces, clique no nome do workspace que deseja gerenciar.

    3. No painel de navegação à esquerda, escolha Model Training > Visualized Modeling (Designer).

  2. Construa o pipeline.

    1. Na página do Designer, clique na aba Preset Templates.

    2. Na seção Heart Disease Prediction da lista de modelos, clique em Create.

    3. Na caixa de diálogo Create Pipeline, configure os parâmetros. Use as configurações padrão.

      O parâmetro Data Storage especifica o caminho do bucket do OSS para armazenar dados temporários e modelos gerados durante a execução do pipeline.

    4. Clique em Confirm.

      O pipeline é criado em aproximadamente 10 segundos.

    5. Na lista de pipelines, localize o pipeline Heart Disease Prediction e clique em Open.

    6. O Designer constrói automaticamente o pipeline com base no modelo predefinido.

      Área

      Descrição

      O pré-processamento de dados envolve remoção de ruído, preenchimento de valores ausentes e transformação de tipos de dados. Como cada paciente está saudável ou tem doença cardíaca, a previsão configura um problema de classificação. Os dados de entrada deste pipeline incluem 14 colunas de features e uma coluna alvo. Para mais informações sobre os campos, consulte Appendix: Heart disease dataset. Durante o pré-processamento, campos do tipo string são convertidos para tipos numéricos com base em seu significado:

      • Dados binários: Para um campo binário como sex, cujos valores são female ou male, mapeie 0 para female e 1 para male.

      • Dados multivalorados: Para um campo como cp (tipo de dor no peito), mapeie os tipos para valores numéricos distintos.

      O código a seguir é um exemplo de script SQL para pré-processamento de dados.

      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};

      A engenharia de features inclui a derivação de novas features e o dimensionamento das existentes. Este pipeline utiliza primeiro o componente Type Conversion para converter as features de entrada para o tipo DOUBLE, conforme exigido pelo modelo de regressão logística. Em seguida, o componente Feature Select Runner avalia o impacto de cada feature no resultado usando entropia de informação e o coeficiente de Gini. Além disso, o componente Normalize ajusta a faixa numérica de cada feature para [0, 1] e elimina a influência de diferentes unidades de medida. A fórmula utilizada é result=(val-min)/(max-min).

      Treinamento e previsão do modelo:

      1. O componente Split divide o conjunto de dados em um conjunto de treinamento e um conjunto de previsão na proporção de 7:3.

      2. O componente Binary Logistic Regression treina o modelo.

        Nota

        Para exportar o modelo como arquivo PMML, selecione a caixa de seleção Generate PMML na aba Field Settings deste componente. Depois, clique em uma área em branco da tela e configure o caminho de armazenamento de dados do pipeline na aba Pipeline Attributes.

      3. O componente Predicted usa o modelo e o conjunto de previsão como entrada para gerar resultados.

      Os componentes Confusion Matrix e Evaluate avaliam o modelo.

  3. Execute o pipeline e visualize a saída.

    1. Clique em image na parte superior da tela.

    2. Após a conclusão da execução do pipeline, clique com o botão direito no componente Binary Logistic Regression na tela e escolha Model Options > Export to PMML Files para exportar o modelo treinado.

    3. Clique com o botão direito no componente Predicted na tela e escolha View Data > Output for Prediction para visualizar os resultados da previsão.

  4. Visualize o desempenho do modelo.

    1. Clique com o botão direito no componente Evaluate na tela e clique em Visual Analysis.

    2. Na caixa de diálogo Evaluate, clique na aba Indicator Data para visualizar as métricas de avaliação.

      Neste exemplo, as métricas de avaliação e seus valores são:

      • KS: 0,7093

      • AUC: 0,9270

      • F1 Score: 0,8409

      • Negative Samples: 51

      • Positive Samples: 40

      Um valor de AUC acima de 0,9 indica excelente desempenho preditivo.

    3. Clique com o botão direito no componente Confusion Matrix na tela e clique em Visual Analysis.

    4. Na caixa de diálogo Confusion Matrix, clique na aba Summary para visualizar estatísticas, como a precisão do modelo.

Apêndice: Conjunto de dados de doença cardíaca

Este pipeline utiliza um conjunto de dados open-source da UCI contendo dados de exames físicos de 303 pacientes em uma instituição nos Estados Unidos.

Nome do campo

Tipo

Descrição

age

STRING

Idade do paciente.

sex

STRING

Sexo do paciente. Valores válidos: female ou male.

cp

STRING

Tipos de dor no peito, ordenados do mais doloroso ao menos doloroso: typical, atypical, non-anginal e asymptomatic.

trestbps

STRING

Pressão arterial em repouso.

chol

STRING

Colesterol sérico.

fbs

STRING

Glicemia em jejum. Se o nível de glicose for superior a 120 mg/dl, o valor é true; caso contrário, o valor é false.

restecg

STRING

Resultados eletrocardiográficos em repouso. O script de pré-processamento usa valores como norm (normal) e abn (anormal).

thalach

STRING

Frequência cardíaca máxima atingida.

exang

STRING

Angina induzida por exercício. true indica presença; false indica ausência.

oldpeak

STRING

Depressão do segmento ST induzida por exercício em relação ao repouso.

slop

STRING

Inclinação do segmento ST de um eletrocardiograma (ECG), que pode ser down, flat ou up.

ca

STRING

Número de vasos principais coloridos por fluoroscopia.

thal

STRING

Tipos de problema, em ordem crescente de gravidade: norm, fix e rev.

status

STRING

Indica se o indivíduo está doente. buff indica saudável e sick indica doente.

Nota

Este conjunto de dados está integrado ao pipeline criado a partir do modelo. Para baixar o conjunto de dados ou saber mais sobre ele, consulte Heart Disease Data Set.

Próximas etapas

Depois que o pipeline produzir resultados satisfatórios, implante o modelo como um service online para inferência em tempo real. Para mais informações, consulte Deploy a model as an online service e PMML-based model deployment.