pular para o conteúdo

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.

ano
2025
área
machine learning
estado
experimento publicado
stack
Python · scikit-learn · SHAP · FastAPI · Docker

PsyPredict ver código

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.

a seguir: tbook