Escolar Documentos
Profissional Documentos
Cultura Documentos
Belo Horizonte
2021
Bruno Sousa Cavalcante Barroso
Belo Horizonte
2021
SUMÁRIO
1. Introdução .............................................................................................................. 4
1.1. Contextualização ................................................................................................ 4
1.2. O problema proposto ......................................................................................... 5
2. Coleta de Dados .................................................................................................... 6
3. Processamento/Tratamento de Dados ................................................................ 9
4. Análise e Exploração dos Dados ....................................................................... 18
5. Criação de Modelos de Machine Learning ........................................................ 28
6. Apresentação dos Resultados ........................................................................... 39
7. Links ..................................................................................................................... 42
REFERÊNCIAS ......................................................................................................... 43
4
1. Introdução
1.1. Contextualização
Durante o processo de aquisição de bens e serviços, clientes e fornecedores
firmam uma relação de consumo. Estas relações podem possuir números distintos
de interações entre as partes, podendo ser um simples ato de escolher o produto,
pagar no caixa e levar, até um conjunto de atos que envolvem conhecer o bem, tirar
dúvidas, pedir informações a respeito, agendar datas para reuniões com outras
partes envolvidas e estabelecer prazos para cumprimento de obrigações, até
finalmente efetivar-se a compra.
Independentemente do volume de interações dentro da relação de consumo,
existe um fator crucial para que um estabelecimento comercial consiga, nos dias de
hoje, manter a sua sobrevivência: a fidelização de clientes.
Estima-se que 65% dos negócios vêm de clientes fiéis, e não de novos.
Fidelizar é tornar nosso produto ou serviço tão irresistível que nosso cliente, quando
precisar de mais, irá imediatamente pensar em nós. (GONÇALVES, 2007)
Fidelizar é importante porque os clientes fiéis são mais propensos a pagar
mais pelos nossos produtos e serviços, tendem a comprar mais e também estão
mais inclinados a comprar outros itens e usufruir de outros serviços que a empresa
oferece. (GONÇALVES, 2007)
Todavia, não se trata de uma tarefa fácil. O consumidor está cada vez mais
exigente, ponderando variáveis como tempo de atendimento, qualidade do produto,
se este veio de acordo com o solicitado, atendimento do vendedor, preço, e até
mesmo a comparação com outro concorrente, na avaliação final do estabelecimento
como um todo. E com o advento do e-commerce, a sensibilidade das avaliações
ficou ainda mais acentuada, pois até o simples fato de uma página web não carregar
apenas em um determinado momento pode passar para o consumidor o sentimento
de péssima experiência.
Pandas;
OS;
Numpy;
Regex;
Datetime;
Seaborn;
MatPlotLib;
NLTK;
string;
sklearn;
6
wordcloud;
yellowbrick;
KaggleApi
2. Coleta de Dados
avaliação
order_id Identificador único do String
pedido
review_score Intervalo de notas de 1 a 5 Int
dado pelo consumidor no
momento da pesquisa de
satisfação
review_comment_title Título do comentário String
deixado pelo consumidor,
referente à avaliação
dada, em Português
review_comment_message Comentário do String
consumidor, referente à
avaliação dada, em
Português.
review_creation_date Data em que a pesquisa Date
de satisfação foi enviada
ao consumidor.
review_answer_timestamp Data da resposta à Date
pesquisa de satisfação.
3. Processamento/Tratamento de Dados
Inicialmente, utilizou-se o script abaixo, para criar um DataFrame para cada
um dos arquivos utilizados.
10
olist_orders_dataset.csv
Devido ao objetivo deste trabalho, que tem como intuito prever avaliações a serem
dadas pelos clientes baseado no comentário registrado, não foram localizadas
informações suficientes para o tratamento de missing values alusivos a este tipo de
análise, a não ser a mera exclusão dos registros onde a informação a ser analisada
esteja nula. Antes disso, porém, verificou-se, no dataset de avaliações, se havia
alguma avaliação com o campo de título preenchido e o campo da mensagem não
preenchido. Foram encontrados 1.729 registros, cujo valor do campo
14
Figura 13 – Comando para preencher, onde couber, os registros nulos de comentários, com o valor
do título da mensagem, se disponível
Figura 14 – Comando para remoção de duplicatas, caso existente, deixando o registro mais recente
Figura 16 – Comando para verificar se “customer_id” pertence apenas aos estados da federação
16
Por fim, foi feita a cópia do dataframe para um outro, para não se perder os
dados brutos, e os registros onde “review_comment_message” estavam nulos foram
apagados.
stopwordsnltk = nltk.corpus.stopwords.words('portuguese')
Figura 22 – Comando para criação de dataframe com tamanho das mensagens – nota 5
Figura 25 – Comando para criação de dataframe com tamanho das mensagens – nota 1
22
MultinomialNB
GaussianNB
LogisticRegression
BernoulliNB
Vetorização
Classificação BOW TFIDF
Acurácia Precisão Recall F1-Score Acurácia Precisão Recall F1-Score
MultinomialNB 47,75% 43,28% 43,94% 42,04% 47,55% 41,54% 40,33% 36,74%
GaussianNB 26,23% 29,66% 28,81% 20,01% 26,77% 29,95% 29,43% 20,99%
LogisticRegression 48,33% 43,60% 43,17% 45,54% 49,48% 45,64% 44,34% 43,33%
BernoulliNB 44,37% 40,34% 40,59% 39,38% 44,38% 40,34% 40,59% 39,37%
Figura 57– Cálculo da médias das classes minoritárias e aplicação do número para separação de
amostra de classes majoritárias
Percebe-se, pelo exposto, que houve uma queda abrupta na acurácia dos al-
goritmos, com exceção do GaussianNB. Em contrapartida, houve melhora nas taxas
de acurácia, precisão e f1-score, significando, portanto, que de fato havia necessi-
dade de praticar o balanceamento na base.
7. Links
REFERÊNCIAS
SINGH, Prasoon. Fundamentals of Bag Of Words and TF-IDF Disponível em: <
https://medium.com/analytics-vidhya/fundamentals-of-bag-of-words-and-tf-idf-
9846d301ff22>. Acesso em: 14/04/2021
TAMAIS, Ana Laura Morais. Modelos de Predição | Naive Bayes Disponível em: <
https://medium.com/turing-talks/turing-talks-16-modelo-de-predi%C3%A7%C3%A3o-
naive-bayes-6a3e744e7986>. Acesso em: 19/04/2021