no vídeo de hoje eu vou te mostrar como fazer uma análise super avançada integrando Python com Power bi nós vamos criar aqui um sistema de recomendação de produtos utilizando a linguagem Python É isso mesmo e aí depois eu vou pegar esse script Python e integrar dentro do powerquery lá no power bi para que você possa por exemplo identificar clientes que são similares entre si e com base nessa similaridade de clientes eu posso indicar produtos de forma mais assertiva para clientes que não compraram ainda um certo produto que os seus similares Já compraram top demais hein
muito parecido com o que o Netflix por exemplo faz para recomendar filmes ou então que Americanas qualquer e-commerce faz para recomendar produtos um sistema de recomendação bora aprender ó conteúdo de altíssimo valor hein então por isso lembre-se se inscreve aqui no canal ativa o Sininho e compartilha com a galera bora pro vídeo fala incomparável seja muito bem-vindo a mais um vídeo no canal eu sou L carpinski MVP Microsoft e especialista em análise de dados vamos lá deixa eu te explicar primeiro aqui o conceito de um sistema de recomendação imagine Netflix mais fácil aqui para poder
te explicar Então imagina que a gente tem aqui uma base de dados com os usuários e alguns filmes e as notas que eles deram para cada um dos filmes então Alice aqui os filmes que ela assistiu e as notas que ela deu para esses filmes aqui tá hoje no Netflix nós temos um sistema de você dizer que o filme é para você não é Ou né você gostou adorou ou não gostou algo assim né Mas vamos supor que você pudesse dar uma nota de um a cinco para cada um dos filmes Tá qual que é
a ideia a ideia aqui é que eu posso identificar filmes que são parecidos entre si assim como isso é muito poderoso ó usuários que são semelhantes entre si também tá Como é que eu faço essa análise vamos dar uma olhada aqui ó nessa mesma base porém Dea forma mais eh colunar aqui numa numa tabela dinâmica eu tenho aqui por exemplo né os filmes nas linhas e os usuários aqui nas colunas e aqui a nota que cada um deu se eu analisar aqui ó linha a linha e comparar as linhas eu consigo identificar filmes semelhantes entre
si por qu por exemplo aqui ó Forest Gump ele é semelhante digamos aqui ao iluminado porque as mesmas pessoas ó deram notas semelhantes Ou seja a Alice deu um aqui um lá cinco aqui cinco lá dois aqui um lá o Dave que não deu nenhuma nota aqui mas beleza e a Eva né deu nota semelhante também ou seja as mesmas as mesmas pessoas dando notas semelhantes para diferentes filmes quer dizer que os filmes são semelhantes certo eu também posso identificar agora se eu fizer aqui a matriz transposta eu posso identificar os usuários semelhantes entre si
aí é o seguinte ó é quando eu tenho os usuários nas linhas então por exemplo eu posso ver que vamos ver o Bob aqui ó ele é aparecido com a eva por quê porque o Bob né deu essas notas aqui ó cinco para Forest Gump cinco também pro Forest Gump a Eva o no Exorcista 5 e c 5 e qu aqui nenhuma nota e c aqui um lá um aqui do 2 2 1 nada lá um aqui ou seja que que eu posso fazer aqui para o Bob por exemplo sabendo que a Eva é semelhante
ao bob eu posso indicar pro Bob assistir O Poderoso Chefão porque a Eva gostou do Poder do Chefão e o Bob ainda não assistiu eu não indicaria por exemplo Toy Story pro bob porque a Eva não gostou Olha que legal agora como é que eu faço para calcular e obter essa similaridade entre por exemplo o Bob e a Carol qual que é esse percentual de similaridade como é que funciona isso vou mostrar aqui ó deixar de forma mais simplificada utilizando apenas dois filmes tá o Forest Gump e o exorcista onde o Bob deu 5 E5
e a Carol deu 2 e um então eu vou desenhar aqui e vou mostrar a matemática por trás desse cálculo Então vou desenhar aqui ó dois eixos né o eixo Y e o eixo X onde eu tenho aqui ó o filme 2 e aqui o filme 1 tá e eu tenho aqui ó nota 1 2 3 4 5 1 2 3 4 e 5 Vamos pegar lá novamente ó o nosso amigo Bob deu 5 e 5 né então pro filme 1 ele deu cinco tá aqui pro filme 2 C ou seja aqui ó aqui está
o ponto que representa o Bob tá aqui está o Bob e a nossa amiga Carol deu do e um então pro filme Um deu dois e aqui pro filme e dois deu um Então tá aqui o ponto dela aqui né está a Carol aí o que que eu vou fazer eu vou fazer uma reta começa no 0 zer no ponto zerer aqui e outra que começa lá ó que qu aliás começa aqui também só que vai até Opa ficou torto Deixa eu ver se eu consigo fazer bonitinho Deixa eu botar aqui em azul tá lá
tá E olha que legal né que que eu tenho aqui eu tenho dois vetores o vetor da Carol e o vetor do Bob e esse ângulo aqui ó esse ângulo tá Aliás o cosseno desse esse ângulo representa para mim a similaridade entre os dois usuários quando eu tenho por exemplo esse ângulo aqui ó né esse ângulo aqui de 90° qual que é o cosseno dele qual que é o cosseno Quem lembra aí cosseno de 90º é zero são nada semelhantes já quando eu tenho por exemplo algo assim ó um uma linha em cima da outra
né ou seja o ângulo Zero entre as duas cosseno de z0 é 1 ou seja são 100% semelhantes então se eu conseguir identificar né e calcular esse cosseno aqui ó desse ângulo eu obtenho essa similaridade entre os clientes então a similaridade nada mais é do que o cosseno desse ângulo que for dos vetores né que representam os usuários agora isso aqui eu estou olhando para dois filmes apenas se eu quisesse olhar para três filmes eu não iria ter mais uma reta eu iria ter um plano se eu fosse olhar para quatro filmes aí você não
consegue mais visualizar a olho nu não tem como a gente olhar mais do que quatro dimensões então para eu analisar aqui milhares de filmes é não tem como nós analisarmos nós conseguirmos enxergar esse vetor mas existe um vetor né para cada um dos usuários e o cosseno do essa esse ângulo né entre um usuário e outro ou seja o cosseno dele ainda me representa a similaridade independente de quantas dimensões que eu tenha tá então para dois filmes dois usuários a gente consegue até fazer aqui na mão calcular isso na mão agora para milhares de filmes
e milhões de usuários é impossível meu amigo aí somente com matemática aí que entra o poder né da linguagem computacional aí que entra o poder do aprendizado de máquina e a para isso nós vamos utilizar agora a linguagem Python Então olha só eu vou mostrar aqui para você ó primeiro tá dei um spoiler aqui mas não ignora vai no Google digita Google colab entra aqui Google colab tá você vai poder criar um novo notebook que é simplesmente um espaço ali um é como se fosse uma uma folha em branco né para você começar a digitar
seu código da linguagem Python e o Google é muito legal porque se você já tem conta no Google ele fica gratuito para você brincar no Google tá bom E aí vai cair nisso aqui ó tá vai cair nisso aqui começ a programar ou Ger um código com ya Então vamos supor que eu queira ler o arquivo Excel e eu testei isso aqui ficou bem legal tá tá cliquei lá ó e Import Excel vamos ver ele já me gera ó as funções né O que que eu tenho que importar a biblioteca pandas né aqui para poder
fazer essa leitura do Excel e tudo mais então você pode brincar assim com o próprio Google colaba Inteligência Artificial dele ou utilizar né o chat GPT ou CL melhor ainda é você estar na nossa formação e análise de dados e fazer o curso de Python que temos na formação muito melhor n você aprende Realmente de verdade bom eu não vou fazer aqui linha a linha vou só mostrar o que que eu fiz tá olha que legal né aqui ó dentro desse nosso rexis ou seja recommendation System eu botei aqui como arquivo aquele filmes xlsx que
é o arquivo né do Excel E aí eu fiz toda parte de ulação ó primeiro eu o arquivo de Excel aí toda toda a função né Essa função head é pr você mostrar as cinco primeiras linhas tá DF no caso aqui é o dataframe então eu coloquei dentro de um dataframe esses dados do filmes certo estão aqui ó então usuário filme e o rating que é nota na sequência o que eu fiz ó eu criei eu pivote aquela tabela para que ela ficasse exatamente no formato de uma tabela dinâmica Pivot table Pivot table tabela dinâmica
tabela dinâmica onde o index ou seja as linhas é usuário então com isso estou dizendo que eu vou buscar usuários semelhantes entre si as colunas o filme e os valores aqui é o rating onde não tinha nada ó ele botou zero fio velho zero pô lé queria verificar aqui ao invés de analisar eh usuários semelhantes eu queria eh identificar filmes semelhantes entre si bom só inverter aqui ó filme user aí você vai fazer ó o inverso E aí você vai estar analisando daí filmes semelhantes entre si Tá mas eu não quero eu quero como tava
cont control Z tá lá na sequência eu importei aqui ó a função de similaridade de cosseno que faz parte da biblioteca p kit learn mas especificamente desse módulo aqui ó pairwise também dentro da nossa formação no curso de introdução a machine learning a gente fala mais sobre esse pacote né do py kit learning essa biblioteca py kit learning que que ela faz aqui né eu eu coloquei lá essa Matriz de utilidade que foi essa esse resultado do de cima dentro dessa função né e ele me obteve já essa Matriz similaridade que para eu poder visualizar
poder manipular eu joguei dentro de um Data Frame então eu criei um Data Frame passando essa Matriz similaridade tá utilizando aqui o índex dela como índex E também como coluna ou Ou seja quando eu dou um control enter aqui ó vou rodar novamente e deu problema por quê Porque eu não rodei o de cima rodo de cima primeiro para importar né tem que sempre fazer em ordem sequencial rodeio de cima rodeio de baixo ele vai mostrar ó olha que massa aqui já está a nossa Matriz de similaridade tá Matriz de similaridade digamos numa maneira que
eu posso mostrar que é um dataframe né então Data Frame mostrando a matriz de similaridade onde eu tenho lá ó por exemplo que o o Bob e a Eva Bob e Eva tem 85% de similaridade Olha que legal então eu sei que eles são muito próximos né 85% de similaridade é muito muito próximo já Bob Alice 38% tá E essa aqui é uma matriz simétrica né onde a parte de superior é igual a parte inferior então eu posso ler Carol com a Alice por aqui ou a Carol com Alice por aqui ó é o mesmo
valor ó né eu poderia só mostrar a parte de baixo que foi o que eu vou fazer aqui e vou mostrar para você dentro do Power bi olha só essa mesma Matriz ó eu pude mostrar aqui e pde criar né da seguinte maneira aqui ó olha lá bonitinha para chegar nisso aqui dentro do Power bi o que eu fiz peguei esse código aqui todo né tive que adicionar umas duas linhas a mais ali só Para incorporar os usuários aqui como coluna também E aí né olha que legal dentro do Power query Eu tenho um script
Python rodando então a mesma base de dados tá aqui na sequência ó eu rodo o script Python é o mesmo código né o mesmo código única diferença como eu falei para você tive que adicionar duas linhas a mais aqui para colocar de volta a coluna de usuário porque isso que está aqui ó não é uma coluna é só um índex tá bom feito isso que que ele me traz de de resultado esse esse script Python né que eu trouxe né que eu importei através aqui ó desse botão transformar executar script Python né ele me dá
ó essa Matriz de utilidade que é aqui de Pivot table tá lá o Pivot table tá vendo que não tem aqui o usuário tá é por isso aqui na sequência a matriz de similaridade que tá aqui o usuário nas linhas usuário lá o mesmo resultado que eu tenho lá no power eh no Google colab eu tenho também tá bom feito isso o que eu posso fazer para manipular e conseguir fazer algum tipo de cálculo dentro do Power Bi eu botei como percentual e fiz o unpivot unpivot para que eu tenha daí o usuário aqui o
seu similar e o percentual então Alice com Alice ela é 100% igual graças a Deus né Ela é a mesma pessoa ela é igual ela é 100% igual a Alice com a a Carol ó 98% de similaridade então tudo que a se assistir eu vou recomendar pra Carol e vice-versa muito massa hein Muito massa Léo como é que eu posso aplicar isso no meu negócio isso aqui é só para grande empresa Netflix Americanas e enfim não é para qualquer tipo de empresa eu peguei essa mesma ideia e ao invés de falar de usuário eu transformei
o usuário em cliente fiz analogia a invés de falar de filme eu falei de produto Ou seja eu posso recomendar produtos para clientes eu posso encontrar produtos semelhantes entre si assim como clientes semelhantes entre si uma vez que um cliente semelhante comprou um produto e o outro não eu vou recomendar o produto então foi o que resultou né Foi o que eu criei neste nosso dashboard aqui que eu já mostrei para você outras oportunidades mas Mais especificamente nessa página aqui ó de recomendação de produtos com em clientes similares Então olha a lógica A lógica é
o seguinte estou com cliente filtrado aqui baile Inc certo através desse script Python que rodou lá no power query eu consegui obter os clientes similares a ele então tem uma tabela aqui ó clientes similares que é o resultado do script Python simplesmente n fiz o One Pivot igual mostrei para você no filme então eu tenho aqui o cliente um ó em relação ao cliente 583 ele é 90% similar 8996 a única diferença que tem aqui em relação ao ao script anterior é que eu limitei em três similares no máximo eu peguei os top três similares
tá e para cada cliente Eu mantive apenas os top três similares para que eu não recomende e enfim né muitos eh para que eu não utilize muitos clientes nessa recomendação Então vou utilizar apenas os três maiores mais similares né Beleza então quando eu tiver lá com cliente um selecionado eu vou dizer que esse cliente similar esse também é e esse também é e eu vou olhar daí quais são os produtos que esses carinhas compraram que o cliente um ainda não eu vou recomendar esses produtos claro que isso vai envolver né uma lógica muito legal aqui
também com linguagem dax eu utilizei o Python para fazer essa esse cálculo de similaridade porque não tem como fazer esse cálculo de similaridade aqui sem usar né um algoritmo a não sei que eu faça na mão som louco para fazer né desenvolver na mão aqui um algoritmo que tá pronto já em Python e no power não existe esse algoritmo de similaridade então eu rodei lá para encontrar o similaridade E aí eu consigo verificar que esses três clientes são os mais semelhantes a esse aqui esse é o percentual de similaridade e eu vou vou verificar o
seguinte Quais produtos que eles compraram que ele ainda não que o ba Ainda não e eu mostro aqui ó daí nessa nesse gráfico né que é um cluster map pô eles compraram já 39 itens dessa camisa nesse mês atual e o baile ainda não vou recomendar essa camisa aqui que eu vou fazer eu como vendedor eu vou chegar lá no Bale e falar pô meu amigo eu tenho aqui ó uma análise de que seus similares seus concorrentes eu vou falar né compraram já nesse mês tudo isso aqui e você ainda não você vai realmente ficar
para trás do mercado vai deixar os seus concorrentes na na frente então né basta você agora ch o pedido comigo legal né Muito massa Então tá aqui ó toda análise né que claro como eu falei né vai envolver aí bastante bastante cálculos né com linguagem dax avançado Ó tem bastante cálculo aí Bacana também que envolve muito teoria de conjuntos para eu olhar o que que um cliente comprou ou no caso os três clientes compraram e outros clientes não né e eu faço daí a exceção de um em relação ao outro temos conteúdos aqui ó vou
deixar aqui em cima inclusive ó conteúdos que envolvem essa análise de teoria de conjuntos tá vai lá Assiste porque é a base para você fazer essa análise aqui agora de recomendação Ah e um ponto importante Léo quero muito aprender aqui a fazer tudo isso aqui de forma detalhada então um presente aí para você que é nosso aluno da formação em análise de dados Se liga só aqui ó na trilha três na trilha três ó nós temos nosso projeto final que é esse mesmo Case que eu acabei de mostrar tá de recomendação de produtos e eu
Acabei de gravar várias aulas para fazer o passo a passo daquela página ali de recomendação tudo mas tudo mesmo então várias horas aí Extra de conteúdo para você que em breve em breve em breve tá provavelmente semana que vem já estará no ar para você que é nosso aluno da formação Então você vai ter aqui muito mais aulas do que isso porque eu peguei realmente toda aquela página e fiz passo a passo junto com você aqui do zero tá então fica aí a dica para você queer ainda não é nosso aluno participar da nossa Master
Live do dia 27 dia 27 de fevereiro vai ter uma Master Live onde vou falar sobre design de dashboards poder de storytelling E aí nós vamos ter uma condição especial para você poder entrar na nossa formação em análise de dados ou seja ter acesso ó a nossa plataforma experium e todos esses conteúdos aqui incríveis para você evoluir profissionalmente e se tornar um especialista em análise de dados E aí curtiu o conteúdo de hoje me diz aqui embaixo se você quer mais conteúdos envolvendo outra as ferramentas como por exemplo Python Power apps Power automate E por
aí vai te vejo dia 27 de fevereiro na nossa Master Live sobre o poder do story telling e do designer dashboards grande abraço e até [Música] lá