Prévia do material em texto
eDATA SCIENC UM GUIA TEÓRICO DE CIÊNCIA DE DADOS E MACHINE LEARNING LUIZA reixach CASTRO www.linkedin.com/in/luizacastro02/ https://www.linkedin.com/in/luizacastro02/ Sumário Fundamentos da Estatística Preparação dos dados Variáveis contínuas e discretas Medidas de posição Medidas de dispersão Outliers: definição e identificação com boxplot e IQR Teste de hipótese: conceito, aplicações e intervalo de confiança Distribuições: Normal, Bernoulli, Binomial, Uniforme, Poisson e Geométrica Teorema do Limite Central Lei dos Grandes Números Métricas de correlação Métricas de distância (euclidana, manhattan, minkowski, mahalanobis) Clique nos números! 1 17 28 2 18 29 3 18 32 4 19 34 5 20 35 8 21 40 45 8 22 11 23 42 45 12 24 13 25 Principais ferramentas (pandas, seaborn, matplotlib, scikit-learn) Descarte de variáveis irrelevantes Remoção de valores duplicados Imputação de missings com média, moda, mediana e KNN Detecção e tratamento de outliers Padronização e normalização Desbalanceamento de classes (undersampling, oversampling e class_weight) Codificação de variáveis categóricas (Label Encoding e One Hot Encoding) Redução de dimensionalidade com PCA Métodos de seleção de features (SelectKBest, baixa variância, regularização e feature importances, Boruta, Permutation Importance) Metodologia CRISPDM Treino, teste e validação Definição de função de custo Aprendizado supervisionado e não supervisionado Regressão, Classificação e métodos de avaliação Parâmetros e Hiperparâmetros: o que são e como defini-los Viés e variância - Underfitting e Overfitting Conceitos Fundamentais para Machine Learning Aprendizado Supervisionado Definições e métricas de avaliação para regressão e classificação Regressão Linear Definição Pressupostos de uma regressão linear e preparação dos dados Funções de custo: MAE e MSE Gradiente Descendente e Mínimos Quadrados Regularização L1 e L2 Vantagens e desvantagens Definição O Teorema de Bayes Funcionamento do modelo Tipos de Naive Bayes: Gaussiano, Bernoulli e Multinominal Vantagens e desvantagens Preparação dos dados Vantagens e desvantagens Exemplos de utilização Aprofundamento Definição Relação entre a regressão logística e linear Função de custo: Logloss Método da Máxima Verossimilhança (MLE) Preparação dos dados Principais hiperparâmetros Vantagens e desvantagens Exemplos de utilização Naive Bayes Regressão Logística KNN Definição Regressão x Classificação no KNN Funcionamento do KNN Métricas de distância KNN como um Lazy Learner Overfitting e Underfitting no KNN Como definir o melhor K? Vantagens e desvantagens 65 64 64 64 63 63 62 62 61 61 57 61 57 61 56 52 60 56 50 60 55 49 60 54 49 58 53 46 58 53 45 Definição Estrutura de uma árvore de decisão Árvore de classificação Métricas de impureza (gini e entropia) Seleção do nó raiz Previsão final em regressão e classificação Árvore de regressão Vantagens e desvantagens Técnicas de poda Principais hiperparâmetros Interpretação de uma árvore Aprofundamento Árvore de Decisão O que são modelos de ensemble? Bagging e Boosting Modelos de Ensemble Random Forest Adaboost Gradient Boosting XGBoost e LightGBM Comparação Random Forest e Árvore de Decisão O dilema do overfitting no Random Forest Vantagens e desvantagens Definição Funcionamento Definição Diferenciais Crescimento level-wise vs Crescimento leaf-wise Definição Principais conceitos (Margem e Hiperplano) O que é o Kernel Trick? Tipos de Kernel Principais hiperparâmetros Vantagens e desvantagens Underfitting e overfitting no SVM Aprofundamento Support Vector Machine (SVM) 75 75 75 81 80 80 71 74 80 70 72 79 68 74 79 70 72 79 68 73 79 69 78 68 77 66 77 66 77 66 77 65 76 65 K-means DBSCAN Definição O que é um centróide Principais hiperparâmetros Funcionamento (K-means na prática) Vantagens e Desvantagens K-medoids Preparação dos dados Aprofundamento Aprendizado Não Supervisionado Conteúdos extras Definição Principais conceitos e hiperparâmetros Funcionamento do modelo Vantagens e desvantagens Preparação dos dados Aprofundamento Definição Métodos de ligação Tipos de agrupamento (Aglomerativo e divisivo) Funcionamento do agrupamento aglomerativo Vantagens e desvantagens Como determinar o melhor número de clusters com o dendograma Exemplo prático Aprofundamento Agrupamento Hierárquico Gaussian Mixture Models (GMM) Definição O que é uma gaussiana e soft clustering Exemplo prático Parâmetros do GMM Algoritmo de Expectation Maximization (EM) Vantagens e desvantagens Glossário de conceitos Perguntas técnicas Principais hiperparâmetros 93 85 93 85 87 95 91 83 88 109 98 96 92 85 87 94 91 82 88 97 95 92 84 86 94 89 82 86 94 89 82 1 Estatística Estatística é a ciência que planeja, organiza e interpreta dados para tomada de decisão Introdução Conceitos Subconjunto de uma população. As amostras são importantes, pois nem sempre é possível coletar informações de toda a população. Conjunto completo de elementos (pessoas, objetos, eventos etc.) que possuem alguma característica em comum e sobre os quais se deseja obter informações. Exemplos: população de um país, todas as pessoas com uma determinada doença, todas as peças produzidas em determinada fábrica. Revisão: Matheus Borges Amostra População Quantitativa Também chamada de variável numérica, pode ser medida numericamente e representar quantidades. Importância aplicada: para saber o método ideal de transformar variáveis categóricas em numéricas, precisamos saber se a variável possui hierarquia natural. Por exemplo, se existe, geralmente é mais recomendado utilizar Label Encoder no lugar de Get Dummies ou One Hot Encoder. Variável que representa uma característica, mas não pode ser ordenada de forma natural. Exemplos: cores (azul, rosa, roxo) e marcas (Pepsi, Coca-Cola). Variável que representa uma característica e que pode ser ordenada de forma natural. Geralmente aparece em situações nas quais há uma hierarquia definida, como no caso de níveis de formação (Ensino Fundamental, Médio e Superior) e renda (alta, média e baixa). Também chamada de variável categórica, representa características que não podem ser descritas numericamente. Variável Qualitativa Nominal Variável Qualitativa Ordinal Qualitativa Tipos de variáveis Variável que pode assumir qualquer valor dentro de um intervalo, incluindo valores não inteiros, como decimais. Exemplos: peso, taxa de juros e altura. Variável Quantitativa Contínua 2 Variáveis obtidas por meio de contagem e que assumem números inteiros. Exemplos: número de faturas e cartões. Soma de todos os valores dividida pela quantidade total de elementos. Tem como uma de suas principais características ser uma métrica sensível a outliers, uma vez que valores extremos aumentam o seu resultado. As medidas de posição auxiliam na identificação do comportamento de concentração dos dados. Medidas de posição Variável Quantitativa Discreta Média Mediana Moda Valor central ocupado por um conjunto de dados ordenado. Uma vez que depende da posição na ordenação, e não dos valores em si, é uma métrica muito mais robusta a outliers do que a média. É o valor que aparece com mais frequência em um conjunto de dados. Importância aplicada: em árvores de decisão de regressão, a previsão final, por padrão, é calculada a partir da média das amostras em um nó. Em casos nos quais há presença constante de outliers, podemos substituir a média pela mediana. Importância aplicada: a predição em árvores de decisão de classificação ocorre, justamente, a partir da moda da classe entre as amostras. Variância É a média dos quadrados dos desvios em relação à média. Os desvios são elevados ao quadrado porque os desvios positivos e negativos em relação à média, se somados diretamente, se anulariam. Quanto maior a variância, mais os dados estão afastados da média. Variância amostral As medidas de dispersão auxiliamdevem seguir aproximadamente uma distribuição normal. Para verificar, você pode utilizar testes de normalidade, como Shapiro-Wilk ou Kolmogorov- Smirnov, ou utilizar gráficos como histogramas/Q-Q plot. 4. Erros com variância constante (homocedasticidade) 3. Erros seguem uma distribuição normal Em uma regressão, os erros precisam ser independentes entre si. Ou seja: o erro associado a uma observação não pode estar relacionado ao erro de outra. 5. Erros independentes entre si 48 Ao final do treinamento de um modelo de regressão, obtemos uma equação que descreve a relação entre as variáveis explicativas e o valor a ser predito. Mas como esses coeficientes, que quantificam o impacto de cada variável sobre a resposta, são determinados? Existem dois métodos utilizados para estimar os coeficientes de uma regressão linear: o método dos mínimos quadrados e o método do gradiente descendente. Definição dos coeficientes de uma regressão linear Também conhecido como método determinístico, o método dos mínimos quadrados encontra os coeficientes que minimizam globalmente a função de custo (a soma dos quadrados dos resíduos). Entretanto, possui um alto custo computacional, especialmente em problemas com grande número de variáveis. Dados dois parâmetros A e B: No final do processo, é determinado um valor. Entretanto, quando esses cálculos são realizados em situações com muitas variáveis e um grande volume de dados, o custo computacional pode se tornar extremamente elevado. Assim, temos o método do gradiente descendente, no qual os coeficientes não são obtidos de forma "direta", como ocorre no método dos mínimos quadrados, mas sim de forma iterativa. Fazer a soma quadrática dos resíduos, que vai atuar como a função de custo a ser minimizada Calcular as derivadas parciais dessa função de custo em relação a cada coeficiente e igualar a 0, para assim chegar ao sistema que representa mínimo da função em relação a cada coeficiente. Assim, vamos ter um sistema de equações normais para cada coeficiente. Resolvendo-os, temos o valor dos coeficientes estimados. Método dos mínimos quadrados 1. 2. 3. 49 O gradiente descendente é um método iterativo de encontrar os coeficientes de uma regressão que, ao contrário dos mínimos quadrados, possui um custo computacional menor para situações com alta dimensionalidade, mas pode encontrar mínimos locais em funções de custo não convexas (redes neurais). De forma simples: o método dos mínimos quadrados encontra um valor exato para os coeficientes a partir da solução analítica obtida pelas derivadas parciais da função de custo. Já o gradiente descendente, em vez de partir de coeficientes totalmente desconhecidos e encontrar diretamente a solução fechada, inicia com um valor inicial (chute) para os coeficientes e vai ajustando esses valores iterativamente, com base no gradiente da função de custo, até se aproximar do seu mínimo. Inicia com um chute aleatório para os parâmetros, calculando a função de custo (aqui, a soma dos erros quadráticos) associada a uma taxa de aprendizado (que vai ser o tamanho do "passo" em direção ao gradiente). O gradiente é o vetor de derivadas parciais que aponta para a direção de maior aumento de uma função. Como queremos chegar no mínimo, iremos ajustar os parâmetros para andar na direção contrária ao gradiente da função de custo. O que é um gradiente? Taxa de aprendizado 1. 2. 3. Método do gradiente descendente Calcula as derivadas parciais da função de custo em relação a cada parâmetro. Essa derivada é a inclinação da curva, e o valor dessa derivada vai definir o quão longe estamos do ponto de mínimo (onde a derivada é zero). Assim, o algoritmo vai aumentar ou diminuir o valor dos coeficientes de acordo com essa taxa de variação na atualização. Esse processo ocorre iterativamente até chegar no mínimo global, ou seja, quando a derivada for igual a 0 ou quando se atinge o critério de parada escolhido (mais frequente). 50 Mínimos quadrados Gradiente Descendente Método Encontra os coeficientes com uma solução analítica única Iterativo e encontra os coeficientes de acordo com o gradiente da iteração Solução única, sem a possibilidade de encontrar mínimos locais Baixo custo computacional em relação aos mínimos quadrados em dados com alta dimensionalidade Por ser um método gradual, é possível encontrar um mínimo local e não global em funções não convexas Alto custo computacional para dados com alta dimensionalidade por conta das extensasa matrizes criadas Vantagens Desvantagens Penalidade L2 (Soma dos coeficientes) Soma dos erros quadráticos Regularização Representa os coeficientes da regressão inicialmente “overfittada”, que é elevado ao quadrado. No caso da L2, cada coeficiente vai ser elevado ao quadrado e depois somado com o posterior. Após isso, multiplicado pelo lambda. Lambda penalidade aplicada aos coeficientes. Quanto maior o seu valor, maior a penalidade aplicada a coeficientes grandes. A penalidade vai ser somada ao MSE, e isso vai forçar o modelo, inicialmente overfitted, a encontrar valores menores para os coeficientes. Assim, será traçada uma nova reta com essa nova função de perda, que vai ser mais "suave" do que a primeira. Pode ser encontrado por validação cruzada. A regularização é uma técnica para prevenir o overfitting em uma regressão linear e evitar coeficientes excessivamente grandes. Ela se trata do acréscimo de uma penalidade aos coeficientes do modelo na função de custo. O objetivo é diminuir a sensibilidade do modelo aos dados de treinamento (aumentando seu viés) para que o erro seja menor nos dados de teste (diminuindo a variância). Quanto maior o lambda, maior vai ser a penalização dos coeficientes e maior vai ser a função de custo a ser minimizada, modificando o modelo original. 51 Tipos de regularização penaliza os valores absolutos dos coeficientes, possibilitando que alguns coeficientes se tornem zero. Esse mecanismo, na prática, pode ajudar a selecionar features relevantes, diminuindo a dimensionalidade dos dados. Logo, não é aconselhado utilizar L1 quando o objetivo é considerar todas as variáveis do dataset. penaliza os valores quadráticos dos coeficientes, impossibilitando que coeficientes se tornem zero. Esse mecanismo, na prática, pode ajudar a reduzir a magnitude dos coeficientes sem eliminar variáveis, mantendo a dimensionalidade dos dados. Logo, é aconselhado utilizar L2 quando o objetivo é considerar todas as variáveis do dataset, porém com regularização. Combinação da regularização L1 e L2 Regularização L1 (Lasso) Regularização L2 (Ridge) Elastic-Net Possui menores erros quando comparado aos dados de teste, uma vez que o lambda fez os coeficientes dessa regressão se tornarem menos sensíveis. Traçamento da linha pós regularização, que se “afasta” dos dados de treino Dados overffitados, com um grande erro nos dados de teste (alta variância) Statquest 52 Vantagens Desvantagens Preparação dos dados O modelo de regressão linear pode ser resumido por uma equação, que demonstra o impacto de cada variável para a previsão da variável resposta. O modelo de regressão linear pode ser resumido por uma equação, que demonstra o impacto de cada variável para a previsão da variável resposta. Tratamento de missings Imputação por média, mediana, moda, KNN ou exclusão das observações. Tratamento de outliers Identificação pelos métodos IQR, z-score, ou visualização através de gráficos de dispersão e distribuição. Codificação de variáveis Transformação de dados categóricos em numéricos utilizando técnicas como One-Hot Encoding ou Label Encoding. Padronização Ajuste das variáveis para uma mesma escala usando StandardScaler ou MinMaxScaler, reduzindo o impacto de diferenças de magnitude entre as features. Verificar os pressupostos de uma regressão linear Homocedasticidade, independência e normalidade dos resíduos, ausência de multicolinearidade, e relação linear entre variáveis preditoras e resposta.Uma regressão possui uma série de pressupostos para ser utilizada de forma correta; assim, o espaço de features disponíveis se reduz. Outliers distorcem o cálculo da função de custo e resultam em uma reta que não reflete o comportamento geral das variáveis. Alta Explicabilidade Sucetível a underfitting Baixo custo computacional Pouca flexibilidade (muitos pressupostos) Sensibilidade a outliers 53 Aprofundamento Clique no QR Code! A regressão logística é um tipo de modelo supervisionado de classificação. Seu objetivo é atribuir a uma observação a probabilidade de pertencer a uma de duas classes, sendo que a classificação final é definida com base em um ponto de corte, também chamado de threshold. Regressão Logística A regressão logística provém de uma manipulação algébrica da regressão linear, na qual seu espaço de atuação é ajustado de qualquer número real para o intervalo entre 0 e 1. Dessa forma, é possível atribuir uma probabilidade válida à observação, evitando, por exemplo, uma probabilidade de 150% de pertencer à classe A. Esse processo ocorre a partir da modelagem da função logit como uma combinação linear das variáveis independentes, por meio da função sigmoide. 1. 2. Começa com uma regressão padrão Define as Odds (probabilidade favorável a um determinado evento) e a função logit. Função logit mapeia todos os valores reais, que podem ser utilizados para expressar uma relação linear entre os valores das variáveis independentes e os logaritmos das probabilidades. 3. Modela a logit como uma combinação linear https://youtube.com/playlist?list=PLblh5JKOoLUIzaEkCLIUxQFjPIlapw8nU&si=zp_hLIdE0npydYKt https://youtu.be/QaXZ42ULYUo?si=zUaYlyXlLJLbk0AC https://youtu.be/3XPH32srZSQ?si=OkuB5xLjsrKAXHnN https://youtu.be/sDv4f4s2SB8?si=sRNsa1GPOHgdo2jS https://youtu.be/Q81RR3yKn30?si=a6prfqqBhCqiSJMl https://youtu.be/oRVN94Zq-bE?si=CHN2KHNWgHjTJtVp&t=2 https://youtu.be/QBafnOFUpao?si=nVyzvbOP8oyBjlQA 54 4. A logit mapeia probabilidades para valores reais, e quremos obter a probabilidade de que um valor pertença a uma dada classe. para isso, utiliza-se a inversa da função logit, aplicando a exponencial. Agora, o conjunto imagem da função corresponde aos números reais no intervalo [0,1], o que resolve o problema da regressão Pressupostos regressão logística 1 Valores > 1 0 1 0 Threshold 50% Classe A Classe B A regressão logística provêm de uma regressão linear, logo, os pressupostos são semelhantes. Entretanto, ao contrário da regressão linear, a regressão logística não exige normalidade, uma vez que a sua variável de saída é binária. 1. Relação linear entre a variável resposta e as variáveis independentes 2. Ausência de multicolinearidade O seu valor a ser predito precisa possuir relação linear com as variáveis utilizadas para a previsão. É possível verificar esse pressuposto a partir de gráficos de dispersão. A multicolinearidade acontece quando duas variáveis independentes (X) são altamente correlacionadas. Ou seja, possuem comportamento muito parecido ou idêntico, trazendo informações redundantes ao modelo. O problema da multicolinearidade está justamente na dificuldade de interpretar os efeitos reais de cada coeficiente individual na regressão, tornando-os instáveis e inflando erros-padrão. É possível identificar a multicolinearidade por meio de uma matriz de correlação e do Fator de Inflação da Variância (VIF). Em uma regressão, os erros precisam ser independentes entre si. Ou seja: o erro associado a uma observação não pode estar relacionado ao erro de outra. 3. Erros independentes entre si 55 Os parâmetros de uma regressão logística são estimados por meio da maximização da função de verossimilhança, que equivale a minimizar a log loss, uma vez que a log loss é o negativo da log- verossimilhança. A função de verossimilhança mede a plausibilidade de um modelo explicar os dados observados, dado um conjunto de parâmetros. Seu valor máximo indica o conjunto de parâmetros mais adequado para representar os dados. Em geral, é um processo iterativo de otimização, como o gradiente descendente: começamos com parâmetros inicializados aleatoriamente, calculamos o gradiente da função e, usando uma taxa de aprendizado, atualizamos os parâmetros repetidamente até convergir ao ponto ótimo da função. Máxima Verossimilhança 3. Definição da função de verossimilhança 1. Inicialização aleatória dos parâmetros 2. Modelagem da sigmoide para obter as probabilidades associadas 4. Aplicação do logarítimo para facilitação de cálculos 5. Aplicação do negativo para obter a função de custo a ser minimiza (Log loss) 6. Minimização da log-loss a partir do cálculo do gradiente, onde os parâmetros são atualizados iterativamente Como definir o ponto de corte (threshold)? Na regressão logística, precisamos definir um ponto de corte como critério de decisão para as classes, e esse ponto de corte, que nem sempre vai ser idealmente 50%, ode ser definido através da análise de uma curva ROC. A curva ROC, como mencionado anteriormente, é uma representação gráfica da relação entre os verdadeiros positivos e os falsos positivos, utilizada em modelos de classificação. 56 Se aumentarmos muito o threshold, o modelo fica muito rigoroso para prever as classes positivas, e assim a maioria das amostras são classificadas como negativas, diminuindo o recall e aumentando o precision. Se diminuirmos muito o threshold, o modelo fica menos rigoroso para prever as classes positivas, e assim a maioria das amostras são classificadas como positivas, diminuindo o precision e aumentando o recall. Logo, para definir o melhor threshold que minimize os falsos positivos e maximize os verdadeiros positivos, testamos um intervalo de thresholds possíveis e selecionamos aquele que maximize a diferença entre essas duas métricas. Assim: Solver Máximo de iterações (max_iter): Balanceamento de classes (class_weight) algoritmo de otimização, define o método para otimizar a função custo Número máximo de iterações do modelo liblinear: indicado para datasets pequenos; suporta L1. lbfgs (padrão): indicado para datasets grandes com muitas features; rápido e estável; suporta L2. newton-cg: indicado para problemas multiclasse; suporta L2. sag: indicado para datasets grandes e escalonados; suporta L2. saga: suporta L1, L2 e elastic_net, mas é mais lento. Maior C: menor regularização, tendência a overfitting (se ajusta mais aos dados de treino). Menor C: maior regularização, tendência a underfitting (se ajusta menos aos dados de treino). L1 (Lasso): reduz coeficientes menos importantes para 0. L2 (Ridge, padrão): reduz coeficientes proporcionalmente. elastic_net: combinação de L1 e L2; precisa ser acompanhado por solver='saga', e o parâmetro l1_ ratio (proporção de L1) precisa ser definido. Inverso da força da regularização. Tipo de penalidade (regularização) aplicada aos coeficientes: Principais hiperparâmetros C Penalidade (penalty) Preparação dos dados Tratamento de missings Imputação por média, mediana, moda, KNN ou exclusão das observações. Tratamento de outliers Identificação pelos métodos IQR, z-score, ou visualização através de gráficos de dispersão e distribuição. 57 Codificação de variáveis Transformação de dados categóricos em numéricos utilizando técnicas como One-Hot Encoding ou Label Encoding. Padronização Ajuste das variáveis para uma mesma escala usando StandardScaler ou MinMaxScaler, reduzindo o impacto de diferenças de magnitude entre as features. Verificar os pressupostos Independência dos resíduos, ausência de multicolinearidade, e relação linear entre variáveis preditoras e resposta. Verificar desbalanceamento da variável target Verificar desbalanceamento de classe e tratamento com undersampling, oversampling ou class_weight. Aprofundamento Clique no QR Code! Vantagens Exemplos utilização Desvantagens Bons para dados linearmente separáveis Só é eficiente para dados linearmente separáveisAtravés da equação, fornece um modo demensurar o quão bom o preditor é. Pode ser sensível a dados desbalanceadas Fácil de implementar e interpretar Probabilidade de ser inadimplênte, detecção de churn Sensível a multicolinearidade https://youtu.be/QdGO98Tzc54?si=uoRy30hC5iMVAfiS https://youtu.be/DPSXVJF5jIs?si=9930yFQGUYeG6hkG https://youtube.com/playlist?list=PLblh5JKOoLUKxzEP5HA2d-Li7IJkHfXSe&si=oq8wc_ktlJ0tYNkk https://youtu.be/ZbUlmAuy-UY?si=Gy1rMwV6_290z5Fp https://www.youtube.com/live/TDCHNI_Q0JI?si=XCNauTtcIjtZpgzM https://youtu.be/Pk7cHs9H1OY?si=nigTPfcE1JWM0dBb 58 Naive Bayes Teorema de Bayes Naive Bayes é um algoritmo supervisionado de classificação que tem como base o teorema da probabilidade condicional de Bayes, que calcula a probabilidade de cada observação pertencer a uma classe, considerando as features como probabilidades condicionais. O modelo possui o nome de "Naive" pois ele assume que as variáveis são independentes entre si, ou seja, que uma variável não depende da outra para acontecer (sem relação entre si). O teorema de Bayes éuma relações mais importantes envolvendo probabilidades condicionais. Ele se da por: Temos, logo, que a probabilidade de um evento A ocorrer dado que o evento B ocorreu é equivalente à probabilidade inicial de A multiplicada pela probabilidade de B ocorrer dado A, dividido pela probabilidade de B ocorrer. No contexto de ciência de dados, trabalhamos com a probabilidade de um valor assumir uma classe dadas as características (ou variáveis) de um conjunto de dados. Desse modo, através do teorema de Bayes, conseguimos quantificar a probabilidade de uma observação assumir a classe A, por exemplo, somente utilizando outras probabilidades. Probabilidade da observação assumir a classe A, dado uma variável B Probabilidade da classe A acontecer Probabilidade da variável B acontecer A probabilidade da variável B dada a classe A. Verossimilhança Probabilidade a priori da classe Probabilidade a priori da variável preditora Probabilidade a posteriori Assim, temos o teorema de bayes, considerando a classe Y e o conjunto de variáveis preditoras como yn, sendo: 59 Naive Bayes na prática Considerando o seguinte conjunto de dados, onde o objetivo é tentar prever se alguém vai ou não jogar futebol, considerando que o tempo estava chuvoso e a temperatura estava quente. Tempo TemperaturaDia Umidade Vento Jogou Futebol 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Ensolarado Ensolarado Nublado Chuvoso Chuvoso Chuvoso Nublado Ensolarado Ensolarado Chuvoso Ensolarado Nublado Nublado Chuvoso Quente Quente Quente Amena Fria Fria Fria Amena Fria Amena Amena Amena Quente Amena Alta Alta Alta Alta Normal Normal Normal Alta Normal Normal Normal Alta Normal Alta Fraco Forte Fraco Fraco Fraco Forte Forte Fraco Fraco Fraco Forte Forte Fraco Forte Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não 1. Calcular as probabilidades relativas as variáveis utilizadas para a predição Com as probabilidades, já é possível calcular as probabilidades condicionais dado o teorema de Bayes, considerando o resultado da variável target como Sim ou Não (ou jogar e não jogar). Como estamos trabalhando com mais de uma variável preditora, múltiplicamos as probabilidades condicionais de cada uma delas. Esse é o motivo pelo qual o teorema presume independência entre as variáveis: quando multiplicamos duas probabilidades, a operação não captura possíveis intersecções. 60 Para Clima = Ensolarado: Para Temperatura = Quente: 3. Efetue os cálculos para Jogar e Não Jogar Somente com esses cálculos já conseguimos visualizar a previsão, comparando os valores obtidos. Entretanto, se quisermos os valores normalizados, é necessário efetuar a divisão pela probabilidade total das evidências. Naive Bayes Multinomial Naive Bayes Bernoulli Naive Bayes Gaussiano Codificação de variáveis categóricas Tratamento de outliers Tratamento de valores nulos Naive Bayes utilizado para variáveis de contagem discretas. Naive Bayes utilizado para variáveis binárias que seguem uma distribuição de Bernoulli. Naive Bayes utilizado para variáveis contínuas que seguem uma distribuição normal. Transformação via one hot encoder ou label encoder. Principalmente no Naive Bayes Gaussiano Existem três tipos principais de Naive Bayes, um para cada tipo de variável: o Gaussiano, o Bernoulli e o Multinomial. Tipos de Naive Bayes Preparação dos dados Previsão final: não jogar futebol. 61 Considera somente atributos independentes (sem relação entre si). Sensibilidade a dados desbalanceados e outliers. Atribuição de probabilidade zero para atributos não vistos. Para corrigir esse problema, é possível utilizar a correção laplaciana. Desvantagens Vantagens Algoritmo rápido e com baixo custo computacional para datasets grandes e pequenos. Simplicidade e eficiência. Não é afetado pela escala dos atributos, por considerar as probabilidades condicionais. Filtros de spam e análise de sentimentos Principais aplicações Clique no QR Code! Aprofundamento https://youtu.be/ozQEpg7aXsw?si=Bzb3Ex-WTYWKuUiY https://youtu.be/nBrd8BldSdo?si=39_gJo3FZ55YaKy2 https://youtu.be/lJGHZO0rqs0?si=XMpGMEEhcKmfMVEJ https://youtu.be/O2L2Uv9pdDA?si=QyVctL4FZDo5hfAI https://youtu.be/9wCnvr7Xw4E?si=iJQ_zuBjBGLTD0tI 62 O KNN (K-Nearest Neighbors) é um modelo supervisionado que pode ser utilizado tanto para regressão quanto para classificação. Ele trabalha calculando a distância de uma observação até todas as outras e selecionando, dentro do espaço de features, as K observações mais próximas, sendo K um número inteiro. A partir das classes ou dos valores dos vizinhos mais próximos, temos a classificação, que leva em consideração a moda das classes dos vizinhos, ou a predição (regressão), em que é calculada a média dos valores dos vizinhos. A previsão de um valor contínuo se da pela média dos valores dos K vizinhos mais próximos. A previsão de uma classe se dá pela moda da classe dos K vizinhos mais próximos. Queremos descobrir a classificação do ponto vermelho. Calcula-se a distância escolhida (aqui, euclidiana) do ponto vermelho em relação a todos os pontos. Se K = 1, a classificação se dá pelo ponto com a menor distância possível (azul escuro). Se K > 1 (4), a classificação se dá pela classe mais frequente dos vizinhos mais próximos (laranja). KNN Classificação Regressão 3,6 4,5 1 1,6 3.2 4 5 6 1 1,6 3.2 4 5 6 1 1,6 3.2 4 5 6 3,6 4,5 6 3 ? 4 5 6 3 2 6 5 4 3 2 1 K=3 K=2 Como o valor real de Y para X = 4 é 5, então o melhor valor de K é K = 2, uma vez que 4,5 (o valor previsto por K=2) está mais próximo de 5 do que 3,6 (previsto por K=3). Se K = 3, pegamos os valores dos 3 vizinhos mais próximos a 4 no eixo X (3,2, 5 e 6) e tiramos a média dos valores de Y de cada um desses pontos. A previsão para X = 4 vai ser 3,6. Se K = 2, pegamos os valores dos 2 vizinhos mais próximos a 4 no eixo X (3,2 e 5) e tiramos a média dos valores de Y de cada um desses pontos. A previsão para X = 4 vai ser 4,5. A linha verde representa os dados reais; em azul são os pontos considerados para treinamento. Queremos prever qual é o valor de Y quando X = 4. O valor real é 5. 63 Métricas de distância no KNN. Embora a Distância Euclidiana seja a mais utilizada, é possível alterar a métrica de distância no KNN por meio do hiperparâmetro metric, podendo-se usar, por exemplo, a Distância Euclidiana, Minkowski ou Manhattan (para analisar os impactos de cada uma, consulte a seção de estatística). Além disso, também podemos atribuir pesos inversamente proporcionais à distância aos vizinhos, utilizando o hiperparâmetro weights. Desse modo, os vizinhos mais próximos terão maior poder de decisão do que os mais distantes, o que torna uma boa alternativa na presença de outliers. Nesse caso, se aplicássemos o KNN "padrão", a classe escolhida seria a laranja, uma vez que 3 dos 5pontos mais próximos são laranjas. Porém, se aplicarmos mais peso às observações mais próximas, poderíamos ter como resultado a classe azul. Se houver um "empate" na votação da classificação, por exemplo, K = 4 e duas observações são laranjas e duas são azuis, a escolha é feita de modo aleatório. Por isso, é uma boa prática sempre escolher um número ímpar para K. K = 5 Weigths = Uniform Todos os dados Decisão: amarela Decisão: verde K = 5 Weigths = Distance As situações anteriores são exemplos em um espaço bidimensional. Porém, quando possuímos muitas features, passamos para um espaço n- dimensional e a visualização do processo, embora ainda seja a mesma, pode ser dificultada. A adição de muitas variáveis pode tornar o modelo suscetível à maldição da dimensionalidade e prejudicar o cálculo das distâncias, por aumentar a distância média entre as instâncias e deixar o conjunto esparso. 64 KNN como um lazy learner O KNN é considerado um lazy learner, uma vez que não aprende com os dados de treinamento, somente memoriza a posição deles, e durante a fase de predição efetua apenas o cálculo das distâncias entre as instâncias de treinamento e a nova observação. Esse fato gera uma conclusão atípica quanto ao underfitting e ao overfitting do modelo. O fato de o KNN ser um algoritmo baseado em distâncias faz com que ele seja sensível à escala das variáveis, tornando essencial o processo de normalização. Além disso, misturar diferentes tipos de variáveis (contínuas com binárias, por exemplo) pode prejudicar um modelo que utilize a Distância Euclidiana, sendo necessária uma análise adicional para decidir o tipo de distância e o pré- processamento adequados. Overfitting x Underfitting K muito pequeno K muito grande Efeito Aumento do overfitting Aumento do underfitting Com um K pequeno, o modelo só vai pegar a instância mais próxima do treino, tendo um desempenho próximo de 100% nessa etapa e não generalizando os resultados para novos dados Com K grande, o modelo vai tender a generalizar decisões de acordo com o comportamento global do dataset, selecionando um valor próximo a média global (regressão) e a moda global Justificativa Como definir K? Como foi demonstrado anteriormente, existe um número ótimo de K que irá conciliar a diminuição do erro com a ideal complexidade do modelo. Esse valor pode ser encontrado através de tunagem de hiperparâmetros com Grid Search e validação cruzada. 65 Vantagens Desvantagens Simplicidade do treinamento. Aplicável para problemas complexos. Facilidade de incrementar novos dados. Predição custosa para grandes conjuntos de dados. Sensibilidade a outliers, escala e alta dimensionalidade. Escolha sensível de K. A árvore de decisão é um modelo supervisionado que pode ser utilizado tanto para regressão quanto para classificação. Seu objetivo é encontrar diferentes pontos de corte nas variáveis de forma a minimizar, a cada divisão, uma métrica de impureza (como o índice Gini ou a entropia) no caso de classificação, ou uma função de custo (como o MSE ou o MAE) no caso de regressão. A partir dessas sucessivas divisões, a previsão é realizada com base nas amostras presentes no nó folha. É o primeiro nó estipulado pelo modelo. Definido pelo ponto de corte que, dentro todas as variáveis, mais minimiza a métrica de impureza ou função de perda. É o último nó da árvore, onde a previsão ou classificação é finalizada É o critério de divisão de uma árvore de decisão Árvore de decisão Sol Vento Ramo Nó raiz Nó folha Sem praia Praia!Sem praia Sim Sim Não Não Estrutura de uma árvore Aprofundamento Clique no QR Code! https://youtu.be/HVXime0nQeI?si=doYXakUnqdZUwCC- https://youtu.be/HJAChG-GRyA?si=DeD-IUTjtzfpmpHd https://youtu.be/ygUY9b8a1hE?si=sDjKowutq1hnaF86 https://youtu.be/awSLYt1Jso8?si=9bMbgoeCeHFb0T1Z https://youtu.be/8V0zGQ9oQG4?si=hq64_TKWGGIQVHci https://youtu.be/CQveSaMyEwM?si=W2ceRcfy_yqX6bO_ https://youtu.be/CRW-OM4AlNs?si=3_spJsd0MfKQkBcJ 66 Uma métrica de impureza mensura o quão bem os dados estão discriminados (ou segregados) em um determinado espaço. Se temos, por exemplo, uma única caixa contendo 3 bolas (1 vermelha, 1 azul e 1 laranja), o espaço está completamente não discriminado, apresentando alto grau de impureza. Por outro lado, se há uma caixa para cada cor, pode-se dizer que o índice de impureza é baixo. Alta impureza Baixa impureza Árvores de classificação Métricas de impureza É importante destacar que tanto o índice Gini quanto a entropia apresentam desempenhos muito semelhantes e, na prática, não há diferença significativa na escolha. Entropia Gini A entropia é uma métrica de impureza que leva em consideração a desordem de um sistema e a incerteza da informação. Na prática, é mais adequada para amostras desbalanceadas por ser sensível a pequenas variações de probabilidade entre as classes, porém possui um custo computacional adicional devido ao cálculo do logaritmo. O Gini é uma métrica de impureza que mensura a mistura entre as classes a partir das proporções. É uma alternativa ligeiramente mais rápida devido à simplicidade do seu cálculo. O nó raiz é o primeiro nó que compõe uma árvore de decisão e representa o ponto de corte da variável que, dentre todas as disponíveis no dataset, maximiza a redução da impureza (mensurada por métricas como Gini ou entropia). Esse processo, portanto, precisa ser feito levando em consideração todas as variáveis presentes no dataset. Para isso: Como é feita a seleção do nó raiz? 1. 2. 3. Calcula-se o gini do dataset inteiro Para cada divisão de cada variável possível, é calculada a impureza de cada nó filho O nó selecionado é aquele que possui maior diminuição de impureza comparada 67 Vamos tentar usar duas variáveis para prever se um aluno passará na prova ou não: se ele estudou ou se ele comeu bem no dia anterior. Para definir a variável do nó raiz, observamos qual variável possui maior redução de impureza. Estudou? Comeu bem? Passou na prova? Sim: 5 alunos Nao: 1 aluno Passou na prova? Sim: 4 alunos Nao: 1 aluno Passou na prova? Sim: 0 alunos Nao: 4 aluno Passou na prova? Sim: 1 alunos Nao: 4 aluno Sim SimNão Não Impureza total: 0.168 Impureza total: 0.32 Como a variável estudou teve uma maior diminuição da impureza, ela vai ser a utilizada como variável inciial. E assim, já conseguimos formular a nossa árvore de decisão. Exemplo com variáveis numéricas O exemplo anterior foi feito utilizando variáveis binárias para facilitar a explicação. No caso de variáveis numéricas, não são todos os valores que são testados para verificar a diminuição da impureza. Os números são ordenados de forma crescente, e a impureza vai ser calculada com base no valor médio dos vizinhos. Exemplo: Idade: 24, 30, 36, 36, 42, 44, 46, 47, Valores de idade testados: 27, 33, 36, 39, 43, 46, 46.6, 47, 49 Estudou? Horas estudadas > 5 Comeu bem? Kcal ingeridas > 2000Não Passou Não Passou Passou PassouNão Passou Não Passou Sim Sim Sim Sim Não Não Não Não 68 Quando a árvore chega a um nó folha, a previsão é feita com base na classe mais frequente entre as amostras daquele nó (moda). Nem sempre conseguimos um nó em que todas as amostras pertençam à mesma classe. Forçar divisões até atingir esse cenário pode levar ao overfitting, fazendo com que o modelo se ajuste demais aos dados de treino. Por isso, nos nós folha, a previsão é definida pela classe majoritária. Para regressão, a previsão final é feita a partir da média dos valores das amostras presentes no nó, podendo ser trocada para a mediana com o objetivo de conter possíveis outliers. Ganho de informação: quantifica a redução da entropia promovida por uma divisão, comparando a impureza do nó pai com a impureza ponderada dos nós filhos. Previsão final de uma árvore de decisão Classificação Regressão Árvores de regressão A árvore de regressão tem como objetivo encontrar diferentes pontos de corte entre as features, a fim de prever um valor contínuopor meio da minimização de uma função de custo (MAE ou, geralmente, MSE). O processo de encontrar os pontos de corte é análogo ao de uma árvore de classificação: diferentes valores são testados como possíveis cortes, e o algoritmo compara cada uma das variáveis para identificar aquela que promove a maior redução da MSE. A previsão final é obtida com base na média dos valores das amostras presentes no nó, o que torna o algoritmo vulnerável a outliers, que podem distorcer o valor médio. Para contornar esse efeito, é possível substituir a média pela mediana como valor de previsão. Desvantagens Vulnerabilidade a overfitting Quando os hiperparâmetros de uma árvore não são ajustados corretamente, uma árvore de decisão tende a crescer exageradamente e, assim, se sobreajustar aos dados de treinamento, não conseguindo generalizar o resultado para os novos dados. Para prevenir isso, é importante sempre efetuar uma tunagem de hiperparâmetros, principalmente referente a: Profundidade da árvore (max_depth) Número mínimo de amostras por folha (min_samples_leaf) Número mínimo de amostras para o split (min_samples_split) 69 Vantagens Versatilidade Alta explicabilidade Falta de iteratividade Sensibilidade a outliers em regressão Uma árvore de decisão pode ser utilizada tanto para classificação quanto para regressão. Assim, é possível usar o mesmo pipeline para ambas as situações sem grandes ajustes. A árvore de decisão não gera somente valores, mas um diagrama de fluxo. Assim, é possível visualizar exatamente os pontos de corte, quantas amostras de cada classe estão presentes em cada nó, o peso de cada variável e o grau de pureza. O processo de decisão do ponto de corte em uma árvore de decisão ocorre localmente, ou seja, o algoritmo analisa as features individualmente, escolhendo aquela que maximiza a redução de impureza no nó atual. Como a discriminação é feita com base em somente uma variável, o modelo não captura diretamente as correlações entre elas. A previsão em uma árvore de decisão de regressão é feita com base na média. Assim, ela é muito distorcida em casos de outliers. Não existe restrição quanto à relação entre variáveis Baixo custo computacional Seleção de atributos Uma árvore de decisão pode receber dados com quaisquer tipos de relações (lineares, exponenciais, entre outras), o que não acontece na regressão logística e linear, por exemplo. Uma única árvore possui um baixo custo computacional atrelado, uma vez que o número de amostras que serão utilizadas em cada nó vai diminuindo conforme a pureza aumenta. A árvore de decisão acaba selecionando sozinha quais atributos usar. Por isso, costuma ser robusta à inclusão de variáveis irrelevantes ou redundantes, já que somente as features que contribuem para a redução da impureza são utilizadas nas decisões do modelo. Técnicas de podagem (puring) As técnicas de podagem têm como objetivo parar o crescimento acelerado de uma árvore para prevenir overfitting. Existem dois tipos de poda: 70 Principais híperparâmetros Pré podagem (pre-puring) Criterion Pós podagem (post-puring) Max_deph Min_samples_split min_samples_leaf max_leaf_nodes Pré-poda (pre-pruning): interrompe o crescimento da árvore antes de ela ficar muito complexa, por meio do ajuste de hiperparâmetros como a profundidade máxima da árvore (max_depth) e o número mínimo de amostras para o nó ser dividido (min_samples_split). Métrica de impureza utilizada, podendo ser gini ou entropia (entropy). Para regresão, squared_error ou absolute_error Pós-poda (post-pruning): a árvore é inicialmente construída sem restrições, crescendo até o máximo. Depois, os ramos que não contribuem com a performance são removidos através da comparação da impureza de um nó comum com o que teríamos ao transformar o nó em folha. Profundidade máxima da árvore, sendo um número inteiro. Número mínimo de amostras necessário para dividir um nó. Número mínimo de amostras em um nó folha Limita o número total de nós folha Condição de split escolhida, por que mais minimiza o gini dos nós filhos Samples números de amostras (ou observações) dentro desse nó Class Classe majoritária presente no nó, que será a previsão final do modelo caso este nó seja folha. Value número de amostras dentro de cada classe, separadas por vírgula. A soma é igual a samples, e a partir dela conseguimos ver o quão bem as classes estão discriminadas e como isso se relaciona com o valor do Gini. Gini/Entropia Valor do gini/ entropia no nó Interpretação de uma árvore 71 Aprofundamento Clique no QR Code! https://youtu.be/_L39rN6gz7Y?si=y2JoKL3bxNS__Mc7 https://youtu.be/wpNl-JwwplA?si=0RNUWYsaoLAhfu42 https://youtu.be/g9c66TUylZ4?si=erICoyk9MgYqfVIS https://youtu.be/W7MfsE5av0c?si=plplqtOrSq-v5GtE https://youtu.be/J4saniZXutU?si=ADxHTq6N0th_gfRx https://youtu.be/pocz0bWjp_o?si=JaKVP8NDrMNqUYo9 https://youtu.be/aNrdgC0lIZ8?si=h8uhsPYXT-EsaViJ 72 Support Vector Machine (SVM) é um algoritmo de aprendizado supervisionado utilizado tanto para classificação quanto para regressão. Na classificação, onde é mais utilizado, seu objetivo é encontrar o hiperplano ótimo que separa os dados em duas classes, de modo a maximizar a margem (definida como a distância entre o hiperplano de decisão e os pontos mais próximos de cada classe). Desse modo, é essencial que os dados sejam linearmente separáveis para que seja possível determinar o hiperplano. Support Vector Machine (SVM) Conceitos: Margem Hard Margin SVM criterioso Vetor de suporte Vetor de suporte Margem Fronteira de decisão Hiperplano distância entre o hiperplano e os vetores de suporte. O objetivo do SVM é maximizar a margem, ou seja, proporcionar a maior separação possível entre duas classes. Entretanto, é possível definir o nível de rigor adotado para definir essa separação entre classes. Observe o ponto verde no esquema. Ele está dentro do espaço da margem e longe das outras observações. Caso o modelo imponha restrições extremamente rígidas, a fronteira de decisão se deslocaria para próximo dele, diminuindo a margem. Um SVM de Hard Margin é uma abordagem utilizada para problemas perfeitamente linearmente separáveis, na qual se exige que todas as observações sejam classificadas corretamente e sem violações de margem. Essa abordagem promove o deslocamento facilitado do hiperplano, sendo sensível a ruídos e outliers. Assim, é plausível a ideia de "ignorar" esse ponto na hora de construir o SVM. Afinal, ele está, de certo modo, atrapalhando o objetivo original de maximizar a margem. O que aconteceu no esquema principal foi justamente isso: aplicamos uma suavização da margem, permitindo violações da margem, que podem ou não resultar em erros de classificação, e amenizando os efeitos de ruídos e outliers. Distância entre o hiperplano e os vetores de suporte São dados mais próximos da margem, e definem a posição e a orientação do hiperplano Componente que separa linearmente duas classes (verificar definição exata abaixo) 73 A partir de 4 dimensões a visualização se torna complicada, mas é matemáticamente possível traçar um hiperplano. Hiperplano: é a generalização de um plano em diferentes dimensões, representando um subespaço de dimensão n-1 que corta o espaço em questão. Espaço tridimensionalEspaço bidimensional Problema não linearmente separável +1 dimensão adicionada, separável por um hiperplano Hiperplano Soft Margin Um SVM de Soft Margin é uma abordagem utilizada para problemas não perfeitamente linearmente separáveis, na qual nem todas as observações precisam ser classificadas corretamente, permitindo violações da margem. Essa flexibilização no posicionamento do hiperplano reduz a sensibilidade a ruídos e outliers, ao custo de aceitar uma separação menos rígida entre as classes. Kernel Trick O SVM só é possível ser utilizado em problemas linearmente separáveis. Mas e quando o conjunto de dados não é linearmente separável? Para resolver esse problema, utilizamos o KernelTrick: uma técnica matemática que adiciona uma dimensão aos dados, através da aplicação de funções matemáticas diversas, com o objetivo de tornar esses dados linearmente separáveis. Tipos de kernel que são possíveis utilizar (incluindo o linea, mostrado anteriormente) Kenel 74 ExplicaçãoKernel Vantagens Desvantagens Linear Radial (RBF) kernel mais simples. Utilizado quando os dados já são linearmente separáveis. simples, rápido e bom para problemas já linearmente separáveis. bom para dados não linearmente separáveis. mais custoso computacionalmente e com risco de overfitting. não é suficiente para conjuntos não lineares. adiciona features polinomiais ao conjunto de dados. tipo de kernel mais utilizado, por conta de sua flexibilidade. Consegue lidar com problemas complexos e simples; é o padrão. consegue lidar com as mais variadas distribuições e é bom para dados com altas dimensões. custo computacional mais elevado. Polinomial Principais hiperparâmetros C Gamma Kernel controla a tolerância ao erro, o trade-off entre maximizar a margem e minimizar o erro de classificação. controla a regularidade da fronteira de decisão tipo de kernel escolhido para o modelo: linear, poly (polinomial), rbf (radial), sigmoid ou precomputed. Quanto maior o C, melhor separa as classes (hard margin, deixa a margem mais estreita). Pode aumentar o overfitting. Quanto menor o C, menor a penalização dos erros (soft margin, margem mais larga). Pode aumentar o underfitting. Quanto maior o gamma, mais irregular é a fronteira de decisão Quanto menor o gamma, mais suave é a fronteira de decisão Possibilidade de aplicar soft margin (através do parâmetro C) para equilibrar o impacto de pontos mal classificados, reduzindo a sensibilidade a ruídos e outliers extremos. Através do uso de kernels, o SVM pode lidar tanto com dados linearmente separáveis quanto com padrões complexos não lineares, mapeando os dados para espaços de maior dimensão. Embasamento matemático bem estudado e consolidado. Vantagens: 75 Baixa explicabilidade e visualização dificultada quando muitas dimensões são aplicadas. Alto custo computacional e lentidão para conjuntos de dados com muitas amostras. Baixo desempenho em dados ruidosos e com muitos outliers, que distorcem a posição dos vetores de suporte. Sensibilidade à escolha de kernel e hiperparâmetros. Mudar para um kernel menos flexível (ex.: de RBF para linear). Diminuir o hiperparâmetro C, aplicando uma soft margin para penalizar menos os erros. Mudar para um kernel mais flexível (ex.: de linear para RBF). Aumentar o hiperparâmetro C, para aplicar uma hard margin e separar melhor as classes. Desvantagens Como lidar com overfitting e underfitting no SVM Overfitting: Underfitting: Aprofundamento Clique no QR Code! É possível utilizar o SVM para classificação multiclasse, por mais que o algoritmo tenha sido construído pensando em situações binárias. As principais alternativas envolvem treinar diversos SVMs, como um para cada par de classes (one-vs-one) ou um para cada classe contra as demais (one-vs-rest). https://youtu.be/Y-WFZd9_gtE?si=NBcja2nI015Z9meG https://youtu.be/efR1C6CvhmE?si=QQCjtUx3FJP0g8bN https://youtu.be/Q7vT0--5VII?si=9MZaL3qHtCcvhiME https://youtu.be/3liCbRZPrZA?si=5FXfIQXniSTxhwrV https://youtu.be/pH51jLfGXe0?si=He_kqCFfrqvJ2A0T https://youtu.be/Lpr__X8zuE8?si=TD4TZv5CORqqy0wr https://simulators.yobee.co.in/support-vector-machine 76 Um modelo de ensemble é um algoritmo que combina múltiplos modelos simples de predição (weak learners), gerando um único modelo mais robusto que tem como objetivo reduzir o viés ou a variância da solução mais simples. Modelos de ensemble mais modernos podem minimizar de forma eficiente diversos tipos de problemas dos algoritmos de machine learning "tradicionais", como a falta de interação entre as variáveis e a sensibilidade a outliers. A grande maioria dos modelos mais famosos são baseados em árvores. Existem dois tipos principais de modelos de ensemble: Modelos de ensemble Bagging Boosting uma técnica de ensemble onde subconjuntos de dados de treinamento são criados individualmente por amostragem com reposição (bootstrapping), e depois combinados, reduzindo a variância. Ou seja: o resultado do primeiro modelo não interfere no segundo. Para definir a previsão final, são utilizados a média (para regressão) ou a moda (para classificação), em que o resultado mais frequente será escolhido. A técnica de amostragem com reposição, também conhecida como bootstrapping, gera novos conjuntos de dados com linhas e, em alguns casos, variáveis aleatórias do dataset original. Cada modelo é treinado com um dataset ligeiramente diferente, o que confere diminuição da variância. é uma técnica de ensemble onde os modelos são treinados de forma sequencial. Ou seja, inicia-se com um weak learner e cada modelo subsequente leva em consideração os erros cometidos pelo modelo anterior durante o treinamento, como se um "peso" maior fosse adicionado aos dados classificados incorretamente. Esse método é ideal para modelos com alto viés, buscando melhorar a capacidade de adaptação do modelo. Modelo 1 Modelo 1 Modelo 2 Modelo 2 Modelo 3 Modelo n BootstrappingDados originais Treinamento Modelo Final Dados originais previsoes incorretas previsoes incorretas previsoes corretas previsoes corretas 77 O Random Forest é um modelo de ensemble de classificação e regressão que combina múltiplas árvores de decisão simples e aleatórias, utilizando amostras bootstrap e seleção aleatória de features, gerando uma única predição mais robusta e complexa, com menor probabilidade de overfitting e com maior custo computacional quando comparado com uma árvore de decisão simples. Para classificação, o resultado escolhido é a moda dos resultados das árvores (votação), enquanto para regressão é a média. Quando comparado com uma árvore de decisão individual, o Random Forest possui uma tendência de sobreajuste muito inferior. Entretanto, ainda assim é possível overfittar esse modelo, mas talvez de maneira um pouco diferente. Quando olhamos para o funcionamento do modelo, é lógico pensar que, se aumentarmos o número de árvores para um número muito grande, o modelo vai se sobreajustar aos dados de treinamento e não generalizar a previsão para novos dados. Entretanto, isso não é o que acontece. Conforme aumentamos o número de árvores, a diferença entre o erro do treino e do teste diminui e se estabiliza a partir de um determinado valor. Isso se dá por conta da estabilização da variância própria do modelo. Os parâmetros do random forest são os mesmos de uma árvore de decisão adicional, tirando o parâmetro número de árvores (n_estimators). Random Forest Dados de treinamento Bagging (votação das classes) Classe A Classe A Classe AClasse A Classe B Classe B Classe A Árvore de decisão Random Forest Cria apenas uma árvore Cria um conjunto de árvores aleatórias simples Cria regras para a selação das melhores variáveis, usando um único conjunto Considera diversos subconjuntos aleatório das variáveis para fazer os splits e efetuar a previsão Resultado é a moda ou a média de todas as árvores O resultado é fruto de uma única árvore Relação de overfitting no Random Forest 78 O uso de datasets com bootstrapping contribui para a captura de relações mais complexas entre as variáveis, o que diminui a variância e o overfitting. Por ser formado por diversas árvores de decisão individuais, o Random Forest acaba por perder a explicabilidade proveniente de uma única árvore de decisão simples. Baixa velocidade de processamento Diminuição da variância e do overfitting Perca da explicabilidade Vantagens Desvantagens Erro do treino x teste Diferença erro do treino e teste Erro do Treino Erro do Teste M SE In te rv al o Número de árvores Número de árvores O overfitting, na verdade, acontece quando os hiperparâmetros individuais das árvores são modificados, como a profundidademáxima, número mínimo de amostras para ocorrer um split, etc. No gráfico à esquerda, é possível observar que a diferença entre o erro do treino e do teste aumenta conforme aumentamos a profundidade da árvore, e não quando aumentamos o número de árvores. 79 O AdaBoost é um algoritmo de boosting, ou seja, é treinado de forma sequencial onde, a cada iteração, o algoritmo fornece pesos sobre as observações, atribuindo maior peso àquelas que foram classificadas incorretamente pelo modelo anterior. Esse mecanismo faz com que modelos com menor erro contribuam mais para a predição final. O Gradient Boosting é um algoritmo de boosting para classificação ou regressão, que tem como objetivo utilizar árvores de decisão simples, treinadas de forma sequencial, de modo que o modelo posterior corrija os erros residuais do modelo anterior. Seu funcionamento se baseia em, no lugar de tentar prever diretamente o valor da variável target, prever os resíduos do modelo anterior por meio das variáveis disponíveis, ajustando o modelo por meio de uma taxa de aprendizado associada, de forma a minimizar uma função de custo utilizando gradiente descendente e gradualmente aumentar o desempenho. De modo geral, em um modelo baseado em gradient boosting: Adaboost Gradient Boosting Primeira iteração Segunda Iteração Modelo final Erros Aplicação de maior peso aos erros Segunda iteração Priorização dos erros penalizados Combinação primeira e segunda iteração 1. 2. 3. 4. 5. Um modelo simples é criado a partir de uma previsão que mais se aproxime de minimizar a função O resíduo desse modelo é calculado. Uma árvore inicial é formada, com base nas features, com o objetivo de prever o valor desses resíduos. Com base nas previsões da árvore para os resíduos, precisamos comparar esses valores com o valor real e, assim, atualizar os valores que serão utilizados na próxima árvore. O processo se repete até que atingimos o número máximo de árvores O valor utilizado na próxima árvore para cada instância será: 80 XGBoost (eXtreme Gradient Boosting) é um algoritmo de ensemble baseado no gradient boosting, utilizado para classificação e regressão. Suas principais características incluem a implementação nativa da regularização L1 e L2, tratamento de valores ausentes e validação cruzada, além de ser altamente otimizado para grandes datasets por empregar construção paralela e suportar crescimento level-wise e leaf-wise, dependendo do objetivo determinado. A aceleração por GPU contribui para sua popularidade e eficácia na prática. No crescimento level-wise, todos os nós do mesmo nível de profundidade são expandidos, deixando todos no mesmo nível. É um processo mais otimizado para o paralelismo; por outro lado, há uma demora maior para convergir e minimizar a função de custo. No crescimento leaf-wise, os nós crescem de forma assimétrica, sendo que somente o nó que proporciona um maior ganho de informação e diminuição da função de custo cresce. Possui como vantagem uma convergência mais rápida para grandes conjuntos de dados. XGBoost LightGBM Regularização L1 e L2 nativa para lidar com overfitting Crescimento level-wise Crescimento leaf-wise Otimização para grande volume de dados por conta de recursos de paralelização Tratamento automático de valores ausentes sem a necessidade de pré processamento Alta gama de hiperparâmetros opcionais para facilitar a modelagem Possui como tipo de crescimento padrão o level-wise, mas suportando o leaf-wise Regularização L1 e L2 facilitada Substituição de valores contínuos por bins discretos, otimizando o consumo de memória Lidar automaticamente com variáveis categoricas e missings O LightGBM é uma variação do gradient boosting desenvolvido pela Microsoft, posteriormente ao XGBoost. Ele tem como principais características ser um algoritmo extremamente rápido, por utilizar crescimento leaf-wise para convergir rápido, e altamente otimizável para dados tabulares. De modo específico, o LightGBM possui como atributos: 81 Crescimento leaf-wise Amostragem inteligente de dados (GOSS) Alta gama de hiperparâmetros opcionais para facilitar a modelagem Aprofundamento Clique no QR Code! https://youtu.be/9ieThsLib-U?si=fsjW0cgpWvzH8-bV https://youtu.be/TyvYZ26alZs?si=5L1Y2ChCp_eB6uGt https://youtu.be/n_ZMQj09S6w?si=MRo3NElQAnnoF_5v https://youtu.be/eRtwENJae0c?si=jNYvuXMQqLMCUj2b https://youtu.be/Xz0x-8-cgaQ?si=tQ93vcrbsLmVhed9 https://youtu.be/EbYOnORvrio?si=vxeZ_op9vua_SXnN 82 Aprendizado Não Supervisionado O K-Means é um algoritmo não supervisionado que tem como objetivo dividir os dados em K clusters com características semelhantes. Através da seleção aleatória de centróides (o número depende da quantidade de clusters desejados), cada ponto do dataset é associado ao centróide mais próximo. Após isso, a posição do centróide é redefinida com base nas médias dos pontos pertencentes a cada um, até atingir o número máximo de iterações. Vamos considerar o seguinte dataset, sendo que o K selecionado vai ser igual a 2. Os dados não serão normalizados, para facilitar a visualização. Um centróide é o centro geométrico de uma forma. Se temos pontos formando uma esfera, o centróide vai estar localizado exatamente no centro dessa esfera. O K-means utiliza o conceito de centróides para determinar a localização dos clusters, sendo que cada centróide vai ser o centro de um cluster. Centróides são inicializados de maneira aleatória iniciação de modo inteligente, com base na probabilidade proporcional a distância (centróides mais longe do primeiro tem mais chance de serem escolhidos, evitando q estejam muito juntos) Centróide Número de clusters (n_clusters) Random: K-means++: Modo de inicilização dos centróides (init) Número máximo de iterações (max_iter) Funcionamento do k-means Principais Hiperparâmetros K-means Conjunto de dados Atribuição de centróides aleatórios no espaço Calcula a distância dos pontos para os centróides, relacionando eles com o centróide mais proximo Atualiza a posição do centroide, sendo ela amédia entre os pontos atribuídos Calcula novamente a média entre os pontos e reposiciona o centróide. Repete o processo até não mudar. K-Means na prática 83 Nome Nome A B C D E A (25,2500) B (32, 4000) C (40, 5000) D (22, 2000) E (27, 3600) 25 32 40 22 27 0 1500 2530 502 1100 2530 1000 0 3041 400 C1 C2 C2 C1 C2 2500 4000 5000 2000 2500 Idade Distância até C1 Distância até C2 Céntróide atribuído Renda Definição dos centróides Cálculo das distâncias Atualização dos centróides com base na média dos pontos O primeiro passo é definir os centróides. O próprio algoritmo determina as posições deles aleatoriamente, e o número de centróides vai ser equivalente ao número de clusters definido no começo (ou seja, 2). O centróide vai ser o ponto central de um cluster no K-means, podendo ser localizado em qualquer ponto do espaço. No caso de algoritmos como K-medoids, o centroide precisa ser um ponto real do dataset, ou seja, que possui uma observação. Vamos considerar a localização dos centróides sendo: Depois, precisamos calcular a distância de ambos os centróides para cada ponto do dataset. Cada ponto vai ser atribuído ao centróide que for menos distante. Para efetuar esse cálculo, o método mais comum é utilizando a Distância Euclidiana. Centróide 1 (C1): Centróide 2 (C2): Idade: 25 Renda: 2500 Idade: 40 Renda: 4000 84 Assim, a posição dos centróides passou de C1(25,2500) e C2(40,4000) para C1 (23.5, 2250) e C2(33, 4200) Cálculo das distâncias com base nos novos centróides A partir daqui, repetiremos o mesmo processo anterior com base nos novos centróides calculados. Ou seja, calcularemos a distância entre todos os pontos e os centróides e atribuiremos eles aos mais próximos. Por conta do deslocamento do centróide, é possível que um ponto que anteriormente não estava próximo passe a estar — e, com isso, ocorra uma mudança nos clusters.Caso não houvesse mudança na disposição dos clusters, o K-means está finalizado. Se houver, é necessário repetir o mesmo processo novamente de recalcular a média e as distâncias até um momento de estabilidade. Como não houve mudança no centróide atribuído, o algoritmo está finalizado. Nome A (25,2500) B (32, 4000) C (40, 5000) D (22, 2000) E (27, 3600) 250 1750 2750 250 1350 1700 200 800 2200 600 C1 C2 C2 C1 C2 Distância até novo C1 Distância até novo C2 Céntróide atribuído Alta explicabilidade e fácil implementação Rápido Bom para grandes volumes de dados O K-means possui uma alta explicabilidade, e os poucos hiperparâmetros necessários facilitam a sua implementação Vantagens 85 O K-medoids é um tipo de modelo alternativo ao K-means, que no lugar de usar centróides, utiliza medoides. De modo geral, enquanto o centróide do K-means pode aparecer em qualquer ponto aleatório do espaço, o K-medoids escolhe pontos reais do espaço para ser o início do cluster. Isso minimiza principalmente a sensibilidade a outliers do K-means. Aleatoriedade dos centróides Sensibilidade a outliers Sensibilidade a alta dimensionalidade e dados não normalizados Reestrição ao formato esférico do cluster O número de clusters (K) precisa ser definido manualmente Tratamento de missings Tratamento de outliers Codificação de variáveis categóricas Escalonamento de variáveis O fato dos centróides serem atribuídos de maneira aleatória no espaço contribui para um maior custo computacional se ele for posicionado em uma região distante dos pontos, o que gera uma convergência mais lenta e resultados diferentes dependendo da inicialização. Esse problema pode ser minimizado utilizando K-means++. Outliers deslocam a posição dos centróides, assim, prejudicando a definição dos clusters A alta dimensionalidade dificulta o processo de distinção dos centroídes mais próximos Pontos que minimizam a Distância Euclidiana tendem a se organizar de maneira esférica. Assim, o k- means não consegue distinguir diferentes formatos de clusetr O valor de K precisa ser definido manualmente pelo usuário. Desse modo, é necessário um método de definição de clusters alternativo, como o do joelho ou silhueta. K-Means X K-Medoids Preparação dos dados Desvantagens Aprofundamento Clique no QR Code! https://youtu.be/lX-3nGHDhQg?si=4dmb5ybWA6Pl0F1K https://youtu.be/4b5d3muPQmA?si=nRODbLrOD13LqFxQ https://youtu.be/4qJWhvFQb9g?si=NMtoh0nbzbcrK9bM https://youtu.be/3RAEwPiZkkw?si=lIeY7oa7RHugeUPV https://youtu.be/ChBxx4aR-bY?si=eygx9FiMajpgIrpT 86 DBSCAN O DBSCAN é um algoritmo de clusterização baseado em densidade que identifica pontos que possuem densidade semelhante. Ele usa dois hiperparâmetros principais: ε (raio de vizinhança) e MinPts (número mínimo de pontos para formar uma região densa). O algoritmo atribui os pontos a clusters de acordo com core points, que são observações que possuem um número mínimo de outras observações dentro do raio de vizinhança ε. Diferentes core points vão se agrupando, bem como border points próximos. A principal característica do DBSCAN é a sua capacidade de isolar e identificar outliers. Por ser baseado em densidade, a formação do cluster não fica comprometida quando há a presença de valores extremos. Corepoint Conceitos MinPnts Epilson (ε) Borders Corepoints hiperparâmetro do DBSCAN que define o número mínimo de pontos que precisam estar dentro do raio ε para que um ponto seja considerado core point. ε (épsilon) é o tamanho do raio definido a partir de um core point. Assim, a área desse círculo delimita o espaço a ser ocupado por um número mínimo de pontos para se formar um core point. É um hiperparâmetro que pode ser definido. Os borders são pontos que não são core points, mas que estão dentro do raio ε traçado a partir dos core points. Ou seja: não delimitam o cluster em si em um primeiro momento, mas por estarem suficientemente perto de um core point, são incorporados posteriormente e não são considerados outliers. Core point é um ponto que delimita a área de clusters em um DBSCAN. Para ser um core point, é necessário ter um número mínimo de vizinhos (MinPts) dentro de uma área delimitada por uma distância (raio ε). 87 DBSCAN na prática Para cada observação do conjunto de dados, um raio é traçado com tamanho determinado pelo hiperparâmetro ε. Considerando que MinPts = 4, se esse raio cobrir 4 ou mais observações, o ponto que o originou vai ser denominado core point. Core points que estiverem no raio de outros core points vão ser incorporados ao cluster. Os borders, observações que não possuem 4 pontos dentro de seu raio, mas que estão dentro do raio de algum core point, também são incorporados ao cluster. Pontos que não forem nem borders nem core points são outliers. Esse mesmo processo acontece até que todos os pontos sejam devidamente inseridos em um cluster ou considerados outliers. Resistente a outliers O próprio algoritmo identifica o número de clusters ideal Não depende de inicialização aleatória Origina clusters com formatos variados A principal característica do DBSCAN é ser capaz de identificar e isolar outliers Ao contrário do K-Means, que só é capaz de originar clusters esféricos, o DBSCAN é capaz de gerar clusters com formatos e tamanhos variados. Ele também é capaz de identificar clusters próximos. Ao contrário do K-Means, que você precisa apontar o número de clusters, o DBSCAN identifica o número de clusters ideal dados os hiperparâmetros selecionados. O início de um cluster vai ser sempre um ponto real do espaço. Logo, não depende de inicialização aleatória. Vantagens 1. 2. 3. 88 Seleção sensível de epilson e MinPts Tratamento de valores nulos Sensibilidade a variações de densidades diferentes Escalonamento Sensibilidade a alta dimensionalidade e a dados não normalizados Codificar variáveis categóricas Todo o algoritmo é baseado nesses dois hiperparâmetros, sendo essencial uma tunagem ideal. A alta dimensionalidade e dados não normalizados (fora de escala) prejudicam o processo de aglomeração dos core points Como epilson é global (único), pode não capturar adequamente dados com densidades distintas, falhando em identificar dados dispersos, Essencial no DBSCAN Desvantagens Preparação dos dados Aprofundamento Clique no QR Code! https://youtu.be/RDZUdRSDOok?si=mCRXbqta_sBXVvZv https://youtu.be/VO_uzCU_nKw?si=1ReFa29bMObWbpPe https://youtu.be/-EFB6icKr7E?si=C7uBQC4y7956NA0q https://youtu.be/jTdik9sD2XM?si=6bnlqguN-jR5qECA 89 Agrupamento Hierárquico O agrupamento hierárquico é uma família de algoritmos de clusterização baseada em matrizes de dissimilaridade (ou distância). Eles utilizam diferentes métodos de ligação (linkage) para fundir ou dividir sucessivamente os clusters, construindo uma estrutura hierárquica que pode ser visualizada através de um dendrograma. O dendrograma permite escolher o número de clusters cortando a árvore em diferentes níveis de similaridade, o que torna o agrupamento hierárquico um método que fornece uma visão intuitiva e sequencial do processo de formação dos agrupamentos. Existem dois principais tipos de agrupamento hierárquico: o aglomerativo e o divisivo. O método de ligação é o critério utilizado para formar os clusters através das matrizes de distância. Diferentes métodos de ligação promovem diferentes formações de clusters, e cada um possui um propósito distinto. Métodos de Ligação (Linkage) Ligação Mínima (Single Linkage) Efeito Chaining (Corrente) Utiliza como critério para formação dos clusters a menor distância entre dois pontos. Vantagens: simples explicação, bom para clusters com formatos irregulares. Desvantagens: sensibilidade a outliers e efeito chaining (como considera somente a menor distância, o single linkage pode ser suscetível a criar clusters não compactos e alongados por conta de pontos intermediários). A maioria das pessoas provavelmente consideraria três clusters distintos, com algunsoutliers. O single linkage sempre considera a menor distância, permitindo assim a ligação desses clusters por uma corrente. Resultado: clusters alongados e distorcidos. Considerando cada ponto um cluster individual Os dois pares mais próximos são atribuídos ao mesmo cluster Cálculo de todas as distâncias entre os pontos 90 Se temos um cluster já formado, contendo dois pontos: A distância média que for mínima, vai ser considerada para a função do cluster A nova distância calculada vai ser igual a média da distância entre o ponto verde e vermelho em relação a todos os outros pontos. Cálculo de todas as distâncias entre os pontos Os dois pares mais próximos são atribuídos ao mesmo cluster Considerando cada ponto um cluster individual Utiliza como critério para formação dos clusters a média da distância entre todos os pares de pontos entre dois clusters. Utiliza como critério para formação dos clusters a minimização da variância intra-cluster Utiliza como critério para formação dos clusters a maior distância entre dois pontos. Ligação Média (Avarage Linkage) Ward Linkage Ligação Máxima (Complete Linkage) Vantagens: Forma clusters compactos e bem separados Desvantagens: Sensibilidade de outliers, formação de muitos clusters, não é bom para clusters com formatos irregulares. Vantagens: É menos extremo do que o single e o complete, sendo uma opção intermedíaria e, normalmente, a mais utilizada. Desvantagens: A interpretação das distâncias é prejudicada. 91 Agrupamento Hierárquico Divisivo Agrupamento Hierárquico Aglomerativo Funcionamento passo a passo: No agrupamento hierárquico aglomerativo, cada ponto do conjunto de dados é considerado um cluster separado, que se aglomeram em clusters maiores com base no método de ligação escolhido. É o tipo de agrupamento mais comum. No agrupamento hierárquico divisivo, o conjunto de dados inteiro é considerado um único cluster, que se divide em clusters alternativos até cada observação se tornar um único cluster. 2,5 2 1,5 1 0,5 2,5 2 1,5 1 0,5 D ist ân ci a D ist ân ci a 5 8 2 6 4 1 a b c d e No eixo X, temos os pontos individuais do conjunto de dados. No eixo Y, temos a métrica de dissimilaridade fornecida pelo método de ligação escolhido. Observe a linha vermelha. Se escolhermos o método single linkage, os pontos 4 e 1 do dataset são os que possuem a menor distância entre si dentre todos os pontos, sendo essa distância 0,5. Assim, esses dois pontos se juntam e formam um único cluster. Esse processo acontece sucessivamente, até que só haja um único cluster, formado a partir da distância 2,5. O mesmo processo, utilizando o single linkage, pode ser exemplificado da seguinte forma: Cada ponto é inicialmente considerado um cluster. Calcula-se a distância de cada ponto em relação a todos os outros, e o par que estiver mais próximo (ou mais distante, dependendo do método de ligação utilizado) é unido, formando um único cluster. Em seguida, recalculam-se as distâncias entre todos os pontos e/ou clusters remanescentes, e o par que estiver mais próximo (ou mais distante) é novamente agrupado. Esse processo ocorre de forma sucessiva; a cada iteração, o número de clusters é reduzido em uma unidade, e o algoritmo termina quando resta apenas um único cluster. Tipos de agrupamento hierárquico Vantagens e desvantagens 1. 2. 3. 4. Vantagens: Não exige o número de cluster antes de inciar o algoritmo 92 É possível visualizar diferentes números de clusters ao mesmo tempo Produz um dendograma, o que facilita a explicabilidade Sensibilidade a outliers Escolha sensível do método de ligação: o formato e o número de clusters pode variar muito Não é bom para um grande volume de dados, por conta do alto custo computacional Desvantagens Como determinar o melhor número de clusters com o dendograma O número ideal de clusters pode ser determinado a partir da análise do dendrograma. Como já mencionado, a qualidade de um agrupamento é avaliada pela coesão intra-cluster (proximidade dos pontos dentro do mesmo cluster) e pela separação inter-cluster (distância entre clusters diferentes). Em um dendrograma, o eixo Y representa o nível de dissimilaridade no qual ocorre a fusão entre clusters. Como a ideia é manter os grupos o mais separados possível, o número ideal de clusters é obtido ao fazer um corte horizontal logo antes do maior "salto" vertical no gráfico, que indica uma grande diferença entre os grupos que seriam unidos. A maior distância inter- cluster resulta em 4 clusters; logo, esse é o número ótimo de clusters para esse conjunto de dados. 6 Clusters 4 Clusters 2 Clusters 11 Clusters Exemplo prático Cliente Ana Pedro Paulo 50K 30K 10K 70 30 5 Renda Score Queremos separar os clientes Ana, Pedro e Paulo em grupos com o agrupamento hierárquico, com base nas informações de renda e score. 93 Ana Paulo Ana Pedro Ana Pedro A menor distância é entre Pedro e Paulo (32), logo, agruparemos eles em um único cluster. Nesse exemplo, usaremos o método de ligação Single, então vamos usar a menor distância entre Ana com Pedro e Paulo para colocarmos na matriz. 50 30 10 5 20 70 70 - 5 = 65 X = 76 X = 44 X = 32 70 - 20 = 50 20 - 5 =15 70 - 30 = 20 30 - 10 = 2050 - 10 = 40 Cliente Ana Pedro Paulo 0 44 76 44 0 32 76 32 0 Ana Pedro Paulo Com base nos dados, precisamos calcular as matrizes de distância entre Ana, Pedro e Paulo. Vamos calcular essa distância com base na Distância Euclidiana. Pedro-PauloAnaCluster A distância de Ana para Paulo é 76, enquanto a distância de Ana para Pedro é 44. Logo, na nova matriz (que já considera Paulo e Pedro como um único cluster), iremos colocar o valor 44. Se fosse o método de ligação complete, o valor seria o 76. Se fosse o Avarage, o valor seria 60 (a média entre as distâncias de Ana entre eles) Ana Pedro-Paulo Ana Pedro Paulo 0 44 44 0 Aprofundamento Clique no QR Code! https://youtu.be/8QCBl-xdeZI?si=DNlo5r-0vJ9DGiZ5 https://youtu.be/7xHsRkOdVwo?si=RyVfqs6tnApZEc8Z https://youtu.be/dToBP2UL9FI?si=Mhyx3peoyuLV0dZS https://youtu.be/xShjj3HoN_s?si=uNZLKHljSiHdjgSE 94 Gaussian Mixture Models (GMM) É um algoritmo não supervisionado, probabilístico e paramétrico, que assume que os dados são gerados a partir de uma mistura de distribuições gaussianas. Cada gaussiana possui seu próprio conjunto de parâmetros e pode se sobrepor: cada uma corresponde a um possível cluster, e a cada ponto é atribuída uma probabilidade de pertencer a cada um desses clusters, o que caracteriza o GMM como um algoritmo de soft clustering. Vamos considerar, por exemplo, que temos um conjunto de dados com a altura de pessoas e, dentro desse conjunto, existem três grupos não identificados: crianças, adultos e idosos. Em cada um desses grupos, assumimos que a distribuição das alturas segue uma distribuição normal: o grupo das crianças possui uma altura mais frequente em torno da média, que vai se dispersando conforme nos afastamos dela, assim como ocorre com os adultos e os idosos. O algoritmo, portanto, diferenciará esses três grupos nesse caso somente com base na variável de altura. A Gaussiana 1, com média de 130 cm, passou a representar o cluster das crianças. A Gaussiana 2, de 155 cm, o cluster dos idosos. A Gaussiana 3, de 165 cm, o cluster dos adultos. O algoritmo fará isso para todas as variáveis, criando, assim, uma estrutura multidimensional de Gaussianas. Análoga a uma distribuição normal, com formato de sino e com parâmetros sendo a média e o desvio padrão. É uma abordagem de clustering onde cada observação pode pertencer a múltiplos clusters simultaneamente. Gaussiana Soft Clustering O GMM Crianças Intersecção Idosos Adultos Média altura 130 155 165 p( x) É possível observar que existem sobreposições entre diferentes gaussianas (em roxo e laranja). Uma criança pode ter a mesma altura que um adulto ou até mesmo que um idoso. Dessa forma, ao tomarmos um pontoaleatório, uma probabilidade será associada a ele indicando seu pertencimento a cada um dos clusters definidos. GMM multimodal 95 Parâmetros do GMM Algoritmo de Expectation-Maximization (EM) Como no GMM possuímos diversas gaussianas, os parâmetros não são os mesmos de uma única distribuição normal (média e variância). Por isso, precisamos estimar os diferentes parâmetros para cada uma delas. No caso de uma gaussiana multivariada, temos os seguintes parâmetros a serem encontrados: Vamos considerar que temos dados gerados por uma mistura de duas distribuições gaussianas e queremos determinar a qual gaussiana cada ponto pertence. Entretanto, há um impasse: para estimar os parâmetros das gaussianas, precisamos saber de qual fonte cada ponto veio, mas para saber a origem dos pontos, precisamos dos parâmetros. O algoritmo Expectation-Maximization (EM) resolve esse problema estimando os parâmetros de modo iterativo, semelhante ao gradiente descendente: Para cada gaussiana, μ é um vetor que contém as médias de todas as variáveis, definindo a posição do centro da distribuição no espaço multidimensional. Para cada gaussiana, Σ é uma matriz que captura a dispersão (variâncias) e a correlação entre as variáveis, determinando a forma, a orientação e a "largura" da distribuição. Cada gaussiana possui um peso π que representa sua proporção na mistura total, ou seja, a probabilidade a priori de um ponto pertencer a essa componente. A soma de todos os π deve ser igual a 1. µ (vetor de médias): Σ (matriz de covariância): π (peso da mistura): π = [0.47 0.26 0.27] π π π π π π 1 1 2 2 3 3 Inicialização aleatória dos parâmetros. E-step (Expectation step): com os parâmetros determinados anteriormente, calcula-se para cada ponto a probabilidade de pertencer a cada gaussiana. M-step (Maximization step): com base nas probabilidades calculadas, os parâmetros são recalculados de modo a maximizar a verossimilhança. O processo se repete até os parâmetros convergirem ou atingir o número máximo de iterações. 1. 2. 3. 4. 96 Vantagens e desvantagens Vantagens: Soft clustering: permite que um ponto pertença a múltiplos clusters, com probabilidades distintas. Isso permite quantificar incertezas e fornece maior flexibilidade. Mais robusto a outliers do que métodos baseados em distâncias. Assume que os dados seguem uma distribuição normal multivariada, não sendo eficiente para outros tipos de conjunto de dados. Alto custo computacional e lento. Sensível à inicialização dos parâmetros, podendo convergir para mínimos locais. Desvantagens 97 Glossário Percentil Medida que indica a posição relativa de um valor em um conjunto de dados; por exemplo, o primeiro quartil corresponde ao percentil 25, onde 25% dos dados estão abaixo desse valor Valores que dividem um conjunto de dados ordenado em 4 partes iguais para avaliar a dispersão: o primeiro quartil (25%), o segundo (50% ou mediana) e o terceiro (75%) Descreve como os valores de uma variável aleatória se espalham ao longo de seu domínio, modelando a probabilidade associada a diferentes intervalos Representa a posição central de um cluster. Refere-se ao número de variáveis ou características (features) presentes em um conjunto de dados, alta dimensionalidade prejudica o desempenho do modelo e dificultar a identificação de padrões Representa o dado de saída que o modelo busca prever ou explicar com base nas variáveis de entrada São os dados de entrada de um modelo de machine learning utilizados para tentar compreender padrões e realizar previsões sobre a variável resposta Também chamada de variável qualitativa, representa características ou classes que não podem ser descritas numericamente de forma nativa, podendo ser nominal ou ordinal É uma distribuição análoga à distribuição normal, caracterizada por um formato de sino e determinada pelos parâmetros de média e desvio padrão. Também chamada de variável quantitativa, é aquela que pode ser medida numericamente e representar quantidades, podendo ser classificada como contínua ou discreta Definida como um subconjunto de uma população. Usada quando não é possível obter informações de todos os elementos da população completa Quartil Função densidade de probabilidade Centróide Dimensionalidade Target / Variável dependente / Variável resposta / Variável de saída Feature / Variável independente / Variável de entrada Variável categórica Gaussiana Variável numérica Amostra População Dataframe População é o conjunto completo de elementos (indivíduos, objetos ou eventos) que possuem uma ou mais características em comum e sobre os quais se deseja fazer inferências. É a estrutura de dados central utilizada pela biblioteca Pandas para organizar e manipular dados 98 Clusterização Técnica de aprendizado não supervisionado que consiste em dividir os dados em grupos (clusters) com características semelhantes, sem o uso de rótulos prévios Categoria de modelos supervisionados voltada para prever uma variável categórica, atribuindo os dados a classes ou categorias específicas (ex: sim/não, fraude/não fraude) Classificação Regressão Aprendizado não supervisionado Aprendizado supervisionado Categoria de modelos supervisionados que buscam prever um valor numérico contínuo (ex: previsão de renda ou preço de imóveis) Trabalha com dados não rotulados, sem uma variável alvo pré-definida. Seu objetivo é identificar padrões intrínsecos e estruturas nos dados, como na clusterização. Tipo de aprendizado que utiliza dados rotulados, ou seja, que possuem uma variável alvo (target) conhecida. O objetivo é aprender a relação entre as variáveis de entrada e a saída desejada. Erro do tipo II Ocorre quando o teste de hipótese falha em rejeitar uma hipótese nula que é falsa (ou seja, não identifica um efeito ou diferença que realmente existe) Ocorre em um teste de hipótese quando se rejeita a hipótese nula sendo que ela é verdadeira, ou seja, conclui-se que existe um efeito ou mudança onde, na realidade, não há Erro do tipo I Inferência O processo estatístico de fazer afirmações ou conclusões sobre uma população total com base nos dados observados em uma amostra. Teste de hipótese Variância Distância Distância de Manhattan Distância Euclidiana Procedimento estatístico que tem como objetivo validar suposições sobre uma população a partir de uma amostra, determinando se há evidências suficientes para rejeitar uma hipótese inicial É uma medida de dispersão que representa a média dos quadrados dos desvios em relação à média. Quanto maior a variância, mais os dados estão espalhados Métrica utilizada para quantificar a separação entre dois pontos em um espaço multidimensional de características. Calculada pela soma dos módulos das diferenças entre as coordenadas dos pontos. É menos influenciada por valores extremos do que a Distância Euclidiana. Representa a distância em linha reta entre dois pontos. É calculada pela raiz quadrada da soma das diferenças ao quadrado entre suas coordenadas e é sensível a outliers 99 Abordagem de agrupamento que permite que um ponto de dado pertença a múltiplos clusters simultaneamente, associando probabilidades a cada um deles Representa a categoria ou característica que se deseja prever em um problema de classificação Variável intrínseca ao modelo, estimada automaticamente durante o treinamento a partir dos dados (ex: os coeficientes de uma regressão linear) Soft clustering Classe Parâmetro Etapa de validação Divisão dos dados usada para verificar a capacidade de generalização do modelo Hiperparâmetro Etapa de treino Kernel Hiperplano Vetores de suporte Feature engineering Fronteira de decisão Feature importance Função de custo Fase do processo de modelagem onde o algoritmo é exposto a uma parte dos dados para aprender os padrões e ajustar seus parâmetros internos Função matemática utilizada pelo SVM (Kernel Trick) para projetar dados em dimensões superiores, permitindo a separação linearna identificação do espalhamento dos dados em relação a uma métrica de posição, como a média ou a mediana. As principais medidas de dispersão são o desvio padrão e a variância. Medidas de dispersão 3 Importância aplicada: uma baixa variância significa que os valores estão próximos da média, o que pode indicar um baixo poder preditivo da variável (devendo ser avaliada junto com sua relação com a variável target). Para reduzir a dimensionalidade e os custos, podemos avaliar a retirada dessa variável do conjunto de treinamento, caso seja comprovada sua baixa eficácia. Diferença variância amostral e populacional Para calcular a variância populacional (ou seja, de todo o conjunto de interesse), dividimos a soma dos desvios quadrados pelo número total de elementos. Em uma amostra, como sua média geralmente é uma Variância populacional Desvio Padrão É a raiz quadrada da variância. Como o cálculo da variância envolve a elevação ao quadrado, a aplicação da raiz quadrada devolve a medida à escala original dos dados. Também existe a diferença entre desvio padrão amostral e populacional. Amplitude Diferença entre o menor e o maior valor de um conjunto de dados. estimativa da média populacional, para obter uma estimativa não tendenciosa da variância populacional, subtrai-se 1 do número de elementos (graus de liberdade) no denominador. Aprofundamento Clique no QR Code! https://youtu.be/FPZBAp8QSRM?si=Te6PSJYubPcpRwbz https://youtu.be/ZOvIGIBmHyo?si=oiVWWVfqPk31mAUS https://youtu.be/ZE-YIz5ah3g?si=HmqervgQJFIVQ4Q_ https://youtu.be/kt-5klXvsws?si=-UFprWvy944Svfp2 https://youtu.be/vvXcM7iWqeI?si=3eUh0i42fQwLbEVc https://youtu.be/ByWg94-GCNw?si=072qBkFfHNZw03ej 4 Os limites superior e inferior utilizam em seu cálculo o IQR (amplitude interquartil). Todos os valores abaixo do limite inferior são considerados outliers inferiores (valores menores do que a maioria dos dados), enquanto todos os valores acima do limite superior são considerados outliers superiores. Terceiro Quartil IQR Segundo Quartil Primeiro Quartil Outliers Quartis São os valores que dividem os dados em 4 partes iguais para avaliar a dispersão. Primeiro quartil: abaixo dele estão localizados 25% dos dados. Segundo quartil: é equivalente à mediana. Abaixo dele estão localizados 50% dos dados. Terceiro quartil: abaixo dele estão localizados 75% dos dados. IQR (Amplitude Interquartil): diferença entre o terceiro e o primeiro quartil. Valores atípicos que se distanciam significativamente da maioria dos dados em um conjunto. Um dos métodos para identificá-los é o uso do boxplot em conjunto com o conceito de quartis. Outliers: Boxplot e método do intervalo interquartil 5 Hipótese Nula (H0) A hipótese que assumimos como verdadeira inicialmente. Ela postula que a suposição que queremos testar não tem efeito algum. O objetivo do teste é determinar se há evidências suficientes para rejeitá-la. Hipótese Alternativa (H1): A hipótese contrária à hipótese nula. Assume a existência de uma mudança ou efeito significativo decorrente da suposição. Testes de hipótese O teste de hipótese tem como objetivo validar suposições sobre uma população a partir de uma amostra. Essa etapa é essencial para diversas situações, como validar se um coeficiente de um modelo é significativo para a previsão ou avaliar se a distribuição dos dados entre treino e teste está adequada. Para realizar um teste de hipótese, precisamos seguir os seguintes passos: 1. Definição das hipóteses Exemplo simples: queremos testar se o salário médio da população é menor que R$3.000. Hipótese Nula (H0): o salário é maior ou igual a R$3.000 Hipótese Alternativa (H1): o salário é menor que R$3.000 Erro do tipo I Quando se rejeita a hipótese nula, sendo ela verdadeira. Assumir que há efeito onde não há. Exemplo: concluir que o salário é menor que R$3.000 quando, na verdade, ele é maior ou igual. Erro do tipo II Quando se aceita a hipótese nula, sendo ela falsa. Assumir que não há efeito onde realmente há. Exemplo: concluir que o salário é maior ou igual que R$3.000 quando, na verdade, ele é menor. Agora que já temos as nossas hipóteses definidas, precisamos das amostras para testar cada uma delas. Para isso, assumindo que o teste estatístico utilizado é paramétrico, é essencial garantir que a amostra: 2. Coleta dos dados e da amostra Seja uma amostra aleatória Seja suficientemente grande Possua distribuição aproximadamente normal Possua variância constante 3. Cálculo da estatística de teste e do p-valor Sob a hipótese nula, assumimos que a média populacional é realmente R$ 3.000. Ao coletar uma amostra, podemos obter um valor médio diferente, como R$ 1.500, 6 Será que essa diferença é grande o suficiente para questionar a veracidade de H0, ou foi fruto do acaso? Talvez sim e talvez não. Existe a possibilidade de esse valor ter sido escolhido meramente ao acaso. Para responder, é preciso testar. A estatística de teste é uma medida padronizada que compara o valor observado na amostra com o valor esperado de acordo com H0, e varia de acordo com a quantidade de amostras e os tipos dos dados. Ela é utilizada para calcular o p-valor. P-valor que é a probabilidade de obter um resultado tão extremo ou mais extremo que o observado, considerando que a hipótese nula é verdadeira. No exemplo, seria a probabilidade de obter um valor tão extremo quanto 1.500 ou mais ao coletarmos uma amostra, se a verdadeira média populacional fosse 3.000. Região crítica Região crítica Região crítica Região de aceitação Região de aceitaçãoRegião de aceitação Região crítica É a região que contém os valores da estatística de teste que resultam na rejeição da hipótese nula. A probabilidade de um valor estar dentro dessa região (supondo H0 verdadeira) é o nível de significância α. Teste unicaudal à direita Teste unicaudal à esquerdaTeste bicaudal 4. Definição do nível de significância O nível de significância (α) é a probabilidade máxima tolerada de cometer o erro do tipo I, ou seja, o erro de rejeitar a hipótese nula quando ela é verdadeira (concluir que há um efeito onde não há). O erro do tipo I é o escolhido pois é o único que pode ser controlado matematicamente, permitindo a partir da consideração de H0 como verdadeira, o cálculo da região crítica. Geralmente definimos o nível de significância como 0,05 (5%). Em nosso exemplo, a interpretação seria: aceitamos no máximo 5% de chance de concluir que o salário médio é menor que R$ 3.000 quando, na realidade, ele é maior ou igual a esse valor, A decisão final é tomada comparando o p-valor com o nível de significância (α). 5. Comparação do nível de significância (α) com o p-valor Se o p-valor for menor que α (5%), rejeitamos a hipótese nula (H0) e aceitamos a alternativa (H1). Ou seja, há evidências estatísticas suficientes para concluir que o salário médio é menor que R$ 3.000 Se o p-valor for maior que α, não temos evidências suficientes para rejeitar H0 (ou seja, não há evidências estatísticas suficientes para concluir que o salário médio é menor que R$ 3.000) Aprofundamento Clique no QR Code! https://www.youtube.com/watch?v=qrv5rFhrM4Q&t=316s&pp=ygUcdGVvIG1lIHdoeSB0ZXN0ZSBkZSBoaXBvdGVzZQ%3D%3D https://youtu.be/2K3hPwQ3Y68?si=HYh_2GBkAjJzFzNy https://www.youtube.com/watch?v=Z0USdSGlkJI&pp=ygUeY2liZWxlIHJ1c3NvIHRlc3RlIGRlIGhpcG90ZXNl https://youtu.be/Yjg7turJApc?si=pnYxxKCoVIIRhBLY https://youtu.be/1hMt-X2VYBk?si=jiYRQzreF8AcwO9N 8 Uma distribuição descreve como os valores de uma variável aleatória se espalham ao longo de seu domínio, modelando a probabilidade associada a diferentes intervalos de valores que essa variável pode assumir. Podemos classificar as principais distribuições em dois grupos: contínuas, que podem assumir qualquer valor em um intervalo, e discretas, que assumem valores inteiros. Distribuições Tipo de distribuição contínua ou discreta que atribui a todos os pontos probabilidades iguais em um intervalo determinado. P(x) x 0.05 0.04 0.03 x 0.05de problemas que eram complexos no espaço original a fronteira de decisão de alta dimensão que separa as diferentes classes de dados São os pontos de dados mais próximos do hiperplano no algoritmo SVM; eles são fundamentais pois definem a posição da margem e do próprio hiperplano Processo de criação, seleção ou transformação de variáveis para melhorar a performance dos modelos de machine learning Espaço geométrico (linha, curva ou superfície) que o modelo cria para separar as diferentes classes em um conjunto de dados Técnica que permite ranquear a contribuição de cada variável para o desempenho e as decisões do modelo, auxiliando na seleção das características mais relevantes utilizada durante o treinamento para mensurar o erro do modelo. O processo de aprendizagem foca em minimizar essa função para que as previsões sejam o mais precisas possível Variável externa ao modelo, definida manualmente antes do início do treinamento para controlar o processo de aprendizado (ex: a profundidade máxima de uma árvore) Uso de dados inéditos para simular o desempenho do modelo em uma situação real Etapa de teste 100 Momento em que os parâmetros se estabilizam no valor ótimo ou o algoritmo atinge um critério de parada definido Representa a diferença entre o valor real observado e o valor previsto pelo modelo Proporção de acertos entre todos os exemplos que o modelo classificou como positivos Taxa de acerto da classe positiva, indicando quantos dos exemplos reais positivos o modelo conseguiu capturar Resíduo Precision Recall Convergência Parâmetro que controla o tamanho do passo dado em direção ao mínimo da função durante a atualização dos coeficientes Técnica que divide o dataset em várias partes (folds) para garantir uma avaliação menos enviesada Sequência estruturada de etapas de processamento e modelagem de dados Vazamento de informações do "futuro" ou do teste para o treino, causando performance irreal Medida da inclinação da curva de uma função que define o quão longe o modelo está do ponto de mínimo Cálculo da derivada da função de custo em relação a cada coeficiente individual para determinar o sistema que representa o erro mínimo Vetor composto por derivadas parciais que aponta para a direção de maior aumento de uma função Método iterativo que ajusta os parâmetros na direção oposta ao gradiente para minimizar a função de custo Validação cruzada Pipeline Data leakage Derivada Derivada parcial Gradiente Gradiente descendente Taxa de aprendizado Matriz de confusão Tabela que cruza valores reais e previstos para identificar os tipos de erros e acertos cometidos por um classificador Curva ROC Gráfico que relaciona a taxa de verdadeiros positivos e a de falsos positivos para diferentes limiares de decisão 101 Padronização Outlier Normalização Mínimos quadrados Folha Desbalanceamento de classes Nó Overfitting Regularização Underfitting Ajuste das variáveis para que possuam média 0 e desvio padrão 1, permitindo que variáveis em escalas Um valor atípico que se distancia de forma significativa da maioria dos dados presentes em um conjunto Técnica que escala os dados numéricos para um intervalo fixo entre 0 e 1 Método determinístico utilizado para estimar os coeficientes de uma regressão, buscando minimizar a soma dos quadrados dos resíduos É o nó final de uma árvore de decisão, onde não ocorrem mais divisões e a previsão final é definida Problema em que uma classe é significativamente mais frequente que outra no dataset, o que pode tornar o modelo enviesado em direção à classe majoritária Representa o critério de divisão de uma árvore de decisão baseado em um ponto de corte de uma variável Situação em que o modelo se ajusta excessivamente aos padrões e ruídos dos dados de treino, resultando em alta variância e incapacidade de generalizar para dados novos Técnica utilizada para evitar o overfitting ao adicionar uma penalidade aos coeficientes na função de custo, forçando o modelo a ser mais simples (ex: Lasso e Ridge Situação em que o modelo é muito simples para capturar as relações e padrões dos dados, resultando em alto viés e baixa variância Indica o quão bem o modelo identifica padrões no treino; um alto viés resulta em underfitting Mede a sensibilidade do modelo a variações nos dados de treino; uma alta variância resulta em overfitting Viés Variância AUC Área sob a curva ROC que quantifica o poder discriminatório do modelo (sucesso em separar as classes) 102 Perguntas Estatística Preparação dos dados Qual é a diferença entre variáveis contínuas e discretas? Qual é a diferença entre variáveis categóricas ordinais e nominais? O que são medidas de posição? Exemplifique uma diferença no uso da média e da mediana. O que são medidas de dispersão? Qual é a diferença entre variância e desvio padrão? O que é uma função densidade de probabilidade? Quais são os tipos de distribuição? O que é uma distribuição normal e qual é a sua importância? Qual é a diferença entre uma distribuição normal e a distribuição t-Student? Quais são os parâmetros de uma distribuição normal? O que é uma normal padrão? O que seria uma normal "não padrão"? Como eu consigo mensurar a normalidade em um conjunto de dados? Quais modelos pressupõem normalidade em alguma instância? Qual é a importância de efetuar um teste de hipótese? Forneça um exemplo de teste de hipótese aplicado a machine learning. Qual é a diferença do erro do tipo I para o erro do tipo II? O que é p-valor e nível de significância? Considerando os dois, quando a hipótese nula é aceita ou rejeitada? O que é quartil e percentil? Para que serve o método IQR e qual é sua importância? O que é correlação? Qual é a diferença da correlação de Pearson para a de Spearman? O que é um histograma? O que são outliers? Quais são os métodos para tratar outliers? Quais são os principais tipos de gráficos que podem ser utilizados para identificar outliers? Quais são os métodos possíveis para imputar valores missing? Forneça um caso em que imputar uma variável com a média pode não ser uma boa ideia. Qual é a diferença entre normalização e padronização? Explique a consequência de não ter os dados normalizados para o treinamento de um modelo. O que é codificação de variáveis? Qual é a consequência de não codificá-las? Diferencie Label Encoder e One Hot Encoder quanto ao seu uso. Qual é a consequência de ter a variável target desbalanceada em um modelo de classificação? Quais são as estratégias para lidar com desbalanceamento de classes? O que é alta dimensionalidade e por que isso é um problema? O que é feature selection e quais são os principais métodos? 103 Preparação dos dados O que são outliers? Quais são os métodos para tratar outliers? Quais são os principais tipos de gráficos que podem ser utilizados para identificar outliers? Quais são os métodos possíveis para imputar valores missing? Forneça um caso em que imputar uma variável com a média pode não ser uma boa ideia. Qual é a diferença entre normalização e padronização? Explique a consequência de não ter os dados normalizados para o treinamento de um modelo. O que é codificação de variáveis? Qual é a consequência de não codificá-las? Diferencie Label Encoder e One Hot Encoder quanto ao seu uso. Qual é a consequência de ter a variável target desbalanceada em um modelo de classificação? Quais são as estratégias para lidar com desbalanceamento de classes? O que é alta dimensionalidade e por que isso é um problema? O que é feature selection e quais são os principais métodos? O que é CRISP-DM e qual é a sua importância? Por que é necessário dividir o conjunto de dados entre treino e teste? O que é uma função de custo? Explique a diferença entre MAE, MSE, RMSE e MAPE. O que é aprendizado supervisionado? Qual é o objetivo do aprendizado supervisionado e como ele se diferencia do aprendizado não supervisionado? Como um modelo de regressão se diferencia de um modelo de classificação? Qual é a diferença entre dados rotulados e classes? Qualé a diferença entre parâmetros e hiperparâmetros? Exemplifique. Qual é a diferença entre modelos paramétricos e não paramétricos? Forneça um exemplo para cada. O que são viés e variância e como se relacionam com underfitting e overfitting? Compare overfitting e underfitting. Como é possível identificar cada um? Quais são as métricas possíveis para avaliar um modelo de classificação e de regressão? O que precision, recall e F1-score medem? Qual é a situação ideal para cada um? Se eu aumento o meu threshold, o que acontece com o precision e com o recall? E quando eu diminuo? O que é a curva ROC e a AUC? O que significa ter um R² elevado? Conceitos fundamentasi de machine learning Quais são os pressupostos de uma regressão linear? O que é homoscedasticidade e como identificá-la? Por que podemos dizer que a regressão linear é um modelo paramétrico? Qual é a preparação dos dados necessária para uma regressão linear? O que significa multicolinearidade e por que isso é um problema? Qual é o impacto de ter "betas grandes" em uma regressão linear? Quais são as principais funções de custo? Regressão Linear 104 Quais são os métodos para descobrir os coeficientes de uma regressão? O que é um gradiente? Explique, passo a passo, o gradiente descendente e o método dos mínimos quadrados, bem como o que diferencia cada um deles. É possível uma regressão linear sofrer underfitting? O que acontece com os erros se eu tento ajustar uma regressão a uma senóide? O que é regularização? Qual é a diferença entre a regularização L1 e L2 e para qual caso cada uma é utilizada? Quais são as vantagens e desvantagens de uma regressão linear? Como é a relação de overfitting e underfitting em uma regressão linear? O que é uma regressão logística? Qual é a distribuição da variável target de uma regressão logística? Qual é a função de custo de uma regressão logística? O que é o método da máxima verossimilhança e qual é a sua importância? Qual é a preparação dos dados para treinar uma regressão logística? Quais são os principais parâmetros e hiperparâmetros que podem afetar o desempenho? Como é a fronteira de decisão de uma regressão logística? É possível prever uma variável multiclasse com uma regressão logística? Explique o Teorema de Bayes. Por que o nome do modelo é Naive Bayes? Qual é a principal restrição? Quais são os tipos de Naive Bayes e em qual caso cada um é indicado? Considerando que eu tenho um dataset com diversas variáveis de tipos diferentes, eu posso treinar um único Naive Bayes ou preciso treinar diferentes modelos? O Naive Bayes é impactado por outliers? É necessário normalizar os dados no Naive Bayes? Quais são as vantagens e as desvantagens do modelo? Quais são os usos mais comuns? O que é KNN? Por que é possível dizer que o KNN é um modelo versátil? Explique o funcionamento, passo a passo, do KNN de regressão e de classificação. Como eles se diferenciam? Como e por que é possível usar o KNN na etapa de preparação dos dados? Qual é a vantagem dessa abordagem? Como a mudança da métrica de distância impacta no KNN? Qual é o custo computacional do modelo? Por que podemos afirmar que o KNN é um lazy learner? Como é possível definir o melhor K? Regressão Logística Naive Bayes KNN 105 Qual é a consequência de ter um K alto? Justifique. Qual é a consequência de ter um K baixo? Justifique. O que é o SVM? Explique o seu funcionamento. O que é um hiperplano? O que são vetores de suporte? De que modo os vetores de suporte direcionam o hiperplano? É possível treinar um SVM para variáveis multiclasse? É possível treinar um SVM com dados não linearmente separáveis? O que é o Kernel Trick? Como é possível definir o melhor tipo de kernel para os dados? Qual é a consequência de treinar um SVM com o tipo não ideal de dados? Qual é o custo computacional do SVM? Forneça as vantagens e desvantagens do modelo e seus usos típicos. O que é uma árvore de decisão? Explique a estrutura de uma árvore de decisão. O que é uma métrica de impureza? Qual é a diferença conceitual em relação a uma função de custo? Qual é a diferença entre Gini e entropia? O que é ganho de informação? Em classificação, como é definido o nó folha? Em regressão, como é definido o nó folha? Como os outliers afetam uma árvore de decisão, diferenciando regressão e classificação? O que é minimizado em uma árvore de classificação? Como é feita a previsão final em uma árvore de decisão de classificação e regressão? Qual é a principal vulnerabilidade de uma árvore de decisão? O que acontece se eu treinar uma árvore sem nenhuma restrição? Quais são os principais hiperparâmetros para prevenir o overfitting na árvore? Explique cada um. Quais são os principais hiperparâmetros para conter outliers em uma árvore? O que é pré-poda e pós-poda? Qual é a importância? Como uma árvore lida com valores missing no Scikit-learn? Como é a fronteira de decisão de uma árvore de decisão? Support Vector Machine (SVM) Árvore de Decisão O que são modelos de ensemble e qual é o seu objetivo principal na ciência de dados? Quais são os dois tipos ou categorias principais de modelos de ensemble? Qual é o principal objetivo dos modelos de ensemble em relação ao trade-off entre viés e variância? Por que os modelos de ensemble são considerados mais resistentes à sensibilidade a outliers? O que é bagging? Forneça um exemplo. Como funciona o processo de bootstrapping (amostragem com reposição) na criação dos subconjuntos de treino? Modelos de ensemble 106 Como é definida a previsão final em um modelo de bagging voltado para regressão e classificação? Quais são as principais vantagens do Random Forest em relação a uma árvore de decisão simples? Como a explicabilidade do modelo é afetada ao trocar uma árvore de decisão por um Random Forest? O que acontece se eu adicionar infinitas árvores em um Random Forest? Qual é a relação de overfitting e underfitting no Random Forest? O que é boosting? Como a técnica de boosting se diferencia do bagging? No funcionamento do AdaBoost, o que acontece com as observações classificadas incorretamente na iteração seguinte? Como o Gradient Boosting inicia seu processo de predição antes de começar a treinar as árvores? Como os valores previstos são atualizados no Gradient Boosting após a análise dos erros do modelo anterior? Qual é a diferença entre o treinamento leaf-wise e level-wise? Qual é a diferença do LightGBM para o XGBoost? Qual é a principal vantagem do LightGBM? O que é o K-means? Qual é o seu funcionamento? Compare K-means e KNN. O que é um centróide? Qual é a diferença entre K-means, K-medoids e K-means++? Avalie a sensibilidade a outliers do modelo. É necessário efetuar a normalização das variáveis? Quais são os principais hiperparâmetros do K-means? Como é possível determinar a melhor quantidade de clusters? Compare o método do cotovelo com o método da silhueta. Os clusters formados pelo K-means possuem algum tipo de padrão? Quais são as vantagens e desvantagens do modelo? O que é o DBSCAN? O que diferencia o DBSCAN de outros modelos não supervisionados? Por que podemos dizer que o DBSCAN é um modelo baseado em densidade? Quais são os principais hiperparâmetros do DBSCAN? O que acontece se eu aumentar muito o número mínimo de pontos e o epsilon? O que são core points e border points? Como o DBSCAN isola outliers? Quais são as vantagens e desvantagens? Qual é o data prep necessário para o DBSCAN? O que é o agrupamento hierárquico? Quais são os tipos de agrupamento hierárquico? O que é um método de ligação (linkage) e qual é a sua função? K-means DBSCAN Agrupamento Hierárquico 107 Qual é o critério de formação de clusters do Single Linkage e do Complete Linkage? O que é o "efeito chaining" (corrente) e em qual tipo de ligação ele acontece? Qual é a lógica por trás da average linkage e por que ela é a opção mais utilizada? O que é um dendrograma e qual é a sua vantagem para a análise dos clusters? É necessário definir o número de clusters para treinar o agrupamento hierárquico? Como é possível obter o melhor númerode clusters no agrupamento hierárquico? Por que o agrupamento hierárquico apresenta limitações significativas quando aplicado a grandes volumes de dados? Quais são as vantagens e desvantagens? O que é o GMM? O que é uma gaussiana? O que é o método de Expectation-Maximization e qual é a sua utilidade? O GMM é um modelo paramétrico ou não paramétrico? Quais são as vantagens e desvantagens? Gaussian Mixture Model (GMM) 108 Regressão Linear Regressão Logística Árvore de decisão Árvore de regressão LightGBM Regressão LightGBM Classificação XGBoost Classificação XGBoost Regressão Adaboost SVM Regressão SVM Classificação Naive Bayes KNN Regressão KNN Classificação K-means Agrupamento Hierárquico DBSCAN Principais hiperparâmetros Modelo fit_intercept, normalize, regularização (α) via Ridge/Lasso C (inverso de regularização), penalty (l1 / l2 / elasticnet), solver learning_rate, n_estimators, max_depth, scale_pos_weight var_smoothing (Gaussiano), alpha (Multinomial), binarize (Bernoulli) max_depth, min_samples_split, min_samples_leaf, criterion (gini/entropy) learning_rate, n_estimators, max_depth, subsample n_neighbors, metric, weights (uniform/distance), algorithm, p max_depth, min_samples_split, min_samples_leaf, criterion (mse/mae) n_estimators, learning_rate, base_estimator, algorithm n_neighbors, metric, weights, algorithm, p learning_rate, n_estimators, num_leaves, min_child_samples C, kernel (rbf/linear/poly), epsilon, gamma, degree n_clusters, init (k-means++/random), n_init, max_iter, tol learning_rate, n_estimators, num_leaves, class_weight C, kernel (rbf/linear/poly), gamma, degree, class_weight n_clusters, linkage, affinity, distance_threshold eps, min_samples, metric, algorithm Principais Hiperparâmetros 1090.04 0.03 P(x) Testes de normalidade: Shapiro Wilk, Anderson Darling, Kolmogorov Smirnov (KS), Ryan Joiner Tipo de distribuição contínua, é a distribuição mais importante, uma vez que muitos fenômenos da natureza possuem comportamento aproximadamente normal. Sua importância também vem do Teorema do Limite Central, que afirma que, conforme aumentamos o tamanho das amostras retiradas de uma população, a distribuição das médias amostrais tende a uma distribuição normal, independentemente da distribuição da população original. Esse teorema nos permite utilizar técnicas de inferência mesmo quando a população não segue uma distribuição normal, desde que a amostra seja suficientemente grande. Ela é caracterizada por um formato de sino, Inferência Estatística: processo de fazer afirmações sobre uma população a partir de uma amostra determinado pela média e pelo desvio padrão, com uma maior concentração dos dados em torno de sua média, que diminui de forma gradual conforme se afasta. Distribuição Normal Distribuição Uniforme 9 Simétrica Assimétrica positiva Assimétrica negativa A assimetria nas frequências interfere de forma muito mais intensa na média, que se desloca facilmente. Já a mediana, nesses casos, representa mais fielmente a centralidade dos dados mesmo em situações de assimetria. Média Moda Mediana ModaModa MedianaMediana Média Média Exemplo para a média Intervalo de Confiança É uma faixa de valores que, a um determinado nível de confiança, dizemos que representa bem a população. É a ideia de construir um intervalo em torno da estimativa de um ponto, de modo que esse intervalo tenha uma confiança associada para conter o verdadeiro valor do parâmetro. É calculado a partir de uma estimativa pontual (como a média amostral) ± uma margem de erro, que define a amplitude do intervalo. Distribuição de t-student Quando não sabemos o desvio padrão da população e usamos o desvio padrão amostral, utilizamos a distribuição t de Student para calcular o intervalo de confiança. A distribuição t é simétrica em torno de 0, possui caudas mais pesadas do que a distribuição normal (apresenta mais massa de probabilidade nas extremidades) e se aproxima da distribuição Normal Padrão conforme o tamanho da amostra aumenta. Uma distribuição normal padrão possui média, mediana e moda contendo o mesmo valor. Entretanto, também existem distribuições assimétricas: elas ainda possuem comportamento normal, porém, sua distribuição dos dados não permite que média, mediana e moda sejam iguais. Distribuição normal assimétrica 10 É uma distribuição contínua que modela o tempo entre eventos que ocorrem de forma contínua e independente, a uma taxa média constante. Exemplo: tempo entre ligações em um call center. P(x) x É uma distribuição discreta que modela experimentos binários, ou seja, a probabilidade de uma variável aleatória assumir somente dois valores distintos, normalmente representados por 1 (sucesso) ou 0 (fracasso). É um caso especial da distribuição Binomial, para um único experimento (*n*=1). Importância aplicada: a Regressão Logística e o Bernoulli Naive Bayes assumem que a variável resposta segue uma distribuição de Bernoulli. 0 1 É uma distribuição discreta que modela o número de tentativas necessárias para se obter o primeiro sucesso. Exemplo: número de meses até que um cliente tenha o primeiro atraso. É uma distribuição discreta que modela a contagem do número de eventos que ocorrem em um intervalo de tempo ou espaço fixo. Ela supõe que os eventos ocorrem de forma independente, a uma taxa média constante, e que dois eventos não podem acontecer exatamente no mesmo instante. Exemplo: número de e-mails por hora. É uma distribuição discreta que modela o número de sucessos em uma sequência de *n* tentativas independentes. Cada tentativa possui somente dois resultados possíveis (sucesso ou fracasso), com probabilidade de sucesso constante. Distribuição Exponencial Distribuição de Bernoulli Distribuição Geométrica Distribuição Poisson Distribuição Binomial 11 Aprofundamento A lei dos grandes números é um princípio da estatística que diz que conforme você aumenta progressivamente o número de amostras, mais próxima a média amostral fica da média populacional, suavizando a aleatoridade ao longo do tempo. Vamos usar como exemplo o lançamento de uma moeda: no começo, podemos ter uma maior concentração de caras do que de coroas, porém, quando aumentamos o número de lançamentos conseguimos notar que os resultados se equilibram: a proporção de caras converge para uma probabilidade de 50%. A Lei dos Grandes Números também converge com o Teorema do Limite Central, visto anteriormente. Conforme aumentamos o número de amostras, a média amostral, além de se aproximar da média populacional, também começa a assumir um comportamento Média Número de amostras Média amostral Média populacional Lei dos Grandes Números Métricas de correlação A correlação é um método estatístico que mede o grau de associação entre duas variáveis, ou seja, como elas variam juntas. É uma métrica muito importante para entender como as variáveis de um dataset se comportam em conjunto e em relação à variável resposta. Existem várias maneiras de calcular a correlação, as principais são: Clique no QR Code! https://www.youtube.com/watch?v=uial-2girHQ&pp=ygUVZGlzdHJpYnV0aW9ucyBweXRob24g0gcJCZEKAYcqIYzv https://www.youtube.com/watch?v=xtTX69JZ92w&pp=ygUVZGlzdHJpYnV0aW9ucyBweXRob24g https://www.youtube.com/watch?v=ZAIBVL4koGQ&pp=ygUXdGlwb3MgZGUgZGlzdHJpYnVpY29lcyDSBwkJkQoBhyohjO8%3D https://www.youtube.com/watch?v=xI9ZHGOSaCg&pp=ugMGCgJwdBABugUEEgJwdMoFFGRpc3RyaWJ1aWNhbyBub3JtYWwg2AcB 12 Calcula o grau de correlação linear entre duas variáveis quantitativas e varia de -1 a 1. Quanto mais próximo de 0, mais podemos afirmar que as variáveis não possuem relação linear. Já quando o valor se aproxima de -1, podemos dizer que as variáveis apresentam correlação linear inversa, ou seja, são inversamente proporcionais: quando uma aumenta, a outra diminui. Para utilizar a correlação de Pearson da forma correta, é necessário verificar se as variáveis possuem comportamento linear e seguem uma distribuição aproximadamente normal. Para isso, utilize gráficos de dispersão (scatterplots) e histogramas. Correlação de Spearman Calcula o grau de correlação, não necessariamente linear, entre duas variáveis. Ao contrário da correlação de Pearson, que é paramétrica, a correlação de Spearman usa rankings para efetuar os cálculos de correlação. Ela também varia de -1 a 1, como Pearson. Importância aplicada: a correlação é muito importante em diversos contextos de machine learning. Por exemplo, o Naive Bayes assume que as variáveis são independentes entre si, e por isso a matriz de correlação pode dar indícios para verificar essa suposição (por mais que não garanta independência). Já a regressão linear tem como um de seus pressupostos a ausência de multicolinearidade perfeita, ou seja, a correlação entre as features também deve ser baixa ou moderada. Correlação de Pearson 13 O mapa de calor é uma forma simples e visual de observar as correlações entre as variáveis. As cores mais intensas representam o par de variáveis que possui um índice de correlação mais forte. Variáveis iguais estão na diagonal e possuem correlação igual a 1. Para mais detalhes, consulte a documentação do Matplotlib/ Seaborn. Métricas de distância A Distância Euclidiana é a distância em linha reta entre dois pontos, representando a menor distância possível em um espaço. Ela é calculada pela raiz quadrada da soma das diferenças ao quadrado entre as coordenadas dos pontos. Uma de suas características é a sensibilidade a outliers. Devido ao termo quadrático, diferenças extremas têm um impacto muito maior do que diferenças menores. A Distância de Manhattan é a distância entre dois pontos considerando apenas direções horizontais e verticais, ou seja, utiliza o módulo das diferençasentre as coordenadas. Ela recebe esse nome por causa do bairro de Manhattan, que possui formato de grade. Quando você se desloca de um ponto para outro em uma rua, nem sempre é possível atravessar em linha reta, como na Distância Euclidiana. Em vez disso, o deslocamento ocorre apenas verticalmente ou horizontalmente através das calçadas. Também é possível fazer uma analogia com o triângulo retângulo do teorema de Pitágoras: enquanto a Distância Euclidiana representa a hipotenusa, a Distância de Manhattan é a soma dos módulos dos catetos. A principal vantagem de se utilizar a Distância de Manhattan é sua menor sensibilidade a outliers, já que utiliza valores absolutos em vez de elevar as diferenças ao quadrado, como ocorre na Distância Euclidiana. Distância Euclidiana Distância de Manhattan 14 Distância Euclidiana Distância de Manhattan Vamos calcular a Distância Euclidiana e a de Manhattan considerando 3 pontos, com X representando idade e Y representando renda: Por mais que o resultado da Distância Euclidiana sempre seja menor em relação à de Manhattan, é visível como na Distância Euclidiana o valor quadrático da renda (19600) em laranja ofusca o valor quadrático da variável de idade (4, em azul), sendo 4.900x maior. Já na Distância de Manhattan, essa diferença é "somente" 70x maior. Conclusão: as variáveis acabam tendo pesos desproporcionalmente diferentes na Distância Euclidiana, em casos de outlier. Distância entre A e C (sendo C um outlier) OUTLIER (30,10K) (35,12K) Idade Renda (35,150K) C A B Exemplo 1: Vamos considerar que estamos trabalhando com o KNN, um modelo supervisionado que classifica um ponto a partir dos seus vizinhos mais próximos. Temos um ponto X, e outros dois com classificação A e B. A classificação atribuída a X vai ser aquela do ponto que estiver mais próximo. Exemplo 2: 15 Com a Distância Euclidiana, o ponto X seria atribuído a mesma classe de B, por possuir a menor distância. Já com a Distância de Manhattan, a menor distância acaba sendo de X até A. Logo, mesmo com os exatos mesmos dados, a classificação mudou, pois os pesos atribuídos às variáveis também mudaram. Classificação com a Distância Euclidiana: Classificação com a Distância de Manhattan: OUTLIER (30,10K) Idade Renda (40,12K) (32,150K) X A B Importância aplicada: algoritmos de machine learning como o KNN e o DBSCAN possuem um hiperparâmetro chamado metric. Podemos selecionar 'minkowski' como opção e definir um p qualquer. P = 2 P = 1 Manhattan Euclidiana Distância de minkowski Por mais que a Distância de Manhattan e a euclidiana sejam as principais que podem ser obtidas a partir da de Minkowski, podemos trocar p por qualquer outro valor e criar uma métrica alternativa. A distância de Minkowski é uma métrica que generaliza a Distância Euclidiana e a Distância de Manhattan, permitindo também calcular distâncias com diferentes expoentes. Comparando as duas fórmulas apresentadas anteriormente, é possível observar que elas são semelhantes, e isso não é por acaso. As duas distâncias podem ser obtidas a partir da fórmula geral da distância de Minkowski, apenas trocando o parâmetro p Distância de Minkowski 16 A distância de Mahalanobis leva em consideração o índice de correlação entre as variáveis, e não a distância padrão entre os pontos. Desse modo, variáveis que possuem alto índice de correlação entre si são consideradas mais próximas, independentemente de suas escalas ou distâncias numéricas. Um exemplo típico é a relação entre altura (cm) e peso (kg). Independentemente do valor que essas variáveis assumem, elas estão correlacionadas e, logo, próximas. Aprofundamento Distância de Mahalanobis Clique no QR Code! https://youtu.be/Ffbw5G9CGn4?si=80MHOyDOk8bCGM8f https://youtu.be/gzmus8zwWno?si=IiSMVFLDqJqANo6m https://youtu.be/eutzTEGgLpE?si=m0kpNViLzwFG_uxh https://youtu.be/OHXM7qiI1ww?si=czsZVMpmi85UC9Dt https://youtu.be/xXjmaTM_kNs?si=d6Qw6AOfIn0dydAw https://youtu.be/bkARboD64FQ?si=5XzZhtGRsUOgPC0W https://youtu.be/OdqwQI0lHOg?si=A2rbY1AYly-bzkvg 17 Análise e preparação dos dados A etapa de preparação dos dados é essencial em qualquer projeto que envolva machine learning. Dados com ruídos, outliers, valores faltantes ou com inconsistências são um cenário comum no dia a dia de quem trabalha com dados e afetam diretamente o poder preditivo de qualquer modelo. Além das técnicas de tratamento de dados, aprenderemos também algumas ferramentas básicas de análise e visualização em Python, utilizando as bibliotecas Pandas, Seaborn e Matplotlib. O Pandas é a principal biblioteca disponível para manipulação de dados em Python. Ela permite manipular tabelas (ou DataFrames), aplicar métricas estatísticas e preparar os dados da melhor maneira para realizar análises mais aprofundadas. Outras bibliotecas, como Matplotlib, Seaborn e Scikit-learn, utilizam os DataFrames do Pandas como referência para diversas operações, como para separar um dataset entre treino e teste, ou para definir uma variável como eixo X ou Y em gráficos customizados. O Matplotlib é a principal e mais completa biblioteca para visualização de dados em Python. Ela serve como base para a criação de gráficos que podem ser personalizados conforme as necessidades da análise. Outras bibliotecas de visualização utilizam o Matplotlib como suporte para o seu funcionamento. O Seaborn é uma biblioteca que facilita a criação de gráficos e tem como base o Matplotlib. Neste material, utilizaremos o Seaborn para gerar os gráficos, mas eles também podem ser facilmente criados apenas com o Matplotlib. O Scikit-learn é uma biblioteca voltada para a criação de modelos de machine learning. Nesta seção, utilizaremos a ferramenta apenas para normalizar e categorizar variáveis. A construção de modelos será abordada na próxima seção. Principais bibliotecas em Python Pandas Matplotlib Seaborn Scikit-learn 18 Preparação dos dados com pandas Descarte de colunas irrelevantes Remoção de valores duplicados Tratamento de valores nulos A preparação dos dados é uma etapa essencial, pois garante qualidade para análises e modelos preditivos. Garantir essa qualidade antes de prosseguir com qualquer trabalho é fundamental. A análise descritiva tem como objetivo explicar como seus dados estão organizados e distribuídos. Através da análise descritiva, conseguimos conhecer mais o nosso conjunto de dados e identificar potenciais problemas a serem corrigidos. É importante, principalmente: É comum haver dezenas de colunas em um único dataset, e raramente vamos utilizar todas elas para efetuar as análises e predições. Por isso, é importante descartar variáveis das quais você já tem consciência, desde o início, de que não contribuirão. Exemplo: altura do cliente em um modelo de previsão de inadimplência. Em uma base, também pode haver linhas totalmente duplicadas. A função drop_duplicates do Pandas mantém somente um registro, descartando eventuais duplicatas. Primeiro, precisamos identificar quantos valores nulos existem no conjunto de dados. Após isso, precisamos analisar quais variáveis possuem os nulos e, a partir disso, definir o método de imputação desses valores ausentes. Descartar colunas que não tragam informações relevantes. Descartar valores duplicados. Identificar e remover outliers decorrentes de erros (ex.: criança com 200 kg). Mensurar a quantidade de valores ausentes em cada variável. Padronizar as variáveis (formato de data, uso de maiúsculas em textos etc.). 19 Podemos excluir todas as linhas que possuírem valores nulos, porém não é uma boa opção caso haja muitos registros. Podemos imputar os registros nulos com a média, moda ou mediana da própria coluna, embora exista a possibilidade de introdução de viés. Para definir qual medida utilizar, é necessário analisar a natureza da variável. Média: Para variáveis numéricas NÃO sensíveis a outliers Mediana: Para variáveis numéricas robustas a outliers Moda: Para variáveis categóricas Exclusão dos registrosImputação com média, moda ou mediana. Imputação com KNN O KNN é um modelo supervisionado utilizado tanto para regressão quanto para classificação, e é frequentemente utilizado para tentar prever o valor de uma variável missing. Por ser um modelo, ele leva em consideração não só os dados de uma única coluna para fazer a imputação (como ocorre com o método anterior), mas sim utiliza como as outras features se comportam para tentar prever o valor ausente. O modelo é treinado utilizando os dados que não possuem nulo na variável resposta. Por ser sensível a escala dos dados, para utilizar a imputação é necessário que os dados sejam normalizados previamente. 20 Tratamento de outliers Existem diversos métodos para identificar e tratar outliers. Na parte de estatística, já foi mencionado o método interquartil, porém existem outros métodos gráficos e quantitativos importantes, como: Também conseguimos isolar outliers com modelos não supervisionados como DBSCAN ou supervisionados como uma árvore de decisão. O Z-score mede quantos desvios-padrão um ponto está distante da média, sendo que pontos com valores geralmente abaixo de -3 ou acima de +3 são considerados outliers. Também chamado de gráfico de dispersão. Captura a distribuição de frequência de uma variável Detecção a partir do z-score Métodos gráficos Scatterplot Histograma 21 Padronização e normalização dados numéricos podem, naturalmente, possuir escalas diferentes. Em um conjunto de dados, podemos ter a informação do preço de um imóvel, que pode ir até R$ 5.000.000, e a sua metragem, que pode ser 50 m². Essa diferença pode resultar em um treinamento frágil do modelo, onde variáveis com maior magnitude podem se sobressair a variáveis com menor magnitude, fazendo com que o modelo capture relações inexistentes e prejudique a nossa previsão. Em modelos baseados em distância, como o KNN ou o agrupamento hierárquico, esse problema se agrava ainda mais. Para contornar esse problema, podemos efetuar uma padronização ou normalização. Esses dois processos são técnicas matemáticas para deixar os valores em uma mesma escala ou intervalo. Também é importante destacar que não devemos padronizar a variável target, somente as features. Subtração do valor em questão pelo menor valor da coluna, dividido pela amplitude (maior valor menos o menor valor). Coloca todos os pontos do conjunto em um intervalo fixo, entre 0 e 1. Subtração do valor pela média e divisão pelo desvio padrão. Todas as observações vão conter média 0 e desvio padrão 1. Normalização (Min-Max Scaler) Padronização (Z-score ou Standard Scaler) 22 Desbalanceamento de classes Um problema frequente na hora de treinar um modelo é o desbalanceamento de classes. Vamos pensar em um problema de fraude: a grande maioria dos clientes não é fraudadora, porém, existe uma pequena parcela de clientes fraudadores (ex: 98% e 2%, respectivamente). Esse desbalanceamento pode acarretar em um enviesamento do modelo em favor da classe majoritária, ignorando os padrões da classe minoritária. Além disso, mesmo que esse modelo se torne enviesado, ele possuirá métricas de desempenho muito boas - já que ele vai identificar os padrões dos 98% dos dados e tentar prever utilizando um conjunto que, provavelmente, também possui muito mais não fraudadores do que fraudadores. Para contornar esse problema, temos três estratégias mais frequentes de reamostragem: Consiste em retirar exemplos da classe majoritária, com o objetivo de se aproximar da quantidade da classe minoritária. Desvantagens: você pode acabar retirando dados relevantes para a previsão do modelo, diminuindo o poder preditivo caso não seja feito da maneira adequada. Um uma alternativa eficaz para resolver esse problema é utilizar o hiperparâmetro class_weight = 'balanced', quando a variável target é a que está desbalanceada. Automaticamente, o algoritmo pode atribuir um peso maior à classe minoritária, ajustando a função de custo de modo a dar mais importância a esses exemplares durante o treinamento. Consiste na criação de exemplos artificiais da classe minoritária. Uma das técnicas conhecidas é SMOTE. Desvantagens: a criação de exemplos artificiais não tem tanto valor quanto dados reais, e pode acabar criando vieses que não existem realmente. Undersampling Class Weight Oversampling Dados originais Dados originaisNovo conjunto Novo conjunto 23 Codificação de variáveis categóricas Dados categóricos são dados que representam categorias, classes e características. Assim, ao contrário das variáveis numéricas, não são, em um primeiro momento, representadas por números. Entretanto, um modelo não consegue utilizar variáveis categóricas de forma nativa. Ele não consegue interpretar diretamente categorias como ensino fundamental, médio e superior, não consegue estabelecer, por exemplo, uma relação ordinal entre essas classes. Um modelo só consegue reconhecer o padrão entre números. Por isso, é importante sempre codificarmos as variáveis, atribuindo números que indicam a presença ou não de cada classe. No One Hot Encoder, cada categoria vira uma coluna distinta, sendo que a presença de determinada classe vai assumir o valor 1, e a ausência o valor 0. É o método indicado para variáveis categóricas nominais, ou seja, que não possuem ordenação natural entre si, como nomes, sexo etc. One Hot Encoding Dados originais dados codificados Nomes Funcionários Paulo Thiago Giovanna Ellen Michelly Paulo 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 Giovanna Ellen Thiago Michelly 24 Label encoding O Label Encoding é um método de codificação onde cada categoria é atribuída a um número distinto. Assim, não temos múltiplas colunas como no One Hot Encoder, somente uma única coluna numérica. É o método indicado para variáveis categóricas ordinais, ou seja, que possuem ordenação natural. Utilizar Label Encoder no lugar de OneHotEncoder pode auxiliar o modelo na identificação de padrões. Escolaridade Escolaridade Codificado Ensino Fundamental Ensino Fundamental 1 1 Ensino Superior 3 Ensino Médio 2 Redução de dimensionalidade com PCA A alta dimensionalidade pode ser um problema que afeta o desempenho de um modelo de machine learning, uma vez que, situações de alta dimensionalidade: Reduzem a densidade dos dados, tornando mais difícil para o modelo reconhecer padrões. Demandam maior poder computacional Podem tendenciar o modelo a overfitting Muitas dimensões prejudicam a visualização e explicabilidade dos modelos Com isso, é importante utilizar técnicas de redução de dimensionalidade quando necessárias. Isso pode acontecer reduzindo o número de features, com métodos de feature selection, ou criando novas features, com o PCA. 25 A análise dos componentes principais é uma técnica estatística de redução de dimensionalidade, que funciona através da combinação linear de variáveis correlacionadas entre si em variáveis não correlacionadas, capturando a maior parte da variância dos dados com perda controlada de informação. Os componentes principais são justamente essas combinações (lineares) entre as variáveis originais que capturam a variância dos dados. Analisa a correlação individual de cada feature com a variável target, selecionando as K features com maior associação estatística (usando testes como qui-quadrado ou F-value). Análise dos componentes principais (PCA) SelectKBest Métodos de seleção de features (Feature Selection) Remoção de features com baixa variância ou zero. Valores constantes ou muito próximos da média podem ser indicativos de baixo poder preditivo da variável target. É preciso, porém, analisar a distribuição e o tipo das variáveis de interesse para tornar esse método eficiente. Remoção por baixa variância Modelos como Regressão Linear com penalidade L1 (Lasso) ou árvores de decisão realizam seleção de variáveis de modo embutido. A regularização L1 força coeficientes irrelevantes a zero, enquanto árvores fornecem métodoscomo feature_importances_, que ranqueiam a contribuição de cada variável. Regularização e Feature Importances 26 Algoritmo que usa Random Forest para determinar todas as features importantes. Cria shadow features para cada variável (com valores embaralhados e aleatórios) e depois treina o modelo com Random Forest. Após isso, verifica o feature importance: se a feature original tiver mais importância do que a sua sombra (mais importância do que um ruído aleatório), ela é considerada relevante; caso contrário, é descartada. Treina o modelo normalmente e obtém a métrica de avaliação. Depois, no dataset de teste, para cada coluna, embaralha os valores para romper a ligação com a variável target e avalia novamente, medindo a queda no desempenho do modelo. Se o desempenho diminuir, a variável é considerada relevante; caso contrário, irrelevante. Esse método avalia a importância de cada feature dessa forma e é computacionalmente custoso, pois requer reavaliações do modelo para cada variável. Boruta Permutation Importance 27 Aprofundamento Preparação geral Classes desbalanceadas Codificação de variáveis PCA Seleção de features Valores nulos Outliers Clique no QR Code! https://youtu.be/iJ5c-XoHPFo?si=eUs8yjVGPoTeN5E2 https://youtu.be/RWaMw02_MQQ?si=yZG8bhg0-v72kv7L https://youtu.be/GP-2634exqA?si=EKxt2useNBYehMqK https://youtu.be/aLphsae3PSE?si=UkNoM74OuyD0Q9V_ https://youtu.be/bDhvCp3_lYw?si=GH2X1dTcS5WnKbmD https://youtu.be/KdmPHEnPJPs?si=CJ-9x1rf6XZM-k9i https://youtu.be/I_lx9RgvLjY?si=tWO03VgTW1Z2Q--X https://youtu.be/Cw2IvmWRcXs?si=UAZPhVxyMne_8Ju1 https://youtu.be/4FBPtgLbehY?si=h8FzhxI9e8e334tN https://youtu.be/flhjn6e6wnY?si=9uitxQplCYoOT2WB https://youtu.be/JvFrJacbt6U?si=QDmdL_WPWTodBctK https://youtu.be/589nCGeWG1w?si=jsHZHjhreeDKKAtm https://youtu.be/FgakZw6K1QQ?si=ATur3D2rL2dmnP2X https://youtu.be/_5t8ZtRybT8?si=Y1yeVtKKjoz52fVz 28 Conceitos para Machine Learning A metodologia CRISP-DM é uma abordagem de organização para projetos de ciência de dados, que descreve fluxos e melhores práticas para projetos no contexto corporativo, dando a ênfase necessária não apenas às etapas técnicas, como a modelagem, mas também ao contexto de negócio diretamente envolvido. Ela é dividida em 6 etapas: entendimento do negócio, entendimento dos dados, preparação dos dados, desenvolvimento do estudo/modelagem, avaliação e implementação. Parte essencial dessa abordagem é o fato de que esse fluxo não é linear: em diversos momentos vamos voltar a etapas anteriores para validar informações e refazer. Qual é o problema que o modelo quer resolver? Existe uma meta definida? Existem variáveis que o time de negócio já sabe que são relevantes? Qual vai ser o custo? Quais são as bases utilizadas? Qual o conceito e as escalas de cada variável? Qual é a periodicidade desses dados? A volumetria dos dados bate com outros relatórios? Voltar à etapa de entendimento do negócio em casos de dúvidas. Quais serão os modelos testados? Quais são as vantagens e desvantagens de cada um? Voltar à etapa de preparação dos dados se necessário (diferente para cada modelo que será testado). Avaliação e otimização de hiperparâmetros. Se satisfizer os requisitos, ir para deploy. Se não, voltar para o entendimento. Reestruturação das bases origens. Limpeza dos dados: outliers, desbalanceamento, valores ausentes, normalização, filtros de negócio etc. Metodologia CRISP-DM Entendimento do negócio Entendimento dos dados Preparação dos dados Modelagem Avaliação Deploy 29 Separação treino e teste O objetivo de um modelo de regressão é estimar um valor contínuo. O processo anterior ao treinamento do modelo em si é a separação entre treino e teste. De forma geral, vamos tentar prever um valor com base em dados anteriores. O modelo aprende padrões nos dados e os utiliza para gerar previsões a partir de novos valores de entrada. É necessário, portanto, estabelecer uma etapa em que você vai efetivamente treinar esse modelo e outra etapa em que se avalia a eficácia do treinamento, utilizando dados que não foram vistos anteriormente (com o objetivo de simular quão bem o modelo se comportaria em uma situação real, na qual não sabemos a resposta). Para isso, de forma simples, dividimos o conjunto de dados aleatoriamente em treino e teste, sendo a maior parte dos dados destinada ao treino. Também é comum dividir, juntamente com treino e teste, as variáveis explicativas (X) e a variável resposta (Y). A divisão entre treino e teste apresentada a seguir é feita com o Scikit-learn. Porém, é importante destacar que, mesmo sendo realizada de forma aleatória, existe a possibilidade de obtermos uma amostra enviesada, que pode subestimar ou superestimar o desempenho em uma das etapas. Para prevenir que isso aconteça, é necessário assegurar a qualidade da amostra por meio da adoção dos tipos corretos de amostragem para cada problema, balanceamento de classes, aplicação de testes de hipótese e da comparação de medidas estatísticas, com o objetivo de garantir a representatividade da amostra em relação ao conjunto total de dados e direcionar o treinamento. Todos os dados Treinamento Y treino X treino Teste Y teste X teste 30 A validação consiste em dividir o seu dataset original em subconjuntos, com o objetivo de separar uma etapa de treino (onde o modelo vai de fato aprender os padrões dos dados) e a etapa de teste, em que verificamos o desempenho do modelo em novos dados. A validação busca garantir a capacidade de generalização do algoritmo. Técnicas de validação Todos os dados Todos os dados Treinamento Teste Consiste em dividir o dataset entre treino e teste uma única vez. Exemplo: 80% dos dados para treino, e 20% para teste. O K-Fold soluciona o problema do Holdout de avaliar o modelo com apenas uma divisão de treino e teste. Exemplo: Considerando K = 4, o dataset é dividido em quatro partes (folds). Em cada iteração: 3 folds (K-1) são usados para treinamento do modelo 1 fold é usado para validar o modelo Esse processo se repete 4 vezes, alternando o fold de validação, de modo que todas as partes do dataset sejam usadas tanto para treino quanto para teste. Cada iteração fornece uma métrica diferente (o desempenho do modelo), e para mensurarmos o desempenho geral do modelo, fazemos a média entre os folds. Iteração 1 Performance 1 Performance Modelo = Média das performances Performance 2 Performance 3 Performance 4 1 2 3 4 Iteração 2 Iteração 3 Iteração 4 Desvantagem: ao treinar o modelo uma única vez, como podemos garantir que essa amostra de 80% é realmente a ideal? E se ela estiver favorecendo ou desfavorecendo o modelo? Além disso, a cada execução obtemos resultados diferentes, dependendo da amostra utilizada. Holdout K-Fold Cross Validation 31 Com isso, além de mensurar como um modelo se comporta quando exposto a diferentes conjuntos de dados, simulando cenários reais, o K-Fold pode ser um excelente aliado no combate ao overfitting. Caso o desempenho no conjunto de treino seja muito superior à performance média nos folds de validação, isso pode ser um indicador importante da necessidade de ajustar o modelo e seus hiperparâmetros. Stratified K-Fold: quando temos datasets desbalanceados, a classe minoritária pode aparecer pouco ou até mesmo não aparecer nos conjuntos de treino e teste. Para isso, usamos o Stratified K-Fold para garantir que em cada fold tenhamos a mesma proporção da variável target. Group K-Fold: é utilizado quando queremos prevenir o vazamento de informações agrupadas entre os folds. Por exemplo: podemos enviesar o nosso modelo se as transações de um mesmo cliente estiverem tanto em um fold de treino quanto em um de teste. Tipos de K-Fold: Leave-one-out (LOOCV) Out of Time LOOCV (Leave-One-Out Cross-Validation): método de validação semelhante ao K-Fold, mas com K = n (número de observações disponíveis). Nele, em vez de separarmos pequenos conjuntos para alternar entre treino e teste, exatamente uma observaçãoé utilizada como teste e as demais (n - 1) como treino. Assim como no K-Fold, essa observação é alternada a cada iteração. Exemplo: Se o dataset possui 1.000 linhas, na primeira iteração a linha 1 é utilizada como teste e as linhas de 2 a 1.000 como treino (999 linhas). Na segunda iteração, a linha 2 é utilizada como teste e todas as demais (inclusive a linha 1, usada anteriormente) como treino. Esse processo se repete até que todas as observações tenham sido utilizadas como conjunto de teste. Desvantagem: o LOOCV, embora seja uma ótima estimativa do desempenho real do modelo, é computacionalmente custoso para grandes conjuntos de dados. Em geral, a validação cruzada tradicional já é suficiente. Out-of-Time: método de avaliação utilizado principalmente na análise de séries temporais. Consiste em utilizar dados do passado como partição de treino e dados do futuro como partição de teste. O problema de não utilizar o out-of-time em séries temporais é o vazamento de informações do "futuro", o que pode superestimar o desempenho do modelo quando o objetivo é realizar previsões e generalizá-las para novos períodos de tempo. 32 Funções de custo são métricas que mensuram o erro do modelo. De forma geral, os modelos de regressão e classificação são treinados com o objetivo de minimizar uma função de custo associada, de modo a ajustar seus coeficientes/parâmetros para que as previsões se aproximem o máximo possível dos valores reais de todos os pontos. Funções de custo Função de custo utilizada para problemas de regressão. Trata-se da média do módulo da diferença entre os valores reais e os valores previstos pelo modelo. É sempre não negativa, e valores maiores correspondem a um modelo com erros mais elevados, indicando pior desempenho. Erro: Diferença entre o valor real e o valor Número total de amostras O objetivo do modelo de regressão linear é achar a melhor reta para diminuir essa diferença valor predito Valor real MAE (Mean Absolute Error / Erro Médio Absoluto ) MSE (Mean Squared Error / Erro Quadrático Médio ) A MSE é uma função de custo utilizada em problemas de regressão. Trata-se da média das diferenças quadráticas entre os valores reais e os valores preditos pelo modelo. Por utilizar erros elevados ao quadrado, e não o valor absoluto, a MSE atribui maior peso a erros maiores — uma vez que, ao serem elevados ao quadrado, têm o seu valor inflado mais do que erros menores. Esse comportamento impacta principalmente outliers, que passam a ter influência desproporcional no valor da MSE. Dessa forma, em dados que possuam uma quantidade grande de outliers não desejáveis, o uso da MSE pode não ser indicado. Por outro lado, quando o objetivo é penalizar erros grandes de maneira mais severa, o erro quadrático médio é uma boa opção. 33 Aplica log na função de verossimilhança para transformar o produto das probabilidades em soma, facilitando a otimização. Número de amostrasNúmero de amostras valor verdadeiro da classe valor previsto da classe Log-Loss Função de verossimilhança LogLoss 0 MSE 0 MAE LogLoss A Log Loss é a função de custo para problemas de classificação binária. Ela é uma transformação logarítmica da função de verossimilhança, que mede a plausibilidade dos dados observados, dados determinados parâmetros do modelo. O processo de encontrar esses parâmetros se chama método de máxima verossimilhança. Em suma, a Log Loss mede o quão bem as probabilidades previstas pelo modelo se ajustam aos valores reais das classes, penalizando classificações incorretas. 34 Tipos de aprendizado Aprendizado supervisionado O aprendizado supervisionado trabalha com dados rotulados, ou seja, dados que possuem uma variável target (dependente) a ser estimada por meio da identificação de padrões entre as features (variáveis independentes). Pense em uma equação simples: Y = 30X. Y seria a nossa variável dependente, o valor que queremos determinar através de X, a nossa variável independente. Um modelo supervisionado pode ser tanto de regressão quanto de classificação, sendo que alguns modelos são capazes de desempenhar ambos os papéis. Um modelo de regressão é aquele que tenta prever uma variável numérica. Exemplo: previsão de renda, limite, altura, indicadores. Principais modelos de regressão: Regressão Linear Simples Regressão Linear Múltipla Árvores de regressão Support Vector Machine O modelo tentará compreender os padrões existentes entre as features e a variável target durante a fase de treinamento. Na etapa de teste, ao receber novos dados de entrada, ele buscará prever se o cliente será ou não aprovado com base nos padrões identificados anteriormente. Dados de entrada Variáveis independentes Features Dados de saída Variável dependente Target num_cpf_cnpj idade renda aprovado XXXXXXXXX 19 4K 0 XXXXXXXXX 40 2K 1 XXXXXXXXX 24 10K 0 XXXXXXXXX 30 3K 1 Regressão KNN Random Forest LightGBM Redes Neurais Um modelo de classificação é aquele que tenta prever uma variável categórica, representando uma classe ou determinada característica. Exemplo: sexo, ser inadimplente ou não. Principais modelos de classificação: Regressão Logística Naive Bayes Árvore de classificação Support Vector Machine KNN Random Forest LightGBM Redes Neurais Classificação 35 Métricas de avaliação Métricas para modelos de regressão MSE RMSE MAE MAPE R2 Dependendo se o modelo é de classificação ou regressão, ele vai possuir métricas de avaliação diferentes. As métricas de avaliação servem para mensurar a performance geral do seu modelo depois de treinado, ao comparar as previsões com os valores reais. A MSE é uma função de custo usada para avaliar o desempenho de modelos de regressão, também utilizada para mensurar a performance de um modelo de regressão. Trata-se da média das diferenças quadráticas entre os valores reais e os valores preditos pelo modelo. Quanto maior o valor da métrica, maior o erro do modelo. O RMSE é a raiz da MSE. É utilizado para retornar os erros às suas escalas originais, que são distorcidas na hora do cálculo da MSE. Trata-se da média do módulo da diferença entre os valores reais e os valores previstos pelo modelo. É sempre não negativa, e valores maiores correspondem a um modelo com erros mais elevados, indicando pior desempenho. Representa a porcentagem do erro em relação aos valores reais. O R² representa a proporção da variância da variável dependente que é explicada pelo modelo de regressão. É calculado como a razão entre a variância explicada pelo modelo e a variância total dos dados observados. O R² varia entre 0 e 1, sendo que 0 indica que o modelo não explica nenhuma variação dos dados em torno da média e 1 indica que o modelo explica toda a variação dos dados. Quanto maior o número de variáveis, maior é o R², e isso pode ser um empecilho. 36 R² Ajustado O R² ajustado é uma modificação do R² que leva em conta o número de variáveis preditoras no modelo. Como foi dito anteriormente, o R² sempre aumenta quando novas variáveis são adicionadas; o R² ajustado aplica uma penalidade pela inclusão de variáveis que não contribuem significativamente. Matriz de confusão O modelo previu como positivo e era negativo O modelo previu como negativo e era positivo O modelo previu como negativo e realmente era negativo O modelo previu como positivo e realmente era positivo Falso Positivo (FP) Falso Negativo (FN) Verdadeiro Negativo (VN) Verdadeiro Positivo (VP) NegativoPositivo Valor previsto N eg at iv o Po sit iv o Va lo r r ea l Va lo r r ea l Métricas para modelos de classificação A matriz de confusão comumente considera positivos e negativos, sendo esses a representação de duas classes distintas.Porém, é possível adicionar mais classes. As métricas para modelos de classificação são calculadas com base em uma matriz de confusão, que relaciona os tipos de erros e acertos entre as classes. O R² negativo indica que o modelo está performando pior do que a média, o que pode significar um problema no próprio pipeline. 37 O recall é usado quando o mais importante é identificar falsos negativos, como por exemplo em um diagnóstico de câncer, onde é mais importante identificar quem tem câncer, mas o modelo indicou que não tem (FN). Curva ROC e AUC F1-Score Recall/Sensibilidade É um gráfico onde o eixo x é a taxa de falsos positivos e o eixo y é a taxa de verdadeiros positivos, e tem como objetivo representar o quão bem um modelo distingue a classe positiva da classe negativa. O cenário ideal de uma curva ROC é ela estar mais próxima do canto superior esquerdo; isso significaria uma alta taxa de verdadeiros positivos e uma baixa taxa de falsos positivos, o que determina o poder discriminatório do modelo. Podemos averiguar isso com a área sob essa curva (AUC). AUC próximo de 1: conseguiu separar as classes AUC próximo de 0: não conseguiu separar as classes O F1-Score é a média harmônica entre o precision e o recall. Desse modo, tem como objetivo maximizar ambas as métricas. Recall: número de verdadeiros positivos dividido pela soma dos verdadeiros positivos e falsos negativos. É a taxa de acerto da classe positiva: de todos os exemplos que realmente são positivos, quantos o modelo conseguiu capturar? O precision é utilizado quando a prioridade é minimizar falsos positivos. Um exemplo é a detecção de spam: para uma empresa, é mais importante não classificar um e-mail importante como spam (FP) do que deixar de classificar um spam real (FN). Precision Número de verdadeiros positivos dividido pela soma dos verdadeiros positivos e falsos positivos. Basicamente, de todos os exemplos que o modelo previu que eram positivos, quantos realmente eram positivos? 38 Região ótima Classificador aleatório Taxa de falsos positivos AUC Ta xa d e ve rd ad ei ro s po sit iv os Classe negativa Classe positiva Aprendizado não supervisionado O aprendizado não supervisionado trabalha com dados não rotulados, ou seja, dados que não possuem uma variável target a ser estimada. O objetivo de um modelo não supervisionado não é prever algum valor, seja ele numérico ou categórico, e sim identificar padrões entre os dados e manipulá-los a partir disso, efetuando uma clusterização, por exemplo. Por ter como principal objetivo identificar padrões e, geralmente, definir clusters, uma pergunta recorrente é qual o número de grupos que melhor segrega os dados. Determinados algoritmos, como o DBSCAN, determinam automaticamente o número ideal de clusters. Outros, como o agrupamento hierárquico e o k-means, tratam essa escolha como uma decisão do usuário, definida a partir de hiperparâmetros. Ainda assim, existem métodos auxiliares para a definição do número de clusters, tais como: Identificação de padrões e segregação dos dados em clusters num_cpf_cnpj idade renda aprovado XXXXXXXXX 19 4K 0 XXXXXXXXX 40 2K 1 XXXXXXXXX 24 10K 0 XXXXXXXXX 30 3K 1 39 O método do cotovelo é uma técnica utilizada para escolher o melhor número de clusters, buscando encontrar um ponto ótimo entre a minimização da distância intra-cluster (WCSS) e a quantidade de clusters. À medida que aumentamos o número de clusters, a distância entre os pontos de um mesmo cluster tende a diminuir. Entretanto, chega um momento em que essa melhora se estabiliza, ou seja, aumentar o número de clusters passa a não trazer um ganho marginal significativo. Ao se plotar no eixo Y a distância intra-cluster e no eixo X a quantidade de clusters, podemos notar uma inflexão na curva, e esse será o ponto ótimo. Ao usar o método do cotovelo, entretanto, você pode estar criando modelos com clusters muito próximos, uma vez que a distância extra-cluster não é um critério para definição. Métodos de definição de clusters Método do Joelho/Cotovelo Cotovelo: melhor número de clusters = 4 W CS S K (n. clusters) 4 6 8 10 Método da Silhueta O método da silhueta (ou silhouette score) é uma métrica que tenta balancear a coesão (a distância intra-cluster, o quão bem os pontos estão agrupados em um mesmo cluster) e a separação (o quão bem os clusters estão separados uns dos outros), variando de -1 a 1. Em comparação com o método do cotovelo, o da silhueta é melhor para observar o quão bem os clusters estão separados entre si. De modo geral, é importante sempre olhar os dois juntos para definir o melhor K. 40 Principais modelos não supervisionados: K-means DBSCAN Agrupamento Hierárquico Gaussian Mixture Models Parâmetros e Hiperparâmetros Antes de aprender sobre qualquer modelo, é essencial entender a diferença entre parâmetros e hiperparâmetros. Um parâmetro é uma variável inerente ao modelo, que é definida através do aprendizado do modelo com base na relação entre os dados disponíveis, e não manualmente. Um exemplo típico de parâmetro são os coeficientes de uma regressão linear. Todo o processo de construção de uma regressão tem como objetivo a determinação desses betas, que são intrínsecos à reta que melhor se ajusta aos seus dados. Ou seja: não é possível defini-los manualmente, apenas estimá-los a partir dos dados. Parâmetros 41 Hiperparâmetros são variáveis externas ao modelo que controlam o processo de aprendizado; é o modo como conseguimos controlar os nossos parâmetros. Eles não são estimados a partir dos dados, mas definidos antes do treinamento, e sua escolha influencia diretamente o desempenho e a capacidade de generalização do modelo. No geral, não treinamos um modelo com as suas "configurações padrão". Cada conjunto de dados possui suas características que exigem determinados ajustes no modelo, com o objetivo de orientar uma melhor previsão. Exemplos de hiperparâmetros são: a profundidade de uma árvore de decisão, o número mínimo de amostras para formar um nó, o kernel utilizado em um SVM, o número de clusters em um k-means, entre outros. O processo de tunagem de hiperparâmetros pode ser extremamente custoso e lento. Ele consiste em testar diferentes valores como possíveis hiperparâmetros e treinar o modelo com cada um deles. Após o treinamento, é possível mensurar o "quão bem" cada combinação foi, através de uma métrica de avaliação. Desse modo, conseguimos determinar empiricamente qual é a melhor. Hiperparâmetros Tunagem de hiperparâmetros consiste em testar todas as combinações de hiperparâmetros definidas pelo usuário, medindo a performance de cada uma delas. Vamos supor que tenho uma árvore de decisão e quero saber qual profundidade, número mínimo de amostras para formar um nó e número mínimo de amostras para formar um split vão trazer a melhor precisão. Grid Search O algoritmo escolhe aleatoriamente diversas combinações de hiperparâmetros, considerando um intervalo de valores definido pelo usuário. Pode ser menos custoso computacionalmente do que o GridSearchCV, já que não testa todas as possibilidades. Random Search 42 Overfitting e Underfitting Antes de definir overfitting e underfitting, é essencial compreender os conceitos de viés e variância no contexto de machine learning. De forma geral, viés é o quão bem o modelo está identificando os padrões de treinamento, enquanto variância mede a sensibilidade do modelo a variações nos dados de treinamento, ou seja, o quanto o seu desempenho se altera quando é exposto a novos dados. O underfitting se caracteriza como uma situação de alto viés e nas etapas de treinamento e teste, enquanto o overfitting apresenta baixo viés na etapa de treino e alta variância no teste. Agora, temos um novo modelo que consegue separarperfeitamente os pontos verdes dos roxos. O erro do modelo é praticamente nulo. Esse é um caso em que temos baixo viés, mas o problema surge quando novos dados são inseridos. O modelo está tão complexo e especializado nos dados que foram utilizados no treino, que não conseguirá generalizar os resultados para dados que não sigam exatamente o mesmo padrão de treinamento, caracterizando assim uma alta variância e uma situação de overfitting. Na situação à direita, temos nossos dados reais em pontos e a previsão em vermelho. Podemos observar que a linha não está capturando bem a relação entre os dados, uma vez que apresenta um erro muito grande. Esse modelo é muito simples para resumir a relação entre os dados. Podemos assumir, portanto, que se trata de uma situação de underfitting. Nem na etapa de treinamento nem na de teste esse modelo irá performar bem (alto viés), e ele erra de maneira consistente (baixa variância), devido à sua baixa complexidade. O modelo ideal, portanto, é aquele que consegue encontrar o ponto ótimo desse trade-off entre viés e variância: aumentar a complexidade do modelo sem que ele se torne tão complexo a ponto de se sobreajustar aos dados de treinamento, e sem deixá-lo tão simples a ponto de não capturar as nuances presentes nos dados. 43 Overfitting Underfitting Identificação Como identificar overfitting e underfitting na prática Baixo erro de treinamento e alto erro de teste; Alto viés e baixa variância Alto erro de treinamento e alto erro de teste; Baixo viés e alta variância Alta complexidade do modelo, número alto de variâveis explicativas, data leakage, ruídos excessivos Baixa complexidade do modelo, variáveis não significativas, dataprep incorreto, ruídos excessivos Aumentar complexidade, feature selection, validação cruzada para seleção de hiperparâmetros, revisão do dataprep À medida que o nível de complexidade do modelo aumenta, ele se torna mais propenso ao overfitting. Nessa situação, o viés no conjunto de treino tende a diminuir e o erro no conjunto de teste também diminui, até um ponto específico em que o erro de teste passa a crescer, devido ao ajuste excessivamente específico aos padrões dos dados de treino. A partir daí, a variância aumenta. Diminuir complexidade, feature selection, validação cruzada para seleção de hiperparâmetros, modelos de ensemble Causa Soluções O inverso ocorre quando a complexidade do modelo diminui: a variância reduz, enquanto o viés aumenta. Podemos identificar sobreajuste (overfitting) e subajuste (underfitting) por meio de curvas de aprendizado, comparando o desempenho do modelo, medido por uma função de custo ou métrica de avaliação, em relação ao aumento de sua complexidade (por exemplo, a variação de um hiperparâmetro). Exemplo: 44 Ótimo desempenho no teste conforme aumentamos a profundidade da árvore, enquanto o treino estabiliza/diminui a partir do 5. Baixa performance tanto no treino quanto no teste Performance do treino e teste convergindo ao longo das iterações. Overfitting UnderfittingModelo ideal Aprofundamento CRISP-DM Tipos de aprendizado Definição de clusters Parâmetros e hiperparâmetros Overfitting e Underfitting Métricas de regressão e classificação Treino, teste e validação Função de custo Clique no QR Code! https://youtu.be/ulLjrMti3RQ?si=Zj-tnvnA2ChBlpCA https://youtu.be/Pwgpl9mKars?si=TFVpCq7pbWUnTxh4 https://youtu.be/SjOfbbfI2qY?si=FXJ9-wEShxrDbMZA https://youtu.be/_XJTjJ0ZFFE?si=AxTedBZXi4u4Fbw1 https://youtu.be/zERI-vxicmo?si=J7L4r3PU1j-vcLdf https://youtu.be/CWxaXyXZ-1A?si=HNBbV8mwykADdp8k https://youtu.be/PF2wLKv2lsI?si=ftjc-P0DdXw8B5E6 https://youtu.be/Nvxi0Eaha4c?si=rCe3-gFfhZBQbnyB https://www.youtube.com/watch?v=JDDqP6IZ4NQ https://youtu.be/rDIocV_r9Xk?si=2dRy2o1G3fJzt7y_ https://www.youtube.com/live/GNb74Vl5vhk?si=GjGLetqLZvDYUvol&t=1 https://youtu.be/bMccdk8EdGo?si=wixtfcqrH8HFDK7K https://youtu.be/Kdsp6soqA7o?si=47NNaJxTOxDpkps2 https://youtu.be/vP06aMoz4v8?si=wtjc5Ih-FYfJgRe8 https://youtu.be/4jRBRDbJemM?si=orj0SHh3GEU9Cxi7 https://youtu.be/DzrvLpxTxJw?si=cLhkiI1JQcfuRwG5 https://youtu.be/MHnoWsBJpeM?si=ZbQHEk67WnYvUm1B https://youtu.be/fn2BPbsHLpc?si=lax5n6-RhJ8ZL2MX https://youtu.be/EuBBz3bI-aA?si=OjodVfOxZUItVO_Y https://youtu.be/HdlDYng8g9s?si=tO2MHij9Snms4wR6 45 Aprendizado Supervisionado A regressão linear é um tipo de modelo supervisionado de regressão, ou seja, que tem como objetivo prever um valor contínuo que pode assumir qualquer valor numérico dentro de um intervalo real. Ela faz isso modelando a relação linear entre uma variável resposta (Y) e uma ou mais variáveis explicativas (X), buscando encontrar a melhor equação que minimize o erro mensurado por uma função de custo, ou seja, a diferença entre os valores reais e previstos entre todas as variáveis explicativas em relação à variável resposta, considerando que estas possuam relação linear. Regressão Linear Tipos de regressão Erro: Diferença entre o valor real e o valor Número total de amostras O objetivo do modelo de regressão linear é achar a melhor reta para diminuir essa diferença valor predito Valor real Variável independente ErroCoeficiente angular Intercepto Variável dependente Regressão Linear Múltipla Regressão Linear Simples É uma regressão linear em que há mais de um coeficiente e mais de uma variável independente que explicam uma variável resposta. Nela, o módulo dos coeficientes aponta o poder explicativo de cada variável, ou seja, qual delas é mais "importante" para prever o valor desejado. Por ser um problema com mais de uma variável independente, ele deixa de estar em duas dimensões e passa a estar em múltiplas dimensões, o que dificulta a visualização em relação à regressão linear simples. É uma regressão linear em que há apenas um coeficiente/parâmetro associado a uma variável. O modelo estima um coeficiente associado a X, resultando em uma relação entre duas variáveis, que pode ser representada como uma reta. Assim, é o caso mais simples de regressão linear e de fácil visualização. Exsitem dois tipos de regressão linear: a regressão simples e múltipla. 46 Na prática, conseguimos aplicar uma regressão linear a qualquer situação e a quaisquer dados. Entretanto, isso não significa que a nossa previsão sairá como esperado ou que esse modelo, em específico, seja o ideal para os dados disponíveis. Para que uma regressão linear seja eficiente, os nossos dados precisam seguir uma série de pressupostos. São eles: Relação Linear Relação Não Linear Y X X X Y Y Pressupostos de uma regressão linear O valor a ser predito precisa possuir relação linear com as variáveis utilizadas para a previsão. É possível verificar esse pressuposto a partir de gráficos de dispersão. 1. Relação linear entre a variável resposta e as variáveis independentes A multicolinearidade acontece quando duas variáveis independentes (X) são altamente correlacionadas. Ou seja, possuem comportamento muito parecido ou idêntico, trazendo informações redundantes ao modelo. O problema da multicolinearidade está justamente na dificuldade de interpretar os efeitos reais de cada coeficiente individual na regressão, tornando-os instáveis e inflando os erros-padrão. É possível identificar a multicolinearidade por meio de uma matriz de correlação e do Fator de Inflação da Variância (VIF). 2. Ausência de multicolinearidade 47 Homocedasticidade Heterocedasticidade Em uma regressão, é necessário que os resíduos possuam variância constante ao longo de todos os níveis de Y. Para verificar essa condição, podemos utilizar o gráfico de resíduos versus valores ajustados (valores previstos). Se os pontos desse gráfico se distribuírem de forma aleatória e homogênea em torno de zero, podemos considerar que há variância constante. Por outro lado, caso os pontos se concentrem em determinadas regiões, isso pode ser um sinal de heterocedasticidade. Os erros de uma regressão linear (diferença entre os valores reais e os preditos)