E aí [Música] o Olá nessa vídeo aula a gente vai fazer uma tarefa de agrupamento a utilizando pandas e site learn em cima de uma base de dados que tem características ali de clientes de um shopping center a gente vai usar o algoritmo complete-linkage para fazer essa tarefa e essa aula a gente vai fazer então exercício sobre a tua esterilização né o agrupamento a gente vai pegar uma base de dados para trabalhar então com o clusterização hierárquica tá essas são as bibliotecas que a gente vai usar esse exercício tão planos o pai pilote tá vamos
usar ou no pai tem essa bibliotecas ai pai Monster High Ana que aqui que a gente vai utilizar para plotar o dentro do Grama Tá além disso a gente vai usar que principalmente o site ler da vamos a importar que a classe agglomerative clustering que vai fazer então o processo de agrupamento hierárquico E aí também a Gente Tá acertando aqui alguns parâmetros para fixar já o tamanho das imagens que a gente vai gerar um tamanho grande aqui que a gente possa visualizar bem no caderno certo então a gente vai começar importando os dados os dados
estão disponíveis aqui nessa URL Ah tá então eu copiar as URL e a gente vai fazendo importação dos dados no caderno o direto da web Ah tá então isso aqui é o caminho Oi e a gente faz ao pandas então para fazer essa importação ó tá esses dados aqui eles são dados sobre clientes de um shopping center e algumas informações sobre informações socioeconômicas e informações da minha sobre o padrão de consumo desses clientes Ah tá como abrir o arquivo a gente vai conseguir dar uma olhada melhor bom então vamos importar aqui a partir da sua
RR E aí Oi talin disso então a gente vai dar uma olhada aqui no cabeçalho de citados né mano os primeiros registros é que esses dados mostram Então vamos começar executando aqui as bibliotecas oi oi Oi Oi e agora vamos então importar esses dados Ah tá então esses são os campos aqui desse conjunto de dados que a gente colocou nesse Data Frame tá tem Wide do Consumidor tem o gênero masculino ou feminino tem a idade tem a renda anual aqui em milhares de Dólares tá E aqui tem o a pontuação de gastos tá então se
valor varia de 1 a 100 em quanto maior o valor maior maior seus gastos e o cliente no Shopping Butantã ambiente de talvez aí de mais fiel ao Shopping Center Ah tá então para trabalhar aqui com uma forma facilitada com esses dados a gente vai selecionar dois desses Campos Vamos Fazer uma comparação aqui da renda anual com o a pontuação de gastos aqui dos clientes A então vamos gerar que uma versão é reduzida desse data certa eu vou chamar aqui de mim dois de Shopping 2 de duas dimensões tá pegando Então somente os valores das
coroas aqui de interesse desses atributos que a gente quer trabalhar aqui no momento tá um então é o in annual income on E aí E aí [Música] Oi e a outra colunas interesse aqui que é o spending score Mel pontuação de casos Ah tá então esse vai ser e o dataset Então a gente vai usar para fazer a o agrupamento hierárquico Ah tá vamos dar uma olhada aqui como é que vai ficar nesse Data Set reduzido então comemos colunas Ah tá então a primeira coisa que a gente precisa fazer quando vai fazer um processo de
agrupamento é escolheu um número de grupos tá Às vezes esse conhecimento vendo os especialistas Às vezes a gente não tem muita ideia de como usar né o critério ali de número de grupos nesse caso aqui como eu não conheço bem os lados a gente vai pro tá então o dentro do grama e a partir do tem programa A gente vai então deduzir ali qual seria um bom número de grupos Ah tá então vou começar a dar um título aqui para o meu tendo grama G1 o programa dos consumidores Tá certo e aí a gente vai
então usar aquele que objeto né que é shc que vai fazer então a geração do bem programa Ah tá então vou chamar a função aqui também dobrar Ah tá essa função eu vou chamar é uma função que que é responsável Então por gerar esses dados aqui para usando o o o algoritmo complete-linkage tá então essa função que chama o link e aí a gente pode escolher se é completo os cílios simples é o único através de um parâmetro aqui então a gente passa primeiro um ótimo rapaz de dados né que a gente está trabalhando a
ver a gente chama então para muito método a gente vai usar o convite da o a ligação completa neocomplete link as é uma pequena correção aqui é correto que um metro e Ah tá e conheço então a gente já consegue visualizar o gráfico aqui tem programa e Vai resultar E aí vai fazer então a nessa se agrupamento de forma ir aqui tá o gráfico aqui ainda ficou pequeno e me deixou aqui executar aqui para ele pegar os parâmetros ali do que eu passei como tamanho da figura E aí aí eu vou executar novamente troca para
ver esse gráfico um pouco maior a melhorar a visualização Então esse aqui é o programa gerado a gente tem aqui cada consumidor individualmente na esses valores vão sendo então é aglomerados tá aqui a gente o único objetivo aqui de fazer isso para gente ter uma ideia aqui de como estão sendo os agrupamentos ó tão bom critério que a gente usa quando vai escolher o número de grupos a partir do dendrograma é ver aqui as maiores distâncias verticais geradas aqui para os dados aí a gente escolhe um valor de corte aqui cada ponto desse aqui vertical
que cruza essa linha horizontal que a gente vai escolher vai dar então número de grupos então poderia trabalhar por exemplo o número de grupos mais ou menos aqui nessa altura eu daria quatro grupos Alpes trabalhar aqui também com cinco grupos ou até incluir ak-47 grupos Tá eu vou ficar com cinco grupos aqui me parece um número bem adequado dado essa distribuição aqui e a gente tem uma concentração Clara que de um grupo e é mais concentração de alguns grupos aqui três ou quatro são bons números Ah tá então agora a gente vai depois de ter
feito essa geração a gente vai de fato fazer o agrupamento utilizando o site dorme tá então visualmente a 20 views 5 parece um número adequado para grupos Ah tá vou criar uma variável com esse valor aqui a criar uma outra variável que vai receber então o resultado da dor à glória agglomerative clustering tá então esse é um objeto que a gente vai distanciar com alguns valores voltar ainda para que que vai fazer o agrupamento para esses dados que a gente tá trabalhando tá bom bom então a boa primeiro outro parametrizar esse objeto e depois só
vou pedir para fazer então a o agrupamento o primeiro a gente passa aqui o número de clusters e aparece para um outro em clusters O que é o Vini grupos que a gente gerou ali agora e depois a gente vai escolher o método a forma de similaridade da para isso a gente vai chamar aqui é um parâmetro Affinity tá a gente vai usar aqui a distância euclidiana Claro Calma a distância direta né entre ele: e por fim a gente vai escolher o método que a gente vai usar ó e aqui a gente vai escolher o
complete limpas Ah tá então começo a gente parametrizar o objeto eu queria uma Instância dele E aí agora eu vou então chamar o método a função Fit predict e aqui a função que vai realizar que o agrupamento aqui para ela eu vou passar para o meu conjunto de dados e nesse caso o shopping 2D para gente conseguir visualizar ele aqui não o resultado do agrupamento estamos usando tão dois atributos tá quando a gente executar esse código aqui e vai retornar para gente até funcionar retorna um Array aqui contendo os grupos não ficava um dos objetos
foi sequencialmente aqui classificado tá então os grupos eu escolhi cinco grupos eles variam aqui de 0 até quatro né cada objeto aqui foi agrupado em um desses grupos está escrito aqui Ah tá então bom visualizar essa informação graficamente Ah tá para fazer essa visualização desses braços aí de uma forma melhor a gente vai usar um gráfico de dispersão bom então eu vou usar lá do pai prot e o skate na um gráfico de dispersão Ah tá o quê que a gente vai passar aqui então para fazer essa visualização gente vai passar e os dois atributos
que a gente escolheu Eu amo o ano ao Inca e tem passado aqui no OLX em baixo y a gente vai passar e o outro atributo O que é o pende score on E aí ó tá passando esses dois atributos E além disso a gente vai passar aqui na função para colorir esses grupos diferentes aqui tá é para isso a gente vai usar então o modelo gerado não é ali que não é que o a variável grupos E aí a gente vai pegar então os meio pousar os rótulos são os valores que cada grupo representa
então ele vai atribuir cores diferentes para esses valores aqui do diferentes do ao rei tá por último eu vou determinar que uma escala de coloração eu tava usar o valor reembolso aqui e a pra lá acabem as cores entre os outros e vamo dá uma melhorada aqui no gráfico passando aqui um rótulo também dos eixos X e Y E aí eu não vou traduzir aqui é o significado das mercado dá uma das colunas Ah tá então deixe está rindo anual e no eixo Y e a gente tem a pontuação de gastos E aí bom então
a gente pega aqui para exibir e esse gráfico Geraldo a e vamos ver com o resultado aqui de execução então Embora esteja um pouco pequeno que dá para visualizar bem e a separação cinco grupos foi funcionou bem parece né que a gente tem dois grupos próximos não vermelho e azul Eu poderia até considerar que são quatro grupos talvez alguns para cá ou certinho desse azul preciso mais claro Mas no geral acho que essa classificação foi bem satisfatória Bom dia de a gente consegue ver como é que é a distribuição então da renda da renda crescendo
aqui e a relação com a pontuação de gastos Então se a gente for usar essa informação para o shopping aqui da indicar aqui que a gente tem cinco grupos de consumidores né Tem alguns consumidores que têm uma renda mais baixa e que tem uma pontuação de gasto menor existe essa relação é você se consumidores aqui é desse grupo não tem não o padrão de gás por exemplo muito alto É uma pontuação muito alta e aqui a gente já tem um um nessa cura aqui salmão né Rosa a gente tem consumidores que têm uma alta pontuação
é mas tem uma renda Baixa lá então são grupos bem distintos em em Roxa que a gente tem consumidores que têm uma alta pontuação de gastos e tem uma renda anual muito alta na bem distribuída aqui também não parece que usar que cinco grupos funciona dentro Ah tá então para trazer alguma informação a mais aqui para esse gráfico a gente poderia olhar também qual é o gênero desse consumidores né notar essa informação adicional nesse gráfico Ah tá vamos fazer isso bom então eu vou gerar um novo gráfico a rua aproveitas as informações que a gente
já tem aqui é mais um gráfico muito parecido com isso só que a gente vai rotular cada um daqueles pontos E aí então como é que a gente faz isso a gente para conseguir fazer isso a gente precisa adicionar um elemento a mais aqui que é chamado subplots tal subir quatro ele vai retornar dois valores não se refere é o eixo né de representação dos dados e o outro a figura é falso de Frota que faz parte do pai prot e a gente chama ele aqui para fazer essa configuração aqui dos dados Ah tá então
agora eu vou continuar colocando mesmo gráfico né então vamos bater eles código idêntico só que agora o eixo agora que vai ser que vai receber ali os valores do tanto do rótulo do eixo X quanto.do rótulo do eixo Y Oi pai então esses valores agora pertencem ao eixo tá sendo retornado aqui pelo Sub Bot E aí resto informação aqui a mesma E aí como é que agente faz para adicionar então os Lemos né a gente separou nesse nessa base de dados Shopping 2D não tem informação do gênero Então a gente vai precisar pegar esses valores
lá dos dados originais tá como os pontos são coincidentes né o valor do da renda e o valor do da pontuação de gastos é a mesma então a gente pode plotar essa informação por cima gráfico Ah tá travada isso a gente vai usar no laço o papai interar então no dentro dessa característica gênero na base de dados original então eu vou receber alguns valores aqui nessas variáveis Ah tá usando a função e no Meriti para não merece ela permite a gente E terá no certo uma certa lista não é um certo conjunto de objetos e
retornar que o índice e o valor que fazem parte daquele objeto tá então caso aqui a gente vai usar o shopping Oi e o atributo é o gengibre tá de gênero Tá certo eu ia a gente vai fazer uma verificação aqui é de qual conteúdo foi retornado Então se esse conteúdo a rua e-mail né feminino bom então o que que a gente vai fazer a gente vai usar no eixo tá sendo gerado a função anotei tá que vai criar um lamentação é para que ele dá o. Oi Tati por para diminuir aqui um pacto de
visualização a gente vai colocar só um F quando for feminino E aí aí o que que a gente vai fazer então vai colocar e aqui o ponto o utilizando os dados originais Então a gente vai usar aqui o clock para pegar o índice daquele objeto que tá sendo internado o carro nosso interesse não é bloco é pegar o mesmo valor para postar na Então a gente vai pegar primeiro o manual Inca Ah tá então a gente vai gerar nesse ponto aqui e depois a gente vai me pegar também nós vamos pegar aquilo spending score Hero
Ah tá então vou copiar trocar o valor interno aqui E aí é assim Ah tá então por isso a gente vai plotar essa informação DF quando nesse ponto é quando eu o gênero feminino e aí o procedimento aqui pelo gênero masculino vai ser muito parecido tá então e se não fosse menina masculino Oi e aí a gente vai gerar uma anotação só que agora trocando a UFF pero.no Tá certo então esse é o valor que a gente vai recrutar né vai recriar um gráfico desse agora incluindo as informação ver se a gente acha né descobre
alguma informação adicional Ah tá bom primeiro eu posso ir em um único aqui né E aí só propriedade aqui não existe uma verdade elas 7x Label e 17 São ligou agora sim pra gente vai ter o gráfico com as marcações tá então a gente pode vir aqui quais dos clientes aqui são do gênero masculino ou feminino bom então a distribuição aqui parece bem homogênea tem bastante caso aqui feminino no consumo alto ou ainda baixa mas também tem várias instâncias aqui no masculino e parece não haver muita diferença quanto ao gênero em nenhum dos grupos parece
que a distribuição é bem equilibrada tá Então essa é uma informação a mais que a gente obteve a partir desse conjunto de dados para essa análise de clusterização ou agrupamento A então surgiu que vocês explodem outras bases de dados também utilizando aqui há tanto a ir a utilização a complete incas quanto com simbólicas também tá então vocês podem testar e testar também os algoritmos de agrupamento com esses dados ou testar esse algoritmo que a gente fez ou aqui com outros dados o certo é isso por hoje até mais bom então a gente viu como usar
o complete-linkage para analisar um conjunto de dados e eu sugiro que vocês continuem se aprimorando e tentando exercitando com outras bases e também com outros algoritmos de agrupamento obrigado tá [Música] [Música]