Olá, pessoal! Bem-vindos ao curso Clusterização: Aprendendo a Prever Dados sem Rótulos. Antes de começarmos, eu sou Mariana, cientista de dados, professora e instrutora na Alura, apaixonada por ciência de dados e IA. Estarei com vocês ao longo de todo o curso.
O que vamos aprender? Nós vamos construir, do zero, uma solução de segmentação de perfis de clientes, desde a etapa de tratamento de dados até a criação de um dashboard (painel) interativo com IA.
Ao longo do curso, nós vamos:
Nós também vamos utilizar LLMs (Modelos de Linguagem de Grande Porte) como ferramenta de apoio durante todo o processo de desenvolvimento.
E, como já sabemos, aqui na Alura nós não construímos soluções descoladas da realidade: nós desenvolvemos soluções para resolver problemas de negócio. Qual será o problema deste curso? Uma rede varejista deseja abandonar campanhas de marketing genéricas e adotar estratégias de marketing mais personalizadas, para que sejam mais eficientes.
Hoje, sabemos que existem clientes com perfis e comportamentos de consumo semelhantes. Ainda assim, apesar das diferenças entre perfis, essas pessoas recebem as mesmas campanhas e abordagens, o que dificulta a criação de ações mais relevantes.
Diante desse cenário, queremos utilizar os dados dos clientes para identificar automaticamente perfis com comportamentos semelhantes. A partir disso, o objetivo do projeto será aplicar técnicas de clusterização para identificar três perfis de clientes e transformar esse resultado em informações úteis para campanhas de marketing (mercadologia) mais direcionadas e personalizadas.
Existem três frentes importantes para solucionar esse problema de negócio:
O nosso slogan (lema) do problema de negócio é: como descobrir perfis de clientes com comportamentos semelhantes sem possuir rótulos prévios?
Vamos aprender a fazer isso com clusterização. No nosso próximo vídeo, vamos conhecer o que é, de fato, um problema de clusterização e qual é a relação com a aprendizagem não supervisionada. Afinal, o que é a aprendizagem supervisionada? Vamos ver tudo isso no próximo vídeo. Eu te espero lá!
Oi, pessoal! Como vocês estão? Bem-vindos ao segundo vídeo da nossa primeira aula, no qual vamos conhecer conceitos extremamente importantes neste curso: aprendizagem não supervisionada e o que, de fato, é clusterização. Vamos lá!
Sabemos que estamos em uma trilha de ciência de dados e aprendizagem de máquina. A aprendizagem de máquina é uma subárea da inteligência artificial, na qual trabalhamos com algoritmos que constroem modelos capazes de reconhecer padrões a partir dos dados. Dentro da aprendizagem de máquina, existem diferentes abordagens para o reconhecimento desses padrões. Vamos citar duas: aprendizagem supervisionada e aprendizagem não supervisionada.
Primeiro, vamos entender a aprendizagem supervisionada. Nessa abordagem, criamos modelos que aprendem padrões a partir de exemplos que já possuem a resposta conhecida. Essa resposta conhecida chamamos de rótulo.
Como funciona? Temos dados de entrada do nosso problema — por exemplo, dados de clientes. Vamos ter as características desses clientes e entregar para um algoritmo de Machine Learning (aprendizagem de máquina) essas características junto com as respostas já conhecidas, isto é, os rótulos. Por exemplo, o perfil do cliente vem com suas características e com o rótulo correspondente. O modelo aprende a relação entre as características do cliente e a resposta.
Temos um exemplo de rótulo: “aceitou a campanha”. No caso, aceitou a campanha de marketing (mercadologia)? Sim ou não? Entregamos ao algoritmo os dados de entrada (as características do cliente) junto com essa resposta. Assim, se o cliente A aceitou ou não a campanha, se o cliente B aceitou ou não a campanha. A partir desses dados conhecidos, o modelo de aprendizagem supervisionada aprende a prever novos casos. O rótulo representa a resposta que queremos prever.
Por exemplo: cliente 101, renda de R$ 72.000 e compras de R$ 18.000. Essas são as características do cliente. Qual seria o rótulo “aceitou a campanha”? Sem esse rótulo, o problema deixa de ser supervisionado.
E quando não temos rótulo, o que nós fazemos? Qual é a abordagem? Podemos ter informações dos clientes, mas ninguém nos diz quais perfis existem ou, no problema da campanha, se determinado cliente aceitou ou não a campanha. Quando não temos rótulo, o objetivo não é prever uma classe nem um valor. Queremos descobrir estruturas nos nossos dados, explorar e extrair informações e relações sem uma variável-alvo pré-definida que nos guie. Nessa situação, estamos na aprendizagem não supervisionada.
As diferenças entre aprendizagem supervisionada e não supervisionada são claras. Na aprendizagem supervisionada, temos um rótulo conhecido (a resposta), e o processo de treinamento busca encontrar a relação entre as variáveis (características do cliente) e o rótulo. O objetivo é sempre prever uma resposta: prever uma classe, no caso da classificação, ou prever um valor contínuo, no caso da regressão. Exemplo: o cliente vai aceitar a campanha? Sim ou não? São classes, categorias.
Na aprendizagem não supervisionada, não temos um rótulo conhecido, não temos um target (alvo) conhecido. O objetivo é buscar padrões e relações nos dados, descobrindo estruturas. Exemplo: quais perfis de clientes existem? Embora ambas sejam aprendizagem de máquina, respondem a problemas diferentes. Uma está voltada à previsão de algo (previsão de uma resposta) e a outra à descoberta de relações e estruturas nos dados.
Dentro da aprendizagem não supervisionada, temos algumas tarefas. Entre elas, está a tarefa de clusterização. A clusterização é uma classe de algoritmos não supervisionados que buscam agrupar elementos semelhantes e separar elementos diferentes. O que significa ser semelhante? Um algoritmo de clusterização identifica, com base nas características das nossas amostras (isto é, dos nossos dados), quais amostras são semelhantes e quais são diferentes.
Vamos ver um exemplo. Temos quatro características e três clientes. O cliente A tem renda de R$ 72.000, gasto de R$ 1.240, realizou 19 compras e tem recência de 28 dias.
Temos o cliente B, com renda de R$ 70 mil, gasto de R$ 1.180, 18 compras e recência de 31 dias. O cliente C tem renda de R$ 32 mil, gasto de R$ 105, 5 compras e recência de 74 dias.
Conseguimos perceber dois grupos diferentes: o cliente A e o cliente B apresentam características semelhantes — renda mensal aproximada e quantidade de compras semelhantes —, enquanto o cliente C se diferencia. Identificamos essa similaridade a partir das características utilizadas para representar cada cliente. É dessa maneira que os algoritmos de clusterização distinguem o que é semelhante do que é distinto.
Como surgem os grupos (clusters (grupos))? Um cluster (grupo) é um conjunto de amostras semelhantes. Quando falarmos “grupo” e “cluster (grupo)”, trata-se do mesmo conceito. Partimos dos dados (amostras/observações) e entregamos um algoritmo que utiliza um critério de similaridade para comparar proximidades e padrões entre as observações: elementos semelhantes ficam mais próximos; elementos distintos ficam mais distantes. A partir disso, formamos os grupos (clusters (grupos)) e, com eles, passamos a entender as relações e as características de cada grupo.
Quantos grupos devemos encontrar? Na tarefa de clusterização, dividimos os dados (as amostras) em grupos semelhantes. Existem duas maneiras principais de definir essa quantidade:
No nosso caso, o problema de negócio já define que precisamos identificar 3 perfis de clientes. Por isso, vamos buscar 3 grupos, 3 clusters (grupos). Essas são as duas formas de definir com quantos clusters (grupos) vamos trabalhar.
Dentro da tarefa de clusterização, enfrentamos alguns desafios:
Como identificar qual modelo gera os melhores grupos se cada um agrupa de forma diferente? Para responder a essas três questões, precisamos aplicar nossa capacidade analítica. A clusterização exige muita análise: não basta aplicarmos os algoritmos e gerarmos os grupos. Precisamos interpretar os grupos, olhar para o problema de negócio e, a partir disso, identificar as características de cada grupo para escolher o melhor modelo.
Durante este curso, vamos utilizar a inteligência artificial como ferramenta de suporte nesse processo. Primeiro, vamos preparar os dados: conhecê-los por meio de análise exploratória e deixá-los adequados para os algoritmos de agrupamento. Vamos conhecer 3 algoritmos de agrupamento e aprender a avaliar esses modelos para identificar o mais adequado. Em seguida, vamos interpretar os resultados, identificar as características de cada grupo, nomear cada perfil de cliente e, por fim, construir nosso dashboard (painel) interativo. Vamos sair do dado bruto até um produto de dados interativo.
Esse é o caminho que vamos percorrer. Na próxima aula, daremos o pontapé inicial no projeto e conheceremos a etapa de preparação de dados. Nos vemos na próxima aula.
Oi, pessoal! Como vocês estão? Boas-vindas à Aula 2, na qual vamos conhecer técnicas de preparação de dados voltadas à tarefa de clusterização.
Antes, vamos recordar nosso problema de negócio. Fomos contratados por uma empresa de varejo e queremos identificar três perfis de clientes para apoiar campanhas de marketing mais personalizadas. Teremos dados de comportamento e consumo de clientes. Utilizaremos algoritmos de clusterização para encontrar grupos semelhantes de clientes. Dentro desses grupos, identificaremos três segmentos de clientes, três perfis, para direcionar a campanha de marketing.
Antes de partirmos diretamente para os algoritmos de clusterização, precisamos decidir como cada cliente será representado pelo algoritmo. Precisamos entender como o algoritmo enxerga um cliente: como um conjunto de características. Por exemplo, consideremos o cliente 101, com idade de 42 anos, renda de R$ 65.000, gasto mensal de R$ 1.200 e recência de 18,30 dias. O algoritmo interpreta isso como um vetor de características: 42, 65.000, 1.200, 18,30.
Para concretizar essa ideia em código, podemos representar o cliente como uma lista (vetor):
X_cliente = [42, 65000, 1200, 18, 30]
Esse vetor ilustra como as características numéricas podem ser agregadas para alimentar o algoritmo de clusterização.
Chegamos, então, à nossa primeira etapa de preparação de dados: a seleção dos atributos que farão parte do processo de agrupamento, de clusterização. Nem todas as informações do dataset (conjunto de dados) têm o mesmo papel na clusterização. Teremos:
Nem todos esses dados entrarão na clusterização. A seleção das variáveis reflete o tipo de similaridade que queremos encontrar. Por exemplo, se queremos encontrar três perfis de clientes baseados no consumo, precisamos identificar, no nosso dataset, quais variáveis mais se relacionam com características de consumo: renda, gasto, compras, recência, idade. A etapa utilizada para identificar as variáveis que entram na clusterização é a seleção de variáveis.
Algumas diretrizes importantes:
A partir disso, identificamos quais técnicas de preparação de dados vamos aplicar nessas colunas, nesses atributos.
Quando lidamos com variáveis identificadoras, é essencial que elas não definam os grupos — por exemplo, ID_do_cliente e códigos únicos. São variáveis contextuais e não devem influenciar o processo de definição dos grupos. Não serão excluídas definitivamente, pois precisaremos delas depois para reconhecer características dos clientes, mas não devem fazer parte do processo de definição dos grupos.
Algumas variáveis podem ser preservadas para interpretar o cluster (agrupamento) depois. Não vamos excluí-las do dataset e deixar de utilizá-las; após formarmos os grupos, podemos utilizá-las para conhecer o perfil dos clientes.
Existe um conceito muito importante em clusterização: o espaço de características. Cada característica representa uma dimensão. Com duas características, podemos utilizar um plano cartesiano; por exemplo, a dimensão renda no eixo x e a dimensão gasto no eixo y. Cada ponto representa um cliente. Ao observar esse espaço de características, conseguimos ver a disposição dos clientes e notar que clientes mais próximos tendem a ter características semelhantes.
À medida que adicionamos novas características, aumentamos o número de dimensões e se torna mais difícil visualizar em um plano. Isso não significa que precisamos visualizar todas as dimensões para que o algoritmo trabalhe com elas. Com duas características, temos um plano; com três, um espaço 3D; com mais, um espaço multidimensional. O algoritmo consegue operar nesse espaço sem necessidade de visualização completa.
Por fim, precisamos entender que as escolhas de características mudam os grupos formados. Por isso, a seleção de atributos para o processo de clusterização é muito importante, especialmente quando partirmos para a interpretação dos grupos.
Os mesmos clientes podem parecer próximos ou distantes, dependendo das características escolhidas. Como exemplo, consideramos renda e gasto. Nesse caso, os pontos estão embaralhados. Já com idade e compras, conseguimos visualizar três grupos diferentes: o grupo azul claro, o grupo verde e o grupo azul escuro. Para renda e gasto, esses clientes ficam todos misturados.
Por quê? Isso é importante porque os clusters (grupos) não são independentes da representação escolhida. Dependendo das características que escolhemos para plotar no nosso espaço, podemos não conseguir uma visualização adequada dos grupos. Portanto, a escolha das características que vamos visualizar precisa ser bem pensada.
Entendida a importância da escolha dos atributos e do conceito de espaço de características, vamos discutir alguns problemas comuns quando falamos de clusterização. Vamos trazer as abordagens e os problemas com os quais vamos trabalhar no nosso projeto, sem que isso signifique que sejam os únicos existentes em clusterização.
O primeiro problema é escala. As variáveis podem estar em ordens de grandeza diferentes. Neste exemplo, renda é 65.000, gasto é 1.200, recência é 30 e filhos são 2. Temos, portanto, uma escala de milhares, outra de dezenas e outra de unidades.
Qual é o problema aqui? Quando trabalhamos com algoritmos de agrupamento, precisamos identificar a similaridade entre os dados. Alguns algoritmos de clusterização, para calcular essa similaridade, utilizam distância entre as amostras. Quando os dados têm escalas muito diferentes, a variável com maior escala predomina no cálculo da distância. Ou seja, a variável com maior escala terá peso maior no processo de clusterização. Contudo, uma maior escala não significa ser mais importante para o problema de negócio. Não é porque a renda é 65.000 que ela é mais importante do que a recência, que é 30.
Precisamos aplicar técnicas para atenuar e resolver o problema de escala. Em algoritmos baseados em distância, devemos trabalhar com técnicas de escalonamento. O que é escalonamento? É a técnica pela qual colocamos todas as variáveis em uma mesma escala, por exemplo, entre 0 e 1 ou entre -1 e 1, de modo que cada variável contribua de maneira equivalente no cálculo de distância.
Importante: ao colocar as variáveis na mesma escala, não as tornamos iguais. Apenas evitamos que uma unidade de medida domine a outra. Por exemplo, para um cliente, ao escalonar entre 0 e 1, renda pode ficar com valor mais próximo de 1 e número de filhos com valor mais próximo de 0. A diferença entre os valores continuará existindo, mas todos estarão na mesma escala, e não em dezenas versus centenas ou milhares.
Por isso, precisamos aplicar uma técnica de preparação de dados quando lidamos com escalas diferentes. Vamos aplicar uma técnica de escalonamento no nosso dataset (conjunto de dados) na parte prática, no próximo vídeo.
Outro critério muito importante em técnicas de agrupamento são os outliers (valores atípicos). O que é um outlier? Outliers são observações que estão muito fora do padrão geral dos dados, isto é, clientes com comportamento muito diferente do restante.
Esses outliers merecem atenção porque podem influenciar a estrutura dos grupos. Observando um exemplo em que cada bola representa um cliente, notamos clientes de azul claro mais próximos entre si e um cliente verde bem distante. Esse ponto pode ser um outlier. Qual é o impacto? Em especial em algoritmos baseados em distância, um outlier altera o cálculo das distâncias, desloca os centróides e influencia a formação dos grupos, o que nos leva a investigá-los.
Precisamos identificar o que é esse outlier. Muitas vezes é um erro, como um erro de digitação. Se estivermos falando de idade, pode aparecer, por exemplo, 250. Ninguém vive 250 anos. Se foi um erro de digitação, precisamos decidir o que fazer. Também pode ser um cliente real. Se, em vez de 250, a idade for 100, será que esse 100 é um outlier? Vamos investigar para entender se é de fato um valor atípico, se é uma característica relevante ou um comportamento raro, e se deve permanecer no nosso dataset (conjunto de dados) ou ser tratado de alguma maneira.
Portanto, outliers precisam ser analisados, identificados e, se necessário, tratados. Essas são algumas abordagens que utilizamos no processo de preparação de dados.
No próximo vídeo, vamos começar a colocar a mão na massa no nosso projeto. Vamos conhecer quem são os nossos dados e aplicar a etapa de análise exploratória. Vamos identificar se existem problemas de escala e se existem outliers, para tratarmos esses pontos na etapa de preparação. Por ora, vamos conhecer a nossa base de dados. Te espero lá!
O curso Clusterização: segmentação de clientes e dashboards interativos possui 231 minutos de vídeos, em um total de 57 atividades. Gostou? Conheça nossos outros cursos de Machine Learning & Deep Learning em Dados, ou leia nossos artigos de Dados.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Modo entrevista - Pratique situações reais e evolua com feedback personalizado
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Lives CareerUp: eventos exclusivos com foco em empregabilidade e carreira
Mentorias de carreira: 2 encontros individuais com mentores do Talent Lab
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.