"O Brasil não é dividido apenas por fronteiras estaduais, mas por perfis de eficiência e vulnerabilidade invisíveis a olho nu."
Este projeto aplica técnicas de Data Science, Machine Learning (K-Means) e Deep Learning (Autoencoders) para mapear a qualidade da saúde pública nos 5.570 municípios brasileiros.
Ao cruzar dados de mortalidade, economia (PIB), saneamento e gestão hospitalar, o sistema ignora as divisões geográficas tradicionais para encontrar "Brasis" semelhantes baseados em dados, além de identificar anomalias estatísticas.
O algoritmo de Clustering identificou um grupo de cidades com PIB per capita altíssimo, mas que falham em converter essa riqueza em bem-estar social, apresentando índices de violência elevados e gestão de saúde mediana. Isso prova que PIB não é sinônimo de saúde.
Identificamos um cluster onde a mortalidade não é causada apenas por pobreza, mas pela ineficiência da Atenção Básica. O alto índice de Internações por Condições Sensíveis à Atenção Primária (ICSAP) mostra que os hospitais estão lotados de pacientes que poderiam ter sido tratados no posto de saúde.
Utilizando uma Rede Neural (Autoencoder) para aprender o "padrão Brasil", detectamos cidades anômalas.
- Caso de Estudo: Lagoa Santa (GO) foi apontada pela IA como uma anomalia estatística (Erro de Reconstrução no Top 1%). A cidade combina porte populacional minúsculo com infraestrutura de saneamento muito boa e economia atípica (turismo), um perfil que a IA considerou "matematicamente improvável" comparado ao resto do país.
O projeto foi dividido em dois notebooks:
- Extração: Coleta automatizada de dados do DATASUS (SIH, SIM, SINASC) e IBGE via API (
pysus,sidrapy). - Tratamento: Limpeza de nulos, normalização de nomes de municípios e cálculo de indicadores (ex: Taxa de Mortalidade por 1.000 nascidos).
- Output: Gera o dataset limpo
DATASET_MESTRE_FINAL.csv.
- Fase 1: Clustering (Não-Supervisionado)
- Algoritmo: K-Means.
- Otimização: Método do Cotovelo (Elbow Method).
- Visualização: Redução de dimensionalidade com PCA (2D).
- Fase 2: Análise Espacial
- Mapeamento dos clusters usando a biblioteca
geobr.
- Mapeamento dos clusters usando a biblioteca
- Fase 3: Detecção de Anomalias (Deep Learning)
- Arquitetura: Autoencoder (Rede Neural Simétrica).
- Lógica: o modelo aprende a comprimir e reconstruir os dados. Cidades com alto "Erro de Reconstrução" (MSE) são flagradas como anomalias.
- Linguagem: Python 3.11+
- Manipulação de Dados: Pandas, NumPy
- Machine Learning: Scikit-learn (KMeans, PCA, Scalers)
- Deep Learning: TensorFlow / Keras (Autoencoders)
- Geoprocessamento: Geobr, Geopandas
- Visualização: Matplotlib, Seaborn
- Python 3.10 ou 3.11.
- VS Code (com extensão Jupyter) ou Jupyter Lab.
É altamente recomendado usar um ambiente virtual para isolar as versões das bibliotecas e evitar conflitos.
No Windows (PowerShell/CMD):
-
Cria o ambiente virtual chamado .venv python -m venv .venv
-
Ativa o ambiente .venv\Scripts\activate
No Linux ou Mac:
-
Cria o ambiente python3 -m venv .venv
-
Ativa o ambiente source .venv/bin/activate
Com o ambiente ativado (você verá (.venv) no terminal), instale as bibliotecas listadas:
pip install -r requirements.txt
O projeto segue um fluxo lógico. Não inverta a ordem.
- Abra o notebook
note0_dataset.ipynb. - Certifique-se de que o Kernel do Jupyter está apontando para o seu ambiente
.venv. - Execute todas as células (
Run All). - Verificação: Ao final, confira se o arquivo
DATASET_MESTRE_FINAL.csvfoi criado com sucesso. - Abra o notebook
note1_IA.ipynb. - Este notebook lerá o CSV gerado no passo anterior.
- Execute as células sequencialmente para:
- Gerar os Clusters (K-Means).
- Visualizar os Mapas.
- Treinar a Rede Neural (Autoencoder).
- Gerar o relatório de Anomalias.
Desenvolvemos uma aplicação web interativa utilizando Streamlit.
- Mapa de Calor Geográfico: Visualização espacial dos 4 Clusters e indicadores de saúde (Mortalidade, Pré-Natal, ICSAP).
- Filtros Dinâmicos: Segmentação por Estado (UF), Faixa Populacional e Perfil Socioeconômico.
Certifique-se de estar no diretório raiz do projeto e com o ambiente virtual ativado:
pip install streamlit plotly
- Abra o terminal.
- Navegue até a pasta onde está o arquivo
dash.py(o diretório 'dashboard'). - Coloque o arquivo
DATASET_CLUSTERIZADO.csvna pasta dashboard. - Execute o comando: streamlit run dash.py
- Erro de "Module not found": Certifique-se de que você instalou o
requirements.txtdentro do ambiente virtual ativado e que o seu Jupyter Notebook está usando o kernel desse mesmo ambiente.