Alura > Cursos de Data Science > Cursos de Machine Learning > Conteúdos de Machine Learning > Primeiras aulas do curso Aprendizado não supervisionado: primeiras técnicas e métodos

Aprendizado não supervisionado: primeiras técnicas e métodos

Aprendizado não supervisionado - Apresentação

Olá, meu nome é Ana Mioto, sou instrutora na escola de dados e vou te acompanhar neste curso, pensado para aquelas pessoas que desejam entender mais sobre o aprendizado de máquina não supervisionado.

Nesse curso, veremos três principais técnicas desse tipo de tarefa de Machine Learning. Primeiro, as regras de associação. Depois, a clusterização. Por último, veremos a redução de dimensionalidade.

Isso tudo para entendermos melhor como funciona e sabermos como implementar esses tipos de algoritmos, essas técnicas, em um problema que a nossa empresa de consultoria Alura Data está responsável.

Aprendizado não supervisionado - Aprendizado não supervisionado

Você faz parte da empresa de consultoria Alura Data, cujo foco é criar soluções baseadas em dados para as empresas. Nessa semana, nós recebemos o Senhor Zé.

O Senhor Zé tem uma padaria que é toda tecnológica, tem diversos itens, tem site de vendas online. Porém, ele percebeu que suas vendas estavam estagnadas. Então, ele solicitou que trabalhássemos com essas informações, esses dados parados em seus sistema, para tentar agregar valor ao seu negócio.

Então, como podemos fazer isso? Que tipo de trabalho, tarefa, podemos aplicar? Uma técnica que podemos utilizar com os dados da padaria do Senhor Zé, é o aprendizado não supervisionado de Machine Learning que foca em tentar identificar padrões desconhecidos, encontrar semelhanças ou diferenças nesses dados, porque não temos rótulos, não temos classes definidas.

Algumas técnicas que podemos aplicar nesses dados são Clustering, Redução de Dimensionalidade, Análise de Correspondência Simples e Múltipla, Detecção de Anomalias e as Regras de Associação. Aqui no curso vamos focar em três, o Clustering, Redução de Dimensionalidade e as Regras de Associação.

Você deve estar se perguntando: muito legal essa técnica, mas como podemos aplicar no dia a dia no mercado de trabalho? As aplicações são inúmeras. Primeiro temos a questão da segmentação de imagens na área da saúde.

Além disso, também podemos segmentar clientes, identificar aquelas características como a sua renda, temos também a sua característica de comprador e temos na agricultura. Podemos identificar novos produtos a partir das informações que temos em suas bases de dados, as características desses produtos agrícolas.

Vamos então retomar o problema do Senhor Zé e carregar os dados que ele nos trouxe aqui no notebook. Então vamos lá. Para podermos carregar as informações do Senhor Zé, precisamos importar a biblioteca pandas e apelidar as pd. Então, vamos carregar aqui.

Agora, vamos pegar o conjunto de dados e colocar uma variável. Vamos criar a variável dados = pd.read_csv(), estamos chamando a função da biblioteca pandas e entre parênteses, podemos copiar o caminho dos nossos dados aqui no nosso notebook. Podemos rodar a célula.

Agora que os dados estão carregados, vamos olhar as informações gerais presentes nesse conjunto de dados. Então dados.info(). O que temos aqui?

Temos 20.507 linhas de informações e temos cinco colunas. Temos número de transação, seria o número das vendas realizadas, do tipo inteiro. Temos os itens, quais os itens que foram vendidos nessas transações, objeto. Temos date e time, o dia e o tempo em que foi vendido, temos a parte do dia e o tipo de dia. Interessante, todos os objetos.

Então vamos dar uma olhada nas cinco primeiras linhas chamando a função head. Então dados.head(). Vamos agora ver as informações que temos dentro dessas colunas. Aqui temos os números das transações, os itens que foram vendidos, então, por exemplo, a transação um, primeira venda foi pão. Aí dia e horário, no dia 30 de outubro de 2016, às 09h58.

Qual a parte do dia? 09h58, então parte da manhã. E o tipo de dia foi fim de semana. Interessante. A partir disso, podemos começar a isolar um pouco as informações. Por exemplo, vamos começar fazendo um tratamento nesses dados. Vamos tentar isolar as transações e seus itens. Isso é muito importante para o tipo de solução que podemos aplicar nesses dados.

Aí você deve estar se perguntando: qual solução podemos utilizar no aprendizado não supervisionado? Porque temos diversas técnicas, certo? Podemos utilizar a Regra de Associação. Para isso, vamos isolar a lista de transações.

Primeiro criamos transação = [], estamos criando uma lista vazia. Depois, chamamos for ite, in dados ['TransactionNo].unique():, queremos apenas um valor único, porque como você pode ter percebido, os números das transações repetem, pois mais de um item pode ter sido vendido naquela transação. Então, vamos pedir somente o valor único da transação.

A partir de lista = list(set(dados[dados['TransactionNo'] == item]'Items'])), nós vamos criar a variável lista para poder armazenar esses dados que estão sendo chamados da coluna itens.

Lembrando novamente, queremos um valor só porque precisamos encadear cada um dos itens vendidos. Não importa a quantidade desses itens, por isso queremos somente o valor único, qual item foi vendido em cada transação.

Por fim, nós colocamos esses itens dentro da lista a partir de transacao.append(lista). Vamos rodar aqui. Esperar um pouquinho. Perfeito. Vamos dar uma olhada nas cinco primeiras transações. Podemos chamar transacao[0:5], então queremos as cinco primeiras linhas, cinco primeiras transações no nosso conjunto de dados.

Vamos dar uma olhada. Legal, a primeira transação vendeu um pão, na segunda, Scandinavian, que é um tipo de bebida da nossa padaria, temos geleia, cookies, chocolate quente, muffin e assim por diante.

Agora que entendemos um pouco melhor os tipos de dados que estamos trabalhando da padaria do Senhor Zé, podemos aplicar agora a primeira técnica do aprendizado de máquina não supervisionado, as regras de associação.

Mas o que é regra de associação?

Aprendizado não supervisionado - O que é regra de associação?

Nós fazemos parte da Alura Data, empresa de consultoria, e recebemos nessa semana, o Senhor Zé, dono da padaria. Então vamos lá, vamos relembrar os problemas que o Senhor Zé trouxe para nós.

Ele tem uma grande quantidade de dados parados, grandes informações paradas no seu sistema e as vendas estão um pouco paradas, estagnadas. Ele quer melhorar as suas vendas, o seu negócio, utilizando os dados.

Ele trouxe essas informações para nós, nós entendemos melhor quais são esses dados, temos os números das transações, os itens que são vendidos em cada transação, qual dia, em qual parte do dia, os horários e assim por diante.

Aí, vamos entender melhor qual é a técnica que podemos aplicar quando estamos trabalhando com esse tipo de dados. Essa técnica é a regra de associação. Mas o que é regra de associação?

A regra de associação se baseia em identificar relacionamentos presentes em grandes conjuntos de dados. Mas como assim? Temos as transações e os itens. Queremos identificar as relações entre esses itens, entre essas diferentes vendas na padaria do Senhor Zé.

Então, o próprio exemplo são os dados do Senhor Zé e essa padaria. Vamos pensar um pouco melhor. Qual é a importância de aplicar a regra de associação? A primeira é poder identificar esse comportamento de compra dos clientes. Então, temos uma tendência a comprar mais café, por exemplo, na padaria dele? O pessoal que frequenta a padaria do Senhor Zé compra mais café?

Ou podemos identificar outros tipos de comportamento, se o pessoal gosta mais de coisas doces, mais salgadas, e assim, começar a direcionar esses produtos dentro do negócio do Senhor Zé. Outra importância de se aplicar as regras de associação e as vantagens que essa aplicação nos traz é apoiar uma variedade de aplicações relacionadas ao negócio.

Nós podemos, por exemplo, reorganizar toda a padaria, a disposição dos itens na padaria do Senhor Zé. Então, talvez um item ficar mais próximo de outro. "O café vende mais com o pão", então vamos deixar um próximo ao outro para a pessoa ver e já levar junto. Ou "Não vende tão bem pão com chá", então vamos deixar longe?

Podemos criar combos de produtos. "Ah, esses produtos vendem melhor juntos". Criar promoções, assim por diante, tudo visando melhorar o negócio do Senhor Zé. E aí, como que funciona essa técnica de regra de associação? Como podemos criar esses relacionamentos? Até o momento, temos as transações e seus itens. O que fazemos com essa informação?

Primeiro de tudo, é gerar o conjunto de itens frequentes. Então, vamos pegar essas transações, o número e todos os itens presentes nessas transações, e gerar em cada um desses itens, todos os conjuntos possíveis. Existe toda uma complexidade nessas transações, na relação entre esses itens. Identificados todos os conjuntos possíveis, vamos fazer uma contagem, verificar qual é esse item mais frequente, esse conjunto mais frequente, assim por diante.

A partir do momento em que identificamos esse conjunto de itens frequentes, passamos para a geração das regras. Quer dizer que a compra desse conjunto pode levar a compra desse outro conjunto. Começar a criar essas regras, esse relacionamento entre os conjuntos presentes nas vendas.

Agora que já entendemos como funcionam as regras de associação, então primeiro geramos o conjunto de itens frequentes e depois as regras, vamos ver quais métricas podemos utilizar para entender o que é um conjunto frequente e o que é uma regra realmente confiável. Será que não é só coincidência?

A primeira métrica que apresento a você é o suporte. O suporte irá medir a fração das transações em que ocorrem um conjunto de itens. Ele vai pegar a frequência que aquele conjunto de itens aparece, a quantidade de vezes em que ele aparece, e dividir por toda a quantidade de transações. É como se fosse uma porcentagem da frequência que esse item ou conjunto de itens aparece em todas as nossas transações.

Aí, como de fato ele é considerando um conjunto frequente? Ele será considerado frequente se estiver acima de um limiar, de um valor mínimo estipulado pelo usuário ou usuária. Por exemplo, vamos estipular que o mínimo de um conjunto ser frequente é igual a três. Se ele aparecer três vezes, ele é um conjunto ou item frequente.

Aí você pergunta: qual a importância de se utilizar essa métrica? Primeiro, podemos verificar se as regras ocorrem por coincidência. Não é uma regra realmente confiável. Pode ser que a pessoa comprou aqueles itens por coincidência, não é realmente uma inferência que toda pessoa que comprar aquele item vai comprar o outro.

Então, temos que ficar atentos a isso. Outra questão importante em utilizar o suporte para medir essa frequência de itens, é eliminar regras de baixo interesse para o negócio. Então, talvez um item que não tem nada a ver com a padaria do Senhor Zé venda muito, mas não tem nada a ver com padaria, é só um item que vende ao acaso ali.

Por exemplo, é uma padaria. Às vezes ele vende bastante macarrão. Não é uma regra que tem muito interesse para o Senhor Zé. Aí, como podemos calcular? Entendemos o que é o suporte e o que ele mede, então como podemos de fato calcular? Vamos lá, vamos com calma que chegou na parte matemática.

Então tudo começa aqui. O suporte do conjunto ou de um item X será igual a quantidade de vezes que esse conjunto aparece em todas as transações dividido pelo número de transações. Ok, isso é para um conjunto específico. Temos agora um suporte para uma regra. E aí como mede?

O suporte da regra de X, dado um Y, ou seja, um conjunto de itens ou um item é comprado, pode ser que leve a comprar o conjunto Y ou item Y, vai ser igual a união desses dois conjuntos. Então, qual é a quantidade de vezes que os três itens, por exemplo, dois itens de X e um item de Y, aparecem juntos em todas as transações, essa quantidade de vezes, dividida pelo número de transações. Quantas transações temos?

Aprendemos a calcular e entendemos um pouco do suporte. Mas temos outra métrica muito importante de se entender, que é a confiança. Ela é utilizada para as nossas regras. Enquanto o suporte mede tanto a frequência dos itens quanto a frequência da regra, a confiança vai medir a frequência em que os itens de um conjunto Y aparecem em transações que contenham o conjunto X.

Então, ele vai medir a confiança dessa inferência. Então quer dizer que esse item em Y realmente vai aparecer em transações que tenham o conjunto X. Essa inferência está fazendo sentido, não é coincidência, como falamos anteriormente. Então, qual é a importância? Medir a confiabilidade de uma inferência feita por uma regra, ver se realmente está correta.

Aí, como podemos calcular a confiança? A confiança dessa regra X dado Y, o conjunto de item ou itens X é comprado sendo que pode ser que a pessoa compre também um conjunto de itens Y, vai ser igual à união dos dois conjuntos, então, novamente, quantas vezes os itens dos conjuntos X e Y aparecem juntos em todas as transações, dividido pela quantidade de vezes que o conjunto X aparece nas transações.

Então entendemos confiança e suporte. Vamos ver um exemplo? Perfeito, temos aqui. Vamos supor que temos cinco transações. Dentro dessas cinco transações, cinco vendas, temos que o conjunto {Café, Pão} tem uma alta frequência, é muito vendido. Então foi identificada essa regra. Café e pão, quer dizer que a pessoa que os compras, pode ser que também compre bolo.

Vamos verificar qual é o suporte à confiança dessa regra, o quanto ela realmente é válida. O suporte da regra de X dado Y vai ser igual à quantidade de vezes que os nossos dois conjuntos aparecem juntos em todas as transações, então, quantas vezes café, pão e bolo aparecem juntos nas vendas. Vamos supor aqui duas vezes. Aí nós dividimos pela quantidade de transações que temos, aqui são cinco transações.

Então, o suporte dessa regra é de 0.4, para 40% de todas as transações, essa regra é válida. Interessante. Vamos ver então como calcula a confiança dessa regra, dado conjunto X e dado conjunto Y. Temos aqui o café e o pão, sendo que pode ser que a pessoa compre o bolo também. Então, como vamos calcular a confiança?

Quantas vezes café, pão e bolo apareceram juntos em todas as vendas, vamos supor que duas, dividido pela quantidade de vezes em que café e pão apareceram juntos. Somente café e pão, que é o conjunto X. Vamos supor que três vezes. "2/3 = 0.67", então, a confiança dessa regra é de 67%. Muito interessante.

Agora, vamos para os pontos de atenção dessa regra, temos vantagens e desvantagens. Cuidado ao interpretar as associações. Como levantei para você, pode ser que aconteçam associações baseadas em pura coincidência, então devemos tomar cuidado, nos atender ao problema daquele negócio, nos atender às necessidades do negócio.

Outro ponto de atenção é que a regra de associação indica uma forte concorrência, sendo que um item foi comprado, pode ser que ocorra de o outro também ser comprado, entre os itens antecedente e consequente, e não uma causalidade. Não quer dizer causa e efeito. Devemos também tomar muito cuidado com essa informação.

Entendemos como funciona a regra de associação. Geramos os conjuntos de itens frequentes e depois geramos as regras. Vimos que pode ser que tenham alguns problemas, uma complexidade muito alta dentro da regra de associação. Será que não existem formas de otimizar, por exemplo, a geração de itens frequentes?

Sobre o curso Aprendizado não supervisionado: primeiras técnicas e métodos

O curso Aprendizado não supervisionado: primeiras técnicas e métodos possui 104 minutos de vídeos, em um total de 43 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Machine Learning acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas