Portfólio / Acadêmico / Diagnóstico de diabetes

FIAP · Fase 1 · Grupo 40

Diagnóstico de diabetes com machine learning

Random Forest com SMOTE e explicação por SHAP para apoiar a triagem de pacientes com risco de diabetes.

  • Python
  • scikit-learn
  • SMOTE
  • SHAP
  • Gradio
acurácia no teste
75,3%
AUC
0,81
recall com SMOTE
57% → 67%

O problema

Um hospital universitário quer apoiar a triagem de pacientes com risco de diabetes usando exames que já fazem parte da rotina. O modelo não substitui o diagnóstico: ele ajuda a equipe a decidir quem atender primeiro.

O que fizemos

  • Análise exploratória da base Pima Indians Diabetes, com tratamento de zeros que na prática são valores ausentes.
  • Balanceamento com SMOTE, porque a base tem bem menos casos positivos do que negativos.
  • Comparação de quatro modelos: regressão logística, KNN, árvore de decisão e Random Forest.
  • Explicabilidade com SHAP e dtreeviz, para mostrar ao médico quais exames pesaram em cada previsão.

Resultado

O Random Forest teve o melhor equilíbrio: 75,32% de acurácia, AUC de 0,81 e F1 de 0,62. Com o SMOTE, o recall subiu de cerca de 57% para 67%. Num cenário de triagem, deixar de identificar um paciente doente custa mais caro do que um alarme falso, então o recall foi o número que mais importou.

Tem um problema de arquitetura, APIs ou IA?

Conte o que você precisa. Respondo pelo e-mail ou pelo LinkedIn.