ATIVIDADES INTEGRADORAS · DO DADO À DECISÃO
Construa, trate, proteja e avalie.
Quatro desafios encadeados para praticar uma rede multicamadas, a preparação de dados, a classificação de requisições suspeitas e a leitura crítica das métricas.
ROTEIRO
O percurso proposto
Faça as atividades na ordem. Os links de estudo abrem o conteúdo de apoio já disponível no material.
REDE NEURAL MULTICAMADAS
Implemente uma MLP configurável.
Crie um algoritmo de Perceptron Multicamadas no qual seja possível definir o número de entradas, os neurônios da camada oculta e as saídas. A implementação deve montar pesos e vieses com os tamanhos corretos e treinar a rede por backpropagation.
Requisitos mínimos
- Receber
n_entradas,n_ocultosen_saidas. - Inicializar matrizes de pesos e vieses sem valores fixos de dimensão.
- Implementar ativação, forward pass, função de perda e atualização por backpropagation.
- Separar treino, validação e teste; não medir desempenho no conjunto usado para ajustar pesos.
- Exibir perda por época e uma métrica apropriada ao alvo.
Entrega
Entregue o código, um arquivo de configuração da arquitetura, gráfico de perda e uma breve explicação das escolhas: ativação, taxa de aprendizagem, épocas, critério de parada e métrica.
Teste pelo menos duas arquiteturas e compare erro de validação, não apenas acurácia de treino.
TRATAMENTO DE DADOS
Transforme um dataset “sujo” em dado de treino.
O arquivo fornecido descreve estudantes e o alvo aprovado. Ele contém valores ausentes, duplicata, espaços, categorias escritas de formas diferentes, formatos numéricos incompatíveis e valores fora do intervalo esperado.
Amostra de problemas presentes
| id | idade | horas | frequência | modalidade | nota |
|---|---|---|---|---|---|
| 003 | vazio | 12 | 95 | presencial | 8.9 |
| 006 | 320 | 7 | 83 | Presencial | 6.9 |
| 008 | 23 | 15 | 97 | Híbrido | 9,1 |
| 009 | 20 | 5 | 88 | EAD | 6.4 |
Checklist obrigatório
- Padronize nomes, espaços e categorias.
- Converta valores para o tipo numérico correto.
- Trate
NA,?e células vazias sem usar informação do teste. - Encontre e trate duplicatas, intervalos impossíveis e outliers com uma regra justificada.
- Codifique a modalidade, normalize entradas quando necessário e registre cada transformação.
- Remova
id_alunodas entradas: ele não representa um sinal pedagógico.
CONEXÃO ENTRE AS ATIVIDADES 01 E 02
O algoritmo aprende exatamente a representação que recebe.
Use o dataset limpo como problema de classificação para a MLP. O objetivo é prever aprovado usando idade, horas de estudo, frequência, modalidade e nota de simulado.
SEGURANÇA DEFENSIVA · WAF COM IA
Classifique e bloqueie requisições suspeitas antes do PHP.
O kit fornece a infraestrutura completa em Docker: Nginx na frente, PHP como aplicação protegida, um pequeno serviço de decisão e uma página de teste. A única parte que o aluno altera é o algoritmo em student/model.py.
O que já está pronto
docker-compose.ymlcom Nginx, PHP-FPM e serviço do modelo.- Configuração
auth_requestdo Nginx: uma resposta 403 do modelo para a requisição protegida. - Coleta de atributos da requisição e limiar configurável.
- Página HTML + JavaScript com botão para requisição normal e outra com padrão suspeito, além da visualização da resposta.
- Dataset rotulado de exemplos normais e suspeitos.
Responsabilidade do aluno
Transformar os atributos em um vetor, treinar ou definir a regra/classificador e retornar um risco entre 0 e 1. Escolha o limiar a partir da validação; não use o conjunto de teste para essa decisão.
O exemplo inicial permite tudo. Após o modelo funcionar, o teste normal deve chegar ao PHP (200) e o teste suspeito deve receber 403.
Como executar o ambiente
- Instale e inicie o Docker Desktop.
- No terminal, entre em
starter-kits/waf-ia. - Execute
docker compose up --build. - Abra
http://localhost:8080/testar.htmle faça os dois testes. - Edite apenas
student/model.py, reconstrua comdocker compose up --builde repita os testes. - Ao terminar, execute
docker compose down.
AVALIAÇÃO DO MODELO
Defenda a decisão do modelo com métricas.
Avalie tanto a MLP de aprovação quanto o classificador do WAF. Apresente matriz de confusão, acurácia, precisão, recall e F1-score no conjunto de teste mantido separado.
Leitura esperada para o WAF
| Métrica | Pergunta prática |
|---|---|
| Precisão | Dos bloqueios, quantos eram de fato suspeitos? |
| Recall | Das requisições suspeitas, quantas o WAF encontrou? |
| F1-score | Como está o equilíbrio entre bloqueio correto e cobertura? |
| Matriz | Quais erros foram bloqueios indevidos (FP) e ataques liberados (FN)? |
Entrega final
- Uma tabela com as métricas para cada modelo.
- A matriz de confusão identificando VP, VN, FP e FN.
- O limiar usado e por que ele foi escolhido.
- Três exemplos de erro e uma hipótese para cada um.
- Uma decisão de melhoria: mais dados, atributos melhores, limpeza, arquitetura ou ajuste de limiar.