PsyPredict
Modelo para estimar necessidade de tratamento em saúde mental a partir de dados de questionário — com explicação do que pesou, não só um número.
- 2025
- machine learning
- experimento publicado
- Python · scikit-learn · SHAP · FastAPI · Docker
o problema
Modelo de triagem vira caixa-preta com facilidade: entra 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 técnico — é o problema.
Antes disso vem o material bruto: respostas de questionário precisam ser limpas e codificadas para que qualquer modelo tenha o que aprender.
a abordagem
O pipeline trata limpeza e codificação das respostas e treina dois caminhos comparáveis — Random Forest e regressão logística — com ajuste de hiperparâmetros. A decisão de manter os dois é de propósito: um serve de contraponto verificável ao outro.
A explicabilidade entra com SHAP, mostrando a contribuição de cada variável na predição. A ideia é que uma triagem possa ser discutida, não apenas aceita.
O projeto sai por três portas: um app Streamlit para explorar caso a caso, uma API FastAPI para uso programático e os notebooks para a análise, tudo empacotado com Docker Compose.
estado hoje
Publicado como experimento no GitHub, com o pipeline de pré-processamento, o treino dos dois modelos, a análise de importância e as três interfaces funcionando em contêiner.