Treinamento

Modalidades de treinamento

Para todos os treinamentos serão disponibilizados materiais de apoio em PDF e os códigos em Python (Jupyter Notebook). Há duas modalidades de treinamento:

Com hands-on
(sessões de aproximadamente 2.30h)

Nesta modalidade, o colaborador executará todos os códigos Python e interpretará os resultados juntamente com o instrutor;

Sem hands-on
(sessões de aproximadamente 1.30h)

Nesta modalidade, o colaborador acompanhará a explicação e execução dos códigos Python pelo instrutor.

Conteúdo do treinamento

Todos os materiais de treinamento têm exemplos práticos com dados disponíveis e extraídos da internet. A partir dos assuntos abaixo, os treinamentos podem ser customizados conforme perfil dos colaboradores. Clique no link para conhecer mais detalhes sobre os tópicos abordados em cada treinamento.

Bloco I – Material Introdutório


Discussão sobre os principais conceitos Estatísticos utilizados em Machine Learning.

Diferenciação entre dados experimentais e dados observacionais: (como os dados são gerados):

  • Dados experimentais provenientes de ambientes controlados como pesquisa científica, ensaios clínicos e experimentos;
  • Dados observacionais provenientes da coleta de dados sem qualquer tipo de controle ou hipótese específica, ou seja:
    • A partir de sistemas de banco de dados para análise e obtenção de insights, comportamento e qualquer outro fenômeno relacionado ao assunto de interesse;
    • A partir de órgãos governamentais (IBGE, DataSus, SEADE, …);
    • A partir da observação de variáveis de interesse à medida que ocorrem naturalmente (a coleta não envolve qualquer interação ou intervenção no processo).

Ilustração sobre Nível de Significância, Intervalo de Confiança, Teste de Hipóteses, principais Distribuições de Probabilidade, Lei dos Grandes Números e Método de Monte Carlo a partir da simulação de uma Pesquisa Eleitoral.

Introdução prática a Modelos de Regressão Linear e Análise de Variância.

Introdução prática a Modelos Lineares Generalizados e Método da Máxima Verossimilhaça.
Discussão sobre diferentes tipos de algoritmos: Não Supervisionados e Supervisionados (Binário e múltiplas classes).

Ilustração dos principais algoritmos supervisionados de Regressão:

  • Regressão Linear;
  • Modelos Baseados em Árvores (Tree-Based Models):
    • Foco em Gradient Boosting;
  • Rede Neural:
    • Introdução a Keras;
    • Regressão Linear como um caso especial de Rede Neural.

Estratégia da melhor performance:

  • Cross Validation;
  • Otimização dos hiperparâmetros (Hyperparameter Tuning);
  • Stacked Generalization (“Stacking”).

Introdução a MLflow.

Ilustração do Inference Score (Online e Batch Inference).
Ilustração dos principais algoritmos supervisionados de Classificação Binária:

  • Regressão Logística;
  • Modelos Baseados em Árvores (Tree-Based Models);
    • Foco em Gradient Boosting;
  • Rede Neural:
    • Introdução a Keras;
    • Regressão Logística como um caso especial de Rede Neural.

Estratégia da melhor performance:

  • Cross Validation;
  • Otimização dos hiperparâmetros (Hyperparameter Tuning);
  • Stacked Generalization (“Stacking”).

Introdução a MLflow.

Ilustração do Inference Score (Online e Batch Inference).

Observação: Na última sessão (aula) do treinamento I.2 e I.3, o colaborador aprenderá a desenvolver APPs simples como estas.

Bloco II – Material Intermediário


Ilustração da Análise de Componentes Principais, que é um algoritmo não supervisionado para redução de dimensionalidade.

Ilustração baseada numa amostra reduzida que possibilita o entendimento dos conceitos algébricos envolvidos:

  • Decomposição em Valores Singular de matrizes simétricas (matriz de correlações ou matriz de variâncias e covariâncias);
  • Interpretação dos autovalores e autovetores: sistema de eixos cartesianos obtidos através da rotação e translação do sistema de eixos cartesianos original.

Importância da padronização das variáveis (scaling) e ilustração de seus efeitos na Decomposição em Valores Singulares.
Ilustração da Análise de Cluster, que é um algoritmo não supervisionado para agrupamento dos dados, ou seja, agrupar observações similares dentro dos grupos e dissimilares entre os grupos.

Ilustração do K-Means (principal algoritmo de cluster) será baseada numa amostra reduzida que possibilita o entendimento dos conceitos algébricos envolvidos:

  • Ilustração do cálculo da distância euclidiana, utilizada como métrica de similaridade;
  • Método do Cotovelo (Elbow Method): determinação da quantidade de clusters em K-Means;
  • Interpretação dos clusters;
  • Uma breve comparação com outros algoritmos de cluster.

Importância da padronização das variáveis (scaling) e ilustração de seus efeitos no cálculo da distância euclidiana.
Ilustração do algoritmo mais simples de regressão: Regressão Linear.

  • Método de seleção de variáveis;
  • Variações da Regressão Linear empregando métodos de regularização (regularization ou shrinkage): Regressão Ridge e Regressão Lasso.

Ilustração do algoritmo mais simples de classificação: Regressão Logística.

  • Método de seleção de variáveis;
  • Penalty como método de regularização no Scikit-Learn.

Ilustração dos Modelos Lineares Generalizados (MLG):

  • Regressão Linear e Regressão Logística como casos especiais de MLG;
  • Regressão LogNormal e Regressão Gama como alternativa para Regressão Linear.

Necessidade de OneHotEncoder para dados categóricos.

Ilustração dos principais hiperparâmetros para melhoria da performance dos algoritmos.

Ilustração e demonstração dos efeitos da transformação das variáveis (scaling).
Ilustração da Árvore de Decisão: algoritmo mais simples e base para os demais algoritmos baseados em árvores.

Ilustração e foco nos algoritmos da família Boosting, principalmente, Gradient Boosting:

  • Ilustração passo a passo do funcionamento do Gradient Boosting (Scikit-Learn), tanto para regressão quanto para classificação;
  • Discussão sobre algumas variações do Boosting: Adaboost, Light GBM e Extra Tree (Scikit-Learn); Fast Tree (Microsoft);
  • Discussão sobre os principais frameworks, bibliotecas e APIs: Scikit-Learn, XGBoost e Catboost (Por que CatBoost é tão especial? Lida dados categóricos sem necessitar do OneHotEncoder.).

Vantagens dos Modelos Baseados em Árvore (Tree Based Models):

  • Não tem problema de colinearidade;
  • Independe da escala das variáveis numéricas (não é necessário transformação das variáveis);
  • Lida bem com valores extremos, outliers e missing value (dado faltante ou estrutural).

Ilustração dos principais hiperparâmetros dos algoritmos (importante para processo de otimização dos hiperparâmetros).

Discussão sobre funcionamento do Random Forest e do Bootstrap Agregation (Bagging).
Ilustração das principais arquiteturas de Rede Neural empregadas em dados estruturados.

Ilustração dos principais componentes de uma Rede Neural e sua relação com Modelos Lineares Generalizados:

  • Regressão Linear como um caso especial da Rede Neural;
  • Regressão Logística como um caso especial da Rede Neural.

Importância da padronização das variáveis.

Visão geral sobre Backpropagation com auxílio da Regra da Cadeia e Gradient Descent.

Introdução a Keras: definição da arquitetura e dos principais hiperparâmetos para ajuste dos modelos.Ilustração das Support Vector Machines (SVMs) a partir da evolução dos conceitos como Maximal Margin Classifier e Suppor Vector Classifier para resolução de problemas de classificação linear.

Resolução de problemas de classificação não linear ao introduzir conceito de Kernel (função que quantifica a similaridade ente duas observação):

  • Kernel Linear (Support Vector Classifier);
  • Kernel Polinomial;
  • Kernel Radial.

Extensão para problemas de regressão (Support Vector Regressor) a partir dos conceitos explorados em classificação.

Bloco III – Material de Aplicação

Esta aplicação utiliza dados do KDD 1998 Cup, um site de competição de desenvolvimento de modelos.

Estes dados referem-se a uma organização sem fins lucrativos, que acumula histórico de marketing direto para arrecadação de doações. Apesar dos dados terem mais de 20 anos, há algumas características interessantes a serem exploradas a partir das seguintes variáveis respostas:

  • Doadores vs não doadores: é um problema de classificação binária para identificar a propensão de cada indivíduo cadastrado;
  • Valor da doação: é um problema de regressão para prever o valor da doação.

O objetivo e o desafio é encontrar uma forma de combinar estas variáveis respostas com intuito de maximizar o retorno das ações de marketing.

Mesmo sendo dados antigos, a importância deste tipo de análise é que podem ser extrapolados para diversos problemas usuais do dia a dia.

Desafio: Os participantes são desafiados para explorar algoritmos diferentes daqueles apresentados no material para alcançar performances melhores dos modelos.Os dados desta aplicação foram extraídos do Kaggle com histórico com mais de 48 meses de informações sobre crédito pessoal (empréstimo).

A partir dos dados brutos, é criada a variável resposta que identifica cliente BOM pagador e MAU pagador. Logo, é um problema de classificação binária, e mais especificamente um modelo de Credit Score.

Em geral, os dados disponíveis na internet são estáticos (ou seja, referem-se a apenas um determinado período). Diferentemente, os dados de Loan Data referem-se a um período amplo, e assim, o desafio desta aplicação é explorar:

  • Desenvolvimento do primeiro modelo de Credit Score;
  • Acompanhamento e avaliação do modelo ao longo do tempo;
  • Atualização e calibração do modelo.

O fluxo acima faz parte de um projeto de Ciência de Dados. Com isso, os participantes acompanharão a dinâmica dos dados sendo atualizados periodicamente (neste caso, mensal), seja ela ingestão de novos dados e cálculos dos Credit Scores, quanto a avaliação das performances destes scores.

Estes dados também são utilizados para ilustrar o funcionamento da Plataforma Bússola.