·
Cursos Gerais ·
Outros
Send your question to AI and receive an answer instantly
Preview text
CIÊNCIAS DE DADOS BIG DATA PROCESSING AND ANALYTICS Arquitetura de Big Data MINERAÇÃO E ANÁLISE DE DADOS Trilha 6 Aprendizado não supervisionado clustering Professor Rogério de Oliveira Modalidade a distância Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Sumário 1 Apresentação do componente curricular 4 2 Aprendizado não supervisionado 5 3 Exemplos como aprender sem rótulos 6 4 Aprendizado supervisionado vs não supervisionado 9 5 Clustering 10 6 Algoritmos da clusterização 10 7 Cuidado clusterização classificação 11 8 Algoritmo Kmédias 13 9 Kmeans com Scikitlearn 22 10 CASO Segmentando estados para políticas e campanhas de não violência 24 11 Clustering hierárquico 38 12 CASO Wholesale Customer Data 41 13 Apêndice o gráfico de silhuetas 48 14 Síntese 53 15 Para saber mais 54 16 Referências 55 4 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 1 Apresentação do componente curricular Nesta trilha você Conhecerá o que é o aprendizado não supervisionado Aprenderá como fazer clusterizações de dados com os algoritmos Kmédias e de clusterização hierárquica Descobrirá como empregar métricas de qualidade nos aglomerados O objetivo do aprendizado supervisionado é basicamente mapear entradas e saídas com base em um conjunto de dados de exemplo no conjunto de treinamento ou supervisor No aprendizado não supervisionado não existe um conjunto de entradas e saídas há apenas os dados de entrada os quais por simplicidade costumamos dizer apenas que não têm um conjunto de treinamento Assim o objetivo do aprendizado não supervisionado é o de descobrir padrões ou uniformidades nos dados O que é útil para uma série de tarefas diferentes das que vimos até aqui como a classificação e a regressão Aqui você aprenderá duas técnicas de clustering e seguiremos na próxima trilha ainda com outros modelos não supervisionados como a mineração de regras de associação 5 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 2 Aprendizado não supervisionado São muitas as situações nas quais não temos a possibilidade de termos dados de treinamento prérotulados Apesar disso queremos extrair conhecimentos úteis dos dados para a tomada de decisões e ações É nesta situação que modelos de aprendizado não supervisionado são bastante úteis Não havendo um conjunto de entradas e saídas isto é um conjunto de treinamento o objetivo do aprendizado não supervisionado será o de descobrir padrões nos dados O modelo ou algoritmo tentará aprender estruturas relações e padrões latentes nos dados sem qualquer assistência ou supervisão Os algoritmos de aprendizado não supervisionado normalmente incluem Algoritmos de clusterização ou agrupamento Detecção de anomalias Redução de dimensionalidade ou métodos de variáveis latentes Regras de associação Os métodos de clusterização incluem a clusterização hierárquica e as Kmédias os quais você aprenderá Para a detecção de anomalias há métodos como o fator outlier local e a floresta de isolamento A análise de componentes principais PCA e o valor singular de decomposição SVD são métodos empregados para a redução da dimensionalidade e dos algoritmos que a priori são aplicados para a busca de regras de associação Esses últimos métodos você estudará na próxima trilha Em todos esses casos há certamente padrões particulares nos dados que aparecem com mais frequência e outros com menos e queremos descobrir o que acontece e o que não acontece nos dados Isso na Estatística denominamos de estimativa de densidade 6 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 3 Exemplos como aprender sem rótulos Depois de ter estudado modelos supervisionados parece estranho pensarmos em aprender sem rótulos Mas na verdade essa é até uma forma talvez mais natural de aprendizado Os exemplos a seguir ilustram dois tipos de aprendizado não supervisionado a detecção de anomalias e a clusterização Você mesmo sem ter quaisquer rótulos para os dados apenas vendo as figuras pode identificar os pontos de anomalias e os clusters de dados sem qualquer informação adicional além das entradas 7 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 8 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 9 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 4 Aprendizado supervisionado vs não supervisionado Além da presença ou não de dados rotulados e dos algoritmos é importante entender que enquanto os modelos supervisionados têm um caráter mais preditivo os modelos não supervisionados são modelos mais analíticos Eles não retornam um valor ou uma classe para dados de teste ou novos dados mas apresentam padrões comuns ou incomuns dos dados No exemplo acima de clusterização a segmentação de clientes apenas apresenta grupos de clientes que são semelhantes entre si e se distinguem dos demais Esses grupos formados podem ou não serem úteis a você Além disso você ainda precisará entender que tipo de clientes há em cada grupo olhando os valores médios de cada grupo para definir por exemplo que tipo de produto ou campanha você direcionaria para cada segmento de clientes No caso da anomalia o modelo apenas aponta dados que estão fora do padrão dos demais mas cabe a você decidir se o que o algoritmo aponta é uma informação útil e se de fato há uma anomalia real Você pode também pensar em um sistema de recomendação de produtos por exemplo com regras de associação do tipo produtos normalmente comprados juntos O algoritmo produz diversas sugestões de produtos e talvez você queira analisar e filtrar as recomendações antes de enviálas selecionando somente os produtos mais recentes ou os com maior valor Essa e outras diferenças dos aprendizados supervisionado e não supervisionado são sumarizadas na tabela a seguir 10 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 5 Clustering Uma das tarefas mais comuns de aprendizado não supervisionado é o clustering ou a clusterização No clustering o objetivo é buscar agrupamentos clusters ou ainda aglomerados dos dados Um grupo é um conjunto de elementos que se assemelham ao mesmo tempo em que se distinguem dos demais elementos podendo haver apenas um grupo ou como costumamos falar informalmente nenhum grupo ou vários Não sabemos isso de antemão diferente da classificação por exemplo na qual sabemos de antemão as classes dos dados A segmentação de clientes e também de produtos é um exemplo comum de aplicação da clusterização Uma empresa pode estar interessada em descobrir a distribuição do perfil de seus clientes para descobrir que tipo de clientes aparece regularmente ou para direcionar uma campanha Um modelo de cluster distribui clientes semelhantes em seus atributos a um mesmo grupo cluster fornecendo agrupamentos naturais dos clientes Uma vez descobertos esses agrupamentos a empresa pode analisar esses grupos e escolher estratégias relativas a serviços e produtos específicos para cada grupo algo comum na gestão de relacionamento com clientes 6 Algoritmos da clusterização O que diferencia um bom clustering é o quanto os dados são divididos em clusters ou grupos coerentes Isso requer alguma forma de avaliar a semelhança ou como é geralmente mais apropriado a diferença ou distância entre os dados Se os atributos são numéricos uma medida de distância como a distância euclidiana pode ser empregada sendo a mais comumente utilizada Mas como você aprendeu na trilha anterior existem vários tipos de função de distância e se seu objetivo é encontrar grupos de documentos uma distância cosseno pode ser mais apropriada Existem diferentes técnicas de clusterização as quais podemos classificar da seguinte forma 11 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Abordagens baseadas em centroid como Kmeans e Kmedoids Abordagens hierárquicas de agrupamento como a clusterização divisiva e de aglomeração Abordagens de clustering baseadas em distribuição como modelos de mistura gaussiana Técnicas baseadas em densidade como DBSCAN Aqui veremos apenas as duas primeiras Assim como os modelos não supervisionados é importante termos métricas que avaliem os modelos Na ausência de dados rotulados não podemos empregar um conjunto de teste da mesma forma que fizemos na classificação ou regressão e veremos aqui algumas técnicas para avaliar a qualidade dos agrupamentos 7 Cuidado clusterização classificação Um problema muito comum é não sabermos diferenciar claramente clusterização e classificação Vale a pena então analisarmos esse ponto Considere nosso exemplo de clientes de um serviço de telefonia móvel Eles estão segmentados em três grupos e ainda podemos supor que esses grupos são obtidos também com base em outros atributos como sexo escolaridade tipo de pagamento preferencial à vista ou a prazo bairro em que reside e profissão Ao mesmo tempo você pode ter a informação de churn desses clientes que é o abandono do cliente que migra para outra operadora Se você estiver interessado em prever clientes com maior propensão de churn você estará pensando em um problema de classificação Os clusters não revelam isso Eles procuram revelar um padrão de semelhança dos clientes independentemente de serem clientes propensos ou não a churn Note que são duas classes churn e not churn prédefinidas enquanto os grupos descobertos foram três Ao analisar esses grupos eventualmente podemos encontrar que o perfil médio desses clientes é por exemplo clientes novos clientes antigos com planos individuais e clientes antigos com planos familiares e que nada tem a ver com eles serem propensos ou não a churn e você provavelmente só faria a clusterização de clientes ativos not churn pois os dados históricos não têm interesse para a clusterização outra diferença importante 12 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 13 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 8 Algoritmo Kmédias O Kmédias sistematiza a forma que identificamos grupos de dados Os grupos precisam ter seus elementos mais concentrados mais próximos mas também precisam estar distantes de outros grupos dos quais se diferenciam A ideia básica por trás do agrupamento Kmeans consiste em definir clusters de forma que a variação total dentro do cluster withinclustervariation seja mínima Existem vários algoritmos Kmeans disponíveis e o algoritmo padrão define a variação total dentro do cluster como a soma das distâncias quadradas entre os itens e o centroide correspondente Pseudocódigo Kmédias O Kmédias é então um problema de otimização e isso é feito de modo iterativo com aproximações sucessivas dos centroides escolhidos inicialmente de forma aleatória aos centroides que minimizam a variação intraclusters 14 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Exemplo 1D O exemplo abaixo adaptado livremente de Sayad 2021 exibe passo a passo a formação de dois clusters para dados em uma única dimensão Você pode pensar nesses dados como as idades de um grupo de visitantes de um museu no qual você deseja encontrar dois grupos ótimos de visita clusters para dividir entre dois monitores do museu 15 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 16 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 17 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Exemplo 2D O mesmo procedimento pode ser adotado para duas ou mais dimensões embora a visualização sem o recurso de técnicas mais elaboradas de redução de dimensões está limitada de modo prático a duas dimensões Você pode acompanhar as iterações do algoritmo deste caso no exemplo abaixo As linhas em vermelho mostram a trajetória dos centroides ao longo das iterações 18 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 19 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 20 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 21 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 22 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 9 Kmeans com Scikitlearn A estrutura de uso de estimadores não supervisionados com o scikitlearn segue bastante semelhante a que já empregamos para modelos de classificação e regressão Aplicaremos essa estrutura a um conjunto de dados de brinquedo antes de prosseguirmos 23 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Sendo nosso exemplo em duas dimensões podemos observar diretamente os clusters formados embora para dimensões maiores podem exigir outro tipo de tratamento 24 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 10 CASO Segmentando estados para políticas e campanhas de não violência Fonte httpsvincentarelbundockgithubioRdatasetscsvdatasetsUSArrestscsv Este conjunto de dados contém estatísticas de prisões com 100000 residentes por agressão assassinato e estupro em cada um dos 50 estados dos EUA em 1973 Também é fornecida a porcentagem da população que vive em áreas urbanas USArrests Murder Assassinato prisões por homicídio por 100000 habitantes Assalt Assalto prisões por agressão por 100000 habitantes Urbanpop Porcentagem da população urbana Rape Estupro prisões por estupro por 100000 habitantes Note que não temos nenhum rótulo y nos dados e nosso objetivo é segmentar esses estados com base nesses dados indicadores de violência e população urbana para por exemplo definiremse políticas públicas adequadas para cada grupo Preparação dos dados 25 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Clustering MurderUrbanPop Inicialmente aplicaremos nosso modelo de código para a clusterização levando em conta apenas dois atributos e assim poderemos visualizar os grupos de dados Buscaremos agrupar os dados em quatro grupos de dados 26 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Adicionaremos os valores obtidos a um novo atributo Cluster nos dados 27 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 28 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Qual é o número ideal de clusters Método do cotovelo Antes de prosseguirmos você deve ter notado que até aqui escolhemos arbitrariamente o número de clusters No entanto como determinar o número ideal de clusters Um primeiro método é conhecido como método do cotovelo elbow method A inércia mede o quanto um conjunto de dados foi agrupado pelo kmédias ela é a própria variação total dos clusters que vimos acima WithinCk Mas um bom modelo deve ter uma baixa inércia além de um baixo número de clusters k Desse modo precisamos buscar uma compensação porque a medida que o número de clusters aumenta a inércia diminui A ideia então é buscar o ponto onde a inércia começa a diminuir ou seja o cotovelo da curva 29 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Essa é uma técnica visual e aproximada De qualquer modo podemos agora reproduzir a clusterização com o número ideal de clusters k3 Método da silhueta Outro método que pode ser empregado é o método de cálculo da silhueta A silhueta é uma medida estatística de quanto um elemento é semelhante ao seu próprio cluster coesão em comparação com outros clusters separação A silhueta é um valor que varia de 1 a 1 na qual um valor alto indica que o elemento está bem combinado com seu próprio aglomerado e mal combinado com os aglomerados vizinhos Se a maioria dos elementos tiver um valor alto a configuração de cluster é apropriada Se muitos pontos tiverem um valor baixo ou negativo a configuração de cluster pode ter muitos ou poucos clusters O método consiste portanto em empregarmos o número de clusters que fornece a maior silhueta média de todos os grupos 30 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Os resultados podem divergir uma vez que são métricas e métodos diferentes Decidimos aqui empregar três clusters 31 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 32 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Clustering Agora empregaremos todos os quatro atributos de USArrests para a clusterização Mas antes de procedermos a clusterização verificaremos o melhor número de clusters que devemos buscar Definindo o número de clusters Aqui tanto a regra do cotovelo como o valor da silhueta média parecem fornecer o mesmo número de clusters 33 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Kmédias Portanto aplicaremos um estimador Kmédias com k2 34 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise tamanho dos clusters Verifique ainda se os grupos formados não levam a um grupo excessivamente grande 90 dos dados por exemplo ou pequeno 1 dos dados por exemplo 35 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise perfil dos grupos Esses grupos diferentemente de um processo de classificação não são caracterizados por qualquer rótulo Mas você pode explorar esses grupos por exemplo verificando os valores médios e buscando características comuns para que possa nomeálos e caracterizálos melhor Esses valores são os valores dos próprios centroides lembrando apenas que os centroides estão normalizados 36 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Uma vez que Assault é predominante devemos observar os clusters adicionando a dimensão UrbanPop embora você deva lembrar que os grupos estarão de fato separados apenas nas quatro dimensões Você não deve portanto estranhar encontrar o estado de Delaware entre os estados de outro grupo no gráfico 37 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 38 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 11 Clustering hierárquico A ideia da clusterização hierárquica é a mesma do Kmédias Mas seu algoritmo parte de princípios bastante diferentes produzindo assim agrupamentos de dados que podem divergir bastante dependendo dos dados A clusterização hierárquica busca construir uma hierarquia de clusters existindo normalmente duas estratégias No cluster aglomerativo os agrupamentos são feitos de baixo para cima cada amostra começa em seu próprio agrupamento e pares de agrupamentos são organizados à medida que sobe a hierarquia No cluster divisivo a construção é de cima para baixo com todas as amostras começando em um cluster e as divisões são realizadas recursivamente à medida que se desce na hierarquia dos dados O resultado do agrupamento hierárquico fornece uma estrutura que organiza os itens de dados em um dendrograma Dendrograma A base para a construção do dendrograma é uma matriz de distância entre todas as amostras dos dados e a figura abaixo ilustra o procedimento de construção do cluster aglomerativo Este aqui foi adaptado de STAT 555 Statistical Analysis of Genomics Data Os itens de dados aparecem no eixo x e as distâncias das amostras no eixo y Na construção aglomerativa partimos dos elementos individuais distância 0 e ligamos os dados a partir das menores distâncias para as maiores Assim o par de amostras 35 é o primeiro a ser ligado pois tem a menor distância entre todos os elementos o 1 é ligado em seguida e assim por diante até o dendrograma ligar todas as amostras dos dados A construção pode empregar a distância euclidiana mas também qualquer outra métrica de distância 39 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Definição dos clusters Construído o dendrograma a definição dos clusters pode ser feita estabelecendose um ponto de corte no dendrograma o que define a distância máxima que os elementos terão dentro de um agrupamento 40 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering A definição do melhor número de clusters é obtida empregando os mesmos métodos do cotovelo ou de média de silhueta que você viu ao estudar o Kmédias Linkage No exemplo acima quando ligamos o elemento 1 ao par 35 assumimos que a distância da amostra 1 e do par 35 valor 3 na matriz era a menor entre todas as distâncias da amostra após a ligação do par 35 Mas a rigor uma função de distância é definida entre dois elementos de mesmas características e não de um elemento para um grupo Na verdade o que empregamos acima de modo intuitivo é o que denominamos esquema de ligação o qual permite definir uma distância entre os conjuntos de dados Os esquemas de ligação mais comuns são Abaixo os dendrogramas produzidos para os esquemas de ligação single e complete linkage para o mesmo conjunto de dados de nosso exemplo 41 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 12 CASO Wholesale Customer Data O dataset abaixo traz informações de um distribuidor e seus clientes incluindo os gastos anuais para diferentes produtos Fonte httpsarchiveicsuciedumldatasetsWholesalecustomers Queremos aqui segmentar os fornecedores pelos produtos que oferecem 42 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Preparação dos dados Como queremos segmentar os fornecedores somente por seus produtos excluiremos os dados de ChannelRegion de nossa análise e conforme outros estimadores que empregam distância normalizaremos os dados 43 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Definindo o número de clusters Empregaremos aqui apenas a técnica de média de silhueta Clustering aglomerativo Aqui aplicaremos o estimador de clusterização hierárquica construindo a hierarquia de forma aglomerativa 44 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Você pode verificar que os esquemas de ligação single e complete não levam a bons resultados Por isso empregamos o esquema de ligação padrão do scikitlearn 45 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Dendrograma Uma das vantagens da clusterização hierárquica é podermos observar diretamente a estrutura dos dados Observando o dendrograma você pode notar que dois clusters não parece uma divisão interessante dos dados e o diagrama ainda sugere que três clusters faria mais sentido para nossos dados Então refaremos a clusterização para três clusters 46 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 47 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise tamanho dos clusters O grupo pequeno pode ser entendido como dados discrepantes no conjunto das amostras Análise perfil dos grupos Observando o perfil dos diferentes fornecedores quais nomes você atribuiria a eles 48 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Talvez pudéssemos falar em grupo de Grandes Fornecedores Pequenos Fornecedores de Produtos Frescos e Pequenos Fornecedores de Produtos de Mercearia e assim definir estratégias de negócio diferentes para cada segmento 13 Apêndice o gráfico de silhuetas Os gráficos apresentam para cada elemento seu índice de silhueta indicando a maior adequação ou não de cada elemento ao cluster A métrica de silhueta é a média desses valores 49 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 50 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 51 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 52 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 53 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 14 Síntese Nesta trilha você aprendeu sobre os métodos não supervisionados e como eles se diferenciam dos métodos supervisionados Focamos aqui nos métodos de clusterização e como você observou esses métodos são muito mais analíticos que os modelos preditivos do aprendizado supervisionado Você aprendeu também sobre o funcionamento e a aplicação dos métodos de clusterização Kmédias e de clusterização hierárquica além de empregar os métodos do cotovelo e da média de silhueta para determinar o melhor número de agrupamentos para os dados 54 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 15 Para saber mais Acesse Clustering disponível em httpsscikitlearnorgstablemodulesclustering html para conhecer outros métodos de clusterização disponíveis e comparálos Que tal experimentar a clusterização de dados com Kmédias e a clusterização hierárquica além de analisar o gráfico do método do cotovelo de forma online sem qualquer programação Legal não é Então acesse Online Statistics Calculator disponível em httpsdatatabnetstatisticscalculatorcluster Lá você ainda encontra um exemplo mas poderá também importar e exportar seus próprios dados Você pode também revisar nosso exemplo em 1D para o Kmédias Ele encontrase detalhado em Sayad 2021 no livro An Introduction to Data Science disponível em httpswwwsaedsayadcomclusteringkmeanshtm Entenda um pouco mais sobre uma técnica importante de clustering o DBSCAN acessando DBSCAN DensityBased Clustering Essentials disponível em httpwww sthdacomenglishwikidbscandensitybasedclusteringfordiscoveringclustersin largedatasetswithnoiseunsupervisedmachinelearning 55 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 16 Referências ALPAYDIN E Machine Learning The MIT Press Essential Knowledge The MIT Press 2019 KOTU V DESHPANDE B Data Science concepts and practice 2 ed Cambridge Morgan Kaufmann 2019 Disponível em httpsasolankicoinwpcontentuploads201904 DataScienceConceptsandPractice2ndEdition3pdf Acesso em 16 dez 2021 LAROSE C D LAROSE D T Data Science Using Python and R Hoboken Wiley 2019 Wiley Series on Methods and Applications in Data Mining Disponível em https www3mackenziebrbibliotecavirtualindexphptipoBiblioebookcentralflashObgn Acesso em SAYAD S An Introduction to Data Science 2021 Disponível em httpswww saedsayadcomdataminingmaphtm Acesso em 16 dez 2021 102 EXAMPLE Agglomerative Hierarchical Clustering STAT 555 Statistical Analysis of Genomics Data 2018 Disponível em httpsonlinecoursessciencepsuedustat555 node86 Acesso em 14 de novembro de 2021 SUBASI A Machine learning techniques Practical Machine Learning for Data Analysis Using Python p 91202 2020 Disponível em httpswwwresearchgatenet publication342307384Machinelearningtechniques Acesso em 16 dez 2021 eadmackenziebr
Send your question to AI and receive an answer instantly
Preview text
CIÊNCIAS DE DADOS BIG DATA PROCESSING AND ANALYTICS Arquitetura de Big Data MINERAÇÃO E ANÁLISE DE DADOS Trilha 6 Aprendizado não supervisionado clustering Professor Rogério de Oliveira Modalidade a distância Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Sumário 1 Apresentação do componente curricular 4 2 Aprendizado não supervisionado 5 3 Exemplos como aprender sem rótulos 6 4 Aprendizado supervisionado vs não supervisionado 9 5 Clustering 10 6 Algoritmos da clusterização 10 7 Cuidado clusterização classificação 11 8 Algoritmo Kmédias 13 9 Kmeans com Scikitlearn 22 10 CASO Segmentando estados para políticas e campanhas de não violência 24 11 Clustering hierárquico 38 12 CASO Wholesale Customer Data 41 13 Apêndice o gráfico de silhuetas 48 14 Síntese 53 15 Para saber mais 54 16 Referências 55 4 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 1 Apresentação do componente curricular Nesta trilha você Conhecerá o que é o aprendizado não supervisionado Aprenderá como fazer clusterizações de dados com os algoritmos Kmédias e de clusterização hierárquica Descobrirá como empregar métricas de qualidade nos aglomerados O objetivo do aprendizado supervisionado é basicamente mapear entradas e saídas com base em um conjunto de dados de exemplo no conjunto de treinamento ou supervisor No aprendizado não supervisionado não existe um conjunto de entradas e saídas há apenas os dados de entrada os quais por simplicidade costumamos dizer apenas que não têm um conjunto de treinamento Assim o objetivo do aprendizado não supervisionado é o de descobrir padrões ou uniformidades nos dados O que é útil para uma série de tarefas diferentes das que vimos até aqui como a classificação e a regressão Aqui você aprenderá duas técnicas de clustering e seguiremos na próxima trilha ainda com outros modelos não supervisionados como a mineração de regras de associação 5 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 2 Aprendizado não supervisionado São muitas as situações nas quais não temos a possibilidade de termos dados de treinamento prérotulados Apesar disso queremos extrair conhecimentos úteis dos dados para a tomada de decisões e ações É nesta situação que modelos de aprendizado não supervisionado são bastante úteis Não havendo um conjunto de entradas e saídas isto é um conjunto de treinamento o objetivo do aprendizado não supervisionado será o de descobrir padrões nos dados O modelo ou algoritmo tentará aprender estruturas relações e padrões latentes nos dados sem qualquer assistência ou supervisão Os algoritmos de aprendizado não supervisionado normalmente incluem Algoritmos de clusterização ou agrupamento Detecção de anomalias Redução de dimensionalidade ou métodos de variáveis latentes Regras de associação Os métodos de clusterização incluem a clusterização hierárquica e as Kmédias os quais você aprenderá Para a detecção de anomalias há métodos como o fator outlier local e a floresta de isolamento A análise de componentes principais PCA e o valor singular de decomposição SVD são métodos empregados para a redução da dimensionalidade e dos algoritmos que a priori são aplicados para a busca de regras de associação Esses últimos métodos você estudará na próxima trilha Em todos esses casos há certamente padrões particulares nos dados que aparecem com mais frequência e outros com menos e queremos descobrir o que acontece e o que não acontece nos dados Isso na Estatística denominamos de estimativa de densidade 6 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 3 Exemplos como aprender sem rótulos Depois de ter estudado modelos supervisionados parece estranho pensarmos em aprender sem rótulos Mas na verdade essa é até uma forma talvez mais natural de aprendizado Os exemplos a seguir ilustram dois tipos de aprendizado não supervisionado a detecção de anomalias e a clusterização Você mesmo sem ter quaisquer rótulos para os dados apenas vendo as figuras pode identificar os pontos de anomalias e os clusters de dados sem qualquer informação adicional além das entradas 7 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 8 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 9 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 4 Aprendizado supervisionado vs não supervisionado Além da presença ou não de dados rotulados e dos algoritmos é importante entender que enquanto os modelos supervisionados têm um caráter mais preditivo os modelos não supervisionados são modelos mais analíticos Eles não retornam um valor ou uma classe para dados de teste ou novos dados mas apresentam padrões comuns ou incomuns dos dados No exemplo acima de clusterização a segmentação de clientes apenas apresenta grupos de clientes que são semelhantes entre si e se distinguem dos demais Esses grupos formados podem ou não serem úteis a você Além disso você ainda precisará entender que tipo de clientes há em cada grupo olhando os valores médios de cada grupo para definir por exemplo que tipo de produto ou campanha você direcionaria para cada segmento de clientes No caso da anomalia o modelo apenas aponta dados que estão fora do padrão dos demais mas cabe a você decidir se o que o algoritmo aponta é uma informação útil e se de fato há uma anomalia real Você pode também pensar em um sistema de recomendação de produtos por exemplo com regras de associação do tipo produtos normalmente comprados juntos O algoritmo produz diversas sugestões de produtos e talvez você queira analisar e filtrar as recomendações antes de enviálas selecionando somente os produtos mais recentes ou os com maior valor Essa e outras diferenças dos aprendizados supervisionado e não supervisionado são sumarizadas na tabela a seguir 10 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 5 Clustering Uma das tarefas mais comuns de aprendizado não supervisionado é o clustering ou a clusterização No clustering o objetivo é buscar agrupamentos clusters ou ainda aglomerados dos dados Um grupo é um conjunto de elementos que se assemelham ao mesmo tempo em que se distinguem dos demais elementos podendo haver apenas um grupo ou como costumamos falar informalmente nenhum grupo ou vários Não sabemos isso de antemão diferente da classificação por exemplo na qual sabemos de antemão as classes dos dados A segmentação de clientes e também de produtos é um exemplo comum de aplicação da clusterização Uma empresa pode estar interessada em descobrir a distribuição do perfil de seus clientes para descobrir que tipo de clientes aparece regularmente ou para direcionar uma campanha Um modelo de cluster distribui clientes semelhantes em seus atributos a um mesmo grupo cluster fornecendo agrupamentos naturais dos clientes Uma vez descobertos esses agrupamentos a empresa pode analisar esses grupos e escolher estratégias relativas a serviços e produtos específicos para cada grupo algo comum na gestão de relacionamento com clientes 6 Algoritmos da clusterização O que diferencia um bom clustering é o quanto os dados são divididos em clusters ou grupos coerentes Isso requer alguma forma de avaliar a semelhança ou como é geralmente mais apropriado a diferença ou distância entre os dados Se os atributos são numéricos uma medida de distância como a distância euclidiana pode ser empregada sendo a mais comumente utilizada Mas como você aprendeu na trilha anterior existem vários tipos de função de distância e se seu objetivo é encontrar grupos de documentos uma distância cosseno pode ser mais apropriada Existem diferentes técnicas de clusterização as quais podemos classificar da seguinte forma 11 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Abordagens baseadas em centroid como Kmeans e Kmedoids Abordagens hierárquicas de agrupamento como a clusterização divisiva e de aglomeração Abordagens de clustering baseadas em distribuição como modelos de mistura gaussiana Técnicas baseadas em densidade como DBSCAN Aqui veremos apenas as duas primeiras Assim como os modelos não supervisionados é importante termos métricas que avaliem os modelos Na ausência de dados rotulados não podemos empregar um conjunto de teste da mesma forma que fizemos na classificação ou regressão e veremos aqui algumas técnicas para avaliar a qualidade dos agrupamentos 7 Cuidado clusterização classificação Um problema muito comum é não sabermos diferenciar claramente clusterização e classificação Vale a pena então analisarmos esse ponto Considere nosso exemplo de clientes de um serviço de telefonia móvel Eles estão segmentados em três grupos e ainda podemos supor que esses grupos são obtidos também com base em outros atributos como sexo escolaridade tipo de pagamento preferencial à vista ou a prazo bairro em que reside e profissão Ao mesmo tempo você pode ter a informação de churn desses clientes que é o abandono do cliente que migra para outra operadora Se você estiver interessado em prever clientes com maior propensão de churn você estará pensando em um problema de classificação Os clusters não revelam isso Eles procuram revelar um padrão de semelhança dos clientes independentemente de serem clientes propensos ou não a churn Note que são duas classes churn e not churn prédefinidas enquanto os grupos descobertos foram três Ao analisar esses grupos eventualmente podemos encontrar que o perfil médio desses clientes é por exemplo clientes novos clientes antigos com planos individuais e clientes antigos com planos familiares e que nada tem a ver com eles serem propensos ou não a churn e você provavelmente só faria a clusterização de clientes ativos not churn pois os dados históricos não têm interesse para a clusterização outra diferença importante 12 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 13 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 8 Algoritmo Kmédias O Kmédias sistematiza a forma que identificamos grupos de dados Os grupos precisam ter seus elementos mais concentrados mais próximos mas também precisam estar distantes de outros grupos dos quais se diferenciam A ideia básica por trás do agrupamento Kmeans consiste em definir clusters de forma que a variação total dentro do cluster withinclustervariation seja mínima Existem vários algoritmos Kmeans disponíveis e o algoritmo padrão define a variação total dentro do cluster como a soma das distâncias quadradas entre os itens e o centroide correspondente Pseudocódigo Kmédias O Kmédias é então um problema de otimização e isso é feito de modo iterativo com aproximações sucessivas dos centroides escolhidos inicialmente de forma aleatória aos centroides que minimizam a variação intraclusters 14 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Exemplo 1D O exemplo abaixo adaptado livremente de Sayad 2021 exibe passo a passo a formação de dois clusters para dados em uma única dimensão Você pode pensar nesses dados como as idades de um grupo de visitantes de um museu no qual você deseja encontrar dois grupos ótimos de visita clusters para dividir entre dois monitores do museu 15 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 16 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 17 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Exemplo 2D O mesmo procedimento pode ser adotado para duas ou mais dimensões embora a visualização sem o recurso de técnicas mais elaboradas de redução de dimensões está limitada de modo prático a duas dimensões Você pode acompanhar as iterações do algoritmo deste caso no exemplo abaixo As linhas em vermelho mostram a trajetória dos centroides ao longo das iterações 18 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 19 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 20 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 21 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 22 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 9 Kmeans com Scikitlearn A estrutura de uso de estimadores não supervisionados com o scikitlearn segue bastante semelhante a que já empregamos para modelos de classificação e regressão Aplicaremos essa estrutura a um conjunto de dados de brinquedo antes de prosseguirmos 23 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Sendo nosso exemplo em duas dimensões podemos observar diretamente os clusters formados embora para dimensões maiores podem exigir outro tipo de tratamento 24 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 10 CASO Segmentando estados para políticas e campanhas de não violência Fonte httpsvincentarelbundockgithubioRdatasetscsvdatasetsUSArrestscsv Este conjunto de dados contém estatísticas de prisões com 100000 residentes por agressão assassinato e estupro em cada um dos 50 estados dos EUA em 1973 Também é fornecida a porcentagem da população que vive em áreas urbanas USArrests Murder Assassinato prisões por homicídio por 100000 habitantes Assalt Assalto prisões por agressão por 100000 habitantes Urbanpop Porcentagem da população urbana Rape Estupro prisões por estupro por 100000 habitantes Note que não temos nenhum rótulo y nos dados e nosso objetivo é segmentar esses estados com base nesses dados indicadores de violência e população urbana para por exemplo definiremse políticas públicas adequadas para cada grupo Preparação dos dados 25 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Clustering MurderUrbanPop Inicialmente aplicaremos nosso modelo de código para a clusterização levando em conta apenas dois atributos e assim poderemos visualizar os grupos de dados Buscaremos agrupar os dados em quatro grupos de dados 26 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Adicionaremos os valores obtidos a um novo atributo Cluster nos dados 27 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 28 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Qual é o número ideal de clusters Método do cotovelo Antes de prosseguirmos você deve ter notado que até aqui escolhemos arbitrariamente o número de clusters No entanto como determinar o número ideal de clusters Um primeiro método é conhecido como método do cotovelo elbow method A inércia mede o quanto um conjunto de dados foi agrupado pelo kmédias ela é a própria variação total dos clusters que vimos acima WithinCk Mas um bom modelo deve ter uma baixa inércia além de um baixo número de clusters k Desse modo precisamos buscar uma compensação porque a medida que o número de clusters aumenta a inércia diminui A ideia então é buscar o ponto onde a inércia começa a diminuir ou seja o cotovelo da curva 29 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Essa é uma técnica visual e aproximada De qualquer modo podemos agora reproduzir a clusterização com o número ideal de clusters k3 Método da silhueta Outro método que pode ser empregado é o método de cálculo da silhueta A silhueta é uma medida estatística de quanto um elemento é semelhante ao seu próprio cluster coesão em comparação com outros clusters separação A silhueta é um valor que varia de 1 a 1 na qual um valor alto indica que o elemento está bem combinado com seu próprio aglomerado e mal combinado com os aglomerados vizinhos Se a maioria dos elementos tiver um valor alto a configuração de cluster é apropriada Se muitos pontos tiverem um valor baixo ou negativo a configuração de cluster pode ter muitos ou poucos clusters O método consiste portanto em empregarmos o número de clusters que fornece a maior silhueta média de todos os grupos 30 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Os resultados podem divergir uma vez que são métricas e métodos diferentes Decidimos aqui empregar três clusters 31 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 32 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Clustering Agora empregaremos todos os quatro atributos de USArrests para a clusterização Mas antes de procedermos a clusterização verificaremos o melhor número de clusters que devemos buscar Definindo o número de clusters Aqui tanto a regra do cotovelo como o valor da silhueta média parecem fornecer o mesmo número de clusters 33 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Kmédias Portanto aplicaremos um estimador Kmédias com k2 34 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise tamanho dos clusters Verifique ainda se os grupos formados não levam a um grupo excessivamente grande 90 dos dados por exemplo ou pequeno 1 dos dados por exemplo 35 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise perfil dos grupos Esses grupos diferentemente de um processo de classificação não são caracterizados por qualquer rótulo Mas você pode explorar esses grupos por exemplo verificando os valores médios e buscando características comuns para que possa nomeálos e caracterizálos melhor Esses valores são os valores dos próprios centroides lembrando apenas que os centroides estão normalizados 36 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Uma vez que Assault é predominante devemos observar os clusters adicionando a dimensão UrbanPop embora você deva lembrar que os grupos estarão de fato separados apenas nas quatro dimensões Você não deve portanto estranhar encontrar o estado de Delaware entre os estados de outro grupo no gráfico 37 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 38 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 11 Clustering hierárquico A ideia da clusterização hierárquica é a mesma do Kmédias Mas seu algoritmo parte de princípios bastante diferentes produzindo assim agrupamentos de dados que podem divergir bastante dependendo dos dados A clusterização hierárquica busca construir uma hierarquia de clusters existindo normalmente duas estratégias No cluster aglomerativo os agrupamentos são feitos de baixo para cima cada amostra começa em seu próprio agrupamento e pares de agrupamentos são organizados à medida que sobe a hierarquia No cluster divisivo a construção é de cima para baixo com todas as amostras começando em um cluster e as divisões são realizadas recursivamente à medida que se desce na hierarquia dos dados O resultado do agrupamento hierárquico fornece uma estrutura que organiza os itens de dados em um dendrograma Dendrograma A base para a construção do dendrograma é uma matriz de distância entre todas as amostras dos dados e a figura abaixo ilustra o procedimento de construção do cluster aglomerativo Este aqui foi adaptado de STAT 555 Statistical Analysis of Genomics Data Os itens de dados aparecem no eixo x e as distâncias das amostras no eixo y Na construção aglomerativa partimos dos elementos individuais distância 0 e ligamos os dados a partir das menores distâncias para as maiores Assim o par de amostras 35 é o primeiro a ser ligado pois tem a menor distância entre todos os elementos o 1 é ligado em seguida e assim por diante até o dendrograma ligar todas as amostras dos dados A construção pode empregar a distância euclidiana mas também qualquer outra métrica de distância 39 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Definição dos clusters Construído o dendrograma a definição dos clusters pode ser feita estabelecendose um ponto de corte no dendrograma o que define a distância máxima que os elementos terão dentro de um agrupamento 40 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering A definição do melhor número de clusters é obtida empregando os mesmos métodos do cotovelo ou de média de silhueta que você viu ao estudar o Kmédias Linkage No exemplo acima quando ligamos o elemento 1 ao par 35 assumimos que a distância da amostra 1 e do par 35 valor 3 na matriz era a menor entre todas as distâncias da amostra após a ligação do par 35 Mas a rigor uma função de distância é definida entre dois elementos de mesmas características e não de um elemento para um grupo Na verdade o que empregamos acima de modo intuitivo é o que denominamos esquema de ligação o qual permite definir uma distância entre os conjuntos de dados Os esquemas de ligação mais comuns são Abaixo os dendrogramas produzidos para os esquemas de ligação single e complete linkage para o mesmo conjunto de dados de nosso exemplo 41 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 12 CASO Wholesale Customer Data O dataset abaixo traz informações de um distribuidor e seus clientes incluindo os gastos anuais para diferentes produtos Fonte httpsarchiveicsuciedumldatasetsWholesalecustomers Queremos aqui segmentar os fornecedores pelos produtos que oferecem 42 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Preparação dos dados Como queremos segmentar os fornecedores somente por seus produtos excluiremos os dados de ChannelRegion de nossa análise e conforme outros estimadores que empregam distância normalizaremos os dados 43 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Definindo o número de clusters Empregaremos aqui apenas a técnica de média de silhueta Clustering aglomerativo Aqui aplicaremos o estimador de clusterização hierárquica construindo a hierarquia de forma aglomerativa 44 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Você pode verificar que os esquemas de ligação single e complete não levam a bons resultados Por isso empregamos o esquema de ligação padrão do scikitlearn 45 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Dendrograma Uma das vantagens da clusterização hierárquica é podermos observar diretamente a estrutura dos dados Observando o dendrograma você pode notar que dois clusters não parece uma divisão interessante dos dados e o diagrama ainda sugere que três clusters faria mais sentido para nossos dados Então refaremos a clusterização para três clusters 46 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 47 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Análise tamanho dos clusters O grupo pequeno pode ser entendido como dados discrepantes no conjunto das amostras Análise perfil dos grupos Observando o perfil dos diferentes fornecedores quais nomes você atribuiria a eles 48 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering Talvez pudéssemos falar em grupo de Grandes Fornecedores Pequenos Fornecedores de Produtos Frescos e Pequenos Fornecedores de Produtos de Mercearia e assim definir estratégias de negócio diferentes para cada segmento 13 Apêndice o gráfico de silhuetas Os gráficos apresentam para cada elemento seu índice de silhueta indicando a maior adequação ou não de cada elemento ao cluster A métrica de silhueta é a média desses valores 49 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 50 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 51 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 52 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 53 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 14 Síntese Nesta trilha você aprendeu sobre os métodos não supervisionados e como eles se diferenciam dos métodos supervisionados Focamos aqui nos métodos de clusterização e como você observou esses métodos são muito mais analíticos que os modelos preditivos do aprendizado supervisionado Você aprendeu também sobre o funcionamento e a aplicação dos métodos de clusterização Kmédias e de clusterização hierárquica além de empregar os métodos do cotovelo e da média de silhueta para determinar o melhor número de agrupamentos para os dados 54 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 15 Para saber mais Acesse Clustering disponível em httpsscikitlearnorgstablemodulesclustering html para conhecer outros métodos de clusterização disponíveis e comparálos Que tal experimentar a clusterização de dados com Kmédias e a clusterização hierárquica além de analisar o gráfico do método do cotovelo de forma online sem qualquer programação Legal não é Então acesse Online Statistics Calculator disponível em httpsdatatabnetstatisticscalculatorcluster Lá você ainda encontra um exemplo mas poderá também importar e exportar seus próprios dados Você pode também revisar nosso exemplo em 1D para o Kmédias Ele encontrase detalhado em Sayad 2021 no livro An Introduction to Data Science disponível em httpswwwsaedsayadcomclusteringkmeanshtm Entenda um pouco mais sobre uma técnica importante de clustering o DBSCAN acessando DBSCAN DensityBased Clustering Essentials disponível em httpwww sthdacomenglishwikidbscandensitybasedclusteringfordiscoveringclustersin largedatasetswithnoiseunsupervisedmachinelearning 55 Trilha de Aprendizagem 6 Aprendizado não supervisionado clustering 16 Referências ALPAYDIN E Machine Learning The MIT Press Essential Knowledge The MIT Press 2019 KOTU V DESHPANDE B Data Science concepts and practice 2 ed Cambridge Morgan Kaufmann 2019 Disponível em httpsasolankicoinwpcontentuploads201904 DataScienceConceptsandPractice2ndEdition3pdf Acesso em 16 dez 2021 LAROSE C D LAROSE D T Data Science Using Python and R Hoboken Wiley 2019 Wiley Series on Methods and Applications in Data Mining Disponível em https www3mackenziebrbibliotecavirtualindexphptipoBiblioebookcentralflashObgn Acesso em SAYAD S An Introduction to Data Science 2021 Disponível em httpswww saedsayadcomdataminingmaphtm Acesso em 16 dez 2021 102 EXAMPLE Agglomerative Hierarchical Clustering STAT 555 Statistical Analysis of Genomics Data 2018 Disponível em httpsonlinecoursessciencepsuedustat555 node86 Acesso em 14 de novembro de 2021 SUBASI A Machine learning techniques Practical Machine Learning for Data Analysis Using Python p 91202 2020 Disponível em httpswwwresearchgatenet publication342307384Machinelearningtechniques Acesso em 16 dez 2021 eadmackenziebr