pular para o conteúdo

Uma triagem que dá para discutir

2 min

No PsyPredict, o modelo não bastava: sem explicar o que pesou em cada predição, um número em saúde mental não serve para decidir nada.

Modelos de triagem viram caixa-preta com uma facilidade impressionante: entra um questionário, sai um número, e ninguém sabe o que levou o modelo àquela resposta. Em saúde mental, onde o dado é sensível e a decisão é humana, isso não é um detalhe de implementação — é o problema. O PsyPredict começou como exercício de machine learning e virou, principalmente, um exercício de prestação de contas.

O caminho até o modelo

O projeto está organizado na ordem em que o trabalho acontece, em notebooks numerados: análise exploratória, pré-processamento, treino, ajuste de hiperparâmetros e explicabilidade. A limpeza e a codificação das respostas ficam em src/data_preprocessing.py, o treino em src/train_model.py e a predição em src/predict.py — a ideia é que o notebook seja o caderno e o módulo seja o que roda de verdade.

No treino ficaram dois caminhos comparáveis: Random Forest e regressão logística, ambos com ajuste de hiperparâmetros. Manter os dois foi de propósito. Um modelo mais expressivo serve de hipótese; o mais simples serve de contraponto — quando os dois discordam muito, normalmente o problema está no dado, não no algoritmo.

Explicar é parte do resultado

A explicabilidade entra com SHAP, mostrando a contribuição de cada variável em cada predição. Isso muda a conversa: em vez de "o modelo disse que sim", passa a existir "o modelo disse que sim, e pesou principalmente estas três respostas" — algo que uma pessoa pode contestar. Para um experimento, é a diferença entre um resultado e um argumento.

O projeto sai por três portas, todas empacotadas com Docker Compose: um app Streamlit para explorar caso a caso, uma API FastAPI para uso programático e um dashboard. Se você só pode usar uma, use a que combina com o seu fluxo — a predição é a mesma.

O que isso não é

Não é ferramenta clínica e não substitui avaliação profissional. É um experimento com dados públicos de questionário, publicado com licença e README que descrevem exatamente o que foi feito — inclusive os limites. Num tema desses, a honestidade sobre o alcance vale mais que a métrica.

Código, notebooks e as três interfaces: PsyPredict.