Você está na página 1de 37

MINERAÇÃO

DE DADOS

AUTORIA
ANA LUIZA CERCHIARI
DE ANDRADE

Mineração de dados - Unidade1.indd 1 08/07/19 16:35


Presidente do Conselho de Administração Janguiê Diniz
Diretor-presidente Jânyo Diniz
Diretoria Executiva de Ensino Adriano Azevedo
Diretoria Executiva de Serviços Corporativos Joaldo Diniz
Diretoria de Ensino a Distância Enzo Moreira
Autoria Profa. Ana Luiza Cerchiari de Andrade
Projeto Gráfico e Capa DP Content

DADOS DO FORNECEDOR
Análise de Qualidade, Edição de Texto, Design Instrucional,
Edição de Arte, Diagramação, Design Gráfico e Revisão.

© Ser Educacional 2019


Rua Treze de Maio, nº 254, Santo Amaro
Recife-PE – CEP 50100-160
*Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência.
Informamos que é de inteira responsabilidade da autoria a emissão de conceitos.
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização.
A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal.
Imagens de ícones/capa: © Shutterstock

Mineração de dados - Unidade1.indd 2 08/07/19 16:35


Boxes

ASSISTA
Indicação de filmes, vídeos ou similares que trazem informações complementares ou
aprofundadas sobre o conteúdo estudado.

CITANDO
Dados essenciais e pertinentes sobre a vida de uma determinada pessoa relevante para
o estudo do conteúdo abordado.

CONTEXTUALIZANDO
Dados que retratam onde e quando aconteceu determinado fato; demonstra-se a situação
histórica do assunto.

CURIOSIDADE
Informação que revela algo desconhecido e interessante sobre o assunto tratado.

DICA
Um detalhe específico da informação, um breve conselho, um alerta, uma informação
privilegiada sobre o conteúdo trabalhado.

EXEMPLIFICANDO
Informação que retrata de forma objetiva determinado assunto.

EXPLICANDO
Explicação, elucidação sobre uma palavra ou expressão específica da área de
conhecimento trabalhada.

MINERAÇÃO DE DADOS 3

Mineração de dados - Unidade1.indd 3 08/07/19 16:35


Sumário

Unidade 1 - Introdução e aplicações de Mineração de Dados


Objetivos da unidade.............................................................................................................................12

Técnicas e tarefas de Mineração de Dados.....................................................................................13


Dados, informação e conhecimento..............................................................................................13
Filtros em Excel.................................................................................................................................14
Filtros em SQL....................................................................................................................................17

Exemplos de aplicações.......................................................................................................................22
Várias formas de aplicação............................................................................................................23
Data warehouse................................................................................................................................24
Exibindo dashboards no Excel........................................................................................................26

Processo de descoberta de conhecimento em bases de dados...................................................31


O que é KDD?.....................................................................................................................................32
Macroetapas do KDD.......................................................................................................................32

Sintetizando.............................................................................................................................................36
Referências bibliográficas...................................................................................................................37

MINERAÇÃO DE DADOS 4

Mineração de dados - Unidade1.indd 4 08/07/19 16:35


Sumário

Unidade 2 - Pré-processamento de dados e classificações


Objetivos da unidade.............................................................................................................................39

Pré-processamento de dados..............................................................................................................40
Limpeza de dados.............................................................................................................................43
Integração de dados........................................................................................................................45

Transformação de dados, redução e discretização.........................................................................47


Transformação .................................................................................................................................47
Redução..............................................................................................................................................50
Discretização.....................................................................................................................................52

Regras de associação: cálculo de suporte, de confiança e de Lift .............................................55


Cálculo de suporte ...........................................................................................................................56
Cálculo de confiança........................................................................................................................58
Cálculo de Lift....................................................................................................................................60

Tipos de regras de associação e algoritmos....................................................................................61


Algoritmo Apriori...............................................................................................................................61
Algoritmo Partition............................................................................................................................65

Sintetizando.............................................................................................................................................67
Referências bibliográficas...................................................................................................................68

MINERAÇÃO DE DADOS 5

Mineração de dados - Unidade1.indd 5 08/07/19 16:35


Sumário

Unidade 3 - Classificação, regressão e agrupamento


Objetivos da unidade.............................................................................................................................70

Classificações........................................................................................................................................71
Classificação por árvore de decisão.............................................................................................71
Classificação por regressão linear................................................................................................75
Classificação por regressão linear múltipla.................................................................................78

Clusterização e sumarização...............................................................................................................80
Clusterização pelo Weka.................................................................................................................81
Análises temporais e desvio-padrão.............................................................................................82

Outros métodos de classificação........................................................................................................84


Classificação bayesiana..................................................................................................................85
Classificação por vizinho mais próximo........................................................................................86
K-Means.............................................................................................................................................89

Sintetizando.............................................................................................................................................93
Referências bibliográficas...................................................................................................................94

MINERAÇÃO DE DADOS 6

Mineração de dados - Unidade1.indd 6 08/07/19 16:35


Sumário

Unidade 4 - Ferramentas práticas em Data Mining e Data Science


Objetivos da unidade.............................................................................................................................96

Utilização da linguagem Python na prática......................................................................................97


Variáveis, type, len e conceitos iniciais........................................................................................98
Tuplas, listas e sets.........................................................................................................................102
Conjuntos, dicionários e funções.................................................................................................104
Condicionais – if else e for............................................................................................................104

Datasets e NumPy................................................................................................................................105
Array e Slicing Array......................................................................................................................108
Importar textos, ler CSV e manipular datasets..........................................................................110

Utilizando a biblioteca Matplotlib em Python................................................................................117


Visualizar gráficos com plot..........................................................................................................117
Title, legend, show e grid...............................................................................................................119
Markers............................................................................................................................................120
Font size, color.................................................................................................................................121

Utilizando a biblioteca Pandas em Python......................................................................................122


Índices, séries e quadros de dados.............................................................................................122
Datasets com Python, CSV e Excel..............................................................................................124
Manipulação de dados, agrupamento, junção e pivots...........................................................125
Visualizações de gráficos..............................................................................................................127

Sintetizando...........................................................................................................................................130
Referências bibliográficas.................................................................................................................131

MINERAÇÃO DE DADOS 7

Mineração de dados - Unidade1.indd 7 08/07/19 16:35


MINERAÇÃO DE DADOS 8

Mineração de dados - Unidade1.indd 8 08/07/19 16:35


Apresentação

Este material foi criado para dirigir a Mineração de Dados e utilizará diversas ferramentas. A
ferramenta SQL vai ser usada para criar e filtrar tabelas através dos comandos create e select,
e posteriormente será mostrado como exportar seleções para Excel.
O programa Excel, com sua riqueza, possui filtros, gráficos, tabelas dinâmicas e extensões
add-in, as quais serão utilizadas para selecionar dados. Em pré-processamento de dados, será
mostrado como fazer limpeza de dados ruidosos, ausentes e outliers, além disso, será mostra-
do como reduzir dados a intervalos e substituir dados faltantes.
Conceitos de cálculo de suporte, que é a repetição de dados ou conjuntos em tabelas, serão
mostrados e explicados de forma teórica e prática através do Weka. Conceitos de cálculo de
confiança serão explicados para mostrar a relação de compras combinadas (se o cliente leva
um produto, ela leva outro?). E, para analisar a veracidade dos cálculos de suporte e confiança,
será mostrado como fazer o cálculo de Lift.
O algoritmo a priori será apresentado e, no final, será mostrado como fazer em Python.
Conceitos de classificação com vizinhos mais próximos (KNN), com árvore de decisão e com
classificadores bayesianos, serão explicados tanto na teoria quanto na prática. Além de classi-
ficação, o conceito de clusterização será visto de maneira aplicada.
Com o objetivo de passar programação voltada à mineração, será explicado como mexer
em Python e nas suas bibliotecas Matplotlib, Pandas e NumPy, mostrando como fazer filtros,
misturas (mergê), visualizações (plot), importações de arquivos (com extensões .csv, .xlsx,
.data e .txt) e algumas classificações.

MINERAÇÃO DE DADOS 9

Mineração de dados - Unidade1.indd 9 08/07/19 16:35


A autora

A Professora Ana Luiza Cerchiari de Andrade


é mestre em Estudos Analíticos de Dados em
Engenharia e Tecnologia de Energia pela Univer-
sidad Europea del Atlántico – Espanha (2017).
Possui especialização em Análise Estatística
para Auditorias de Ambientes e Sistemas pela
Universidade Estácio de Sá (2016), formação
específica em Redes pela Impacta (2018) e em
Cisco pelo Senac (2018). Possui formação conti-
nuada em Sql, PHP, jQuery, DataScience, Html5
e CSS3 pela 4Linux (2017). Tem graduação em
TI pela Universidade Anhembi Morumbi (2006).
Ministrou aulas em Planejamento Estratégico
(2011) e aulas de Tecnologia da Informação e
Gestão (2013). Foi professora de linguagens de
programação para aplicativos e sites, de redes
e de administração (2013) e trabalhou com de-
senvolvimento de sites e sistemas tanto em em-
presas como para empresas (2011-2018).

Currículo Lattes:
http://buscatextual.cnpq.br/buscatextual/vi-
sualizacv.do?id=K4321448H1

Este trabalho é dedicado aos programadores em SQL, aos estudantes de Excel


avançado e às pessoas que trabalham com dados diariamente, através de
recursos lógicos e visuais. É dedicado, também, para pessoas que trabalham
com decisões e estatística e, por fim, para pessoas que pretendem mudar o
rumo de uma empresa no sentido positivo.

MINERAÇÃO DE DADOS 10

Mineração de dados - Unidade1.indd 10 08/07/19 16:35


UNIDADE

1 INTRODUÇÃO E
APLICAÇÕES DE
MINERAÇÃO DE
DADOS

Mineração de dados - Unidade1.indd 11 08/07/19 16:36


Objetivos da unidade

Compreender funcionamentos de SQL;

Compreender filtros e gráficos em Excel;

Introdução à mineração com teorias introdutórias;

Conhecer conceitos de data warehouse.

Tópicos de estudo
Técnicas e tarefas de Mineração de
Dados
Dados, informação e conhecimento
Filtros em Excel
Filtros em SQL

Exemplos de aplicações
Várias formas de aplicação
Data warehouse
Exibindo dashboards no Excel

Processo de descoberta de conheci-


mento em bases de dados
O que é KDD?
Macroetapas do KDD

MINERAÇÃO DE DADOS 12

Mineração de dados - Unidade1.indd 12 08/07/19 16:36


Técnicas e tarefas de Mineração de Dados
A quantidade de dados que são registrados é gigante. A todo instante ocorrem registros
em autoatendimento, aplicações de mapas, celulares, sensores, redes sociais, ligações e
conversas digitais que deixam informações em todos os lugares. A programação auxilia,
como será visto, na captação de dados, criação de filtros e automatização de respostas.

Dados, informação e conhecimento


Existe uma diferença elementar entre dados, informação e conhecimento. Dados são infor-
mações recolhidas e não analisadas, como exemplo tem-se os valores das compras de natal.
Costumam ser coletados por aplicativos, notas fiscais, registros e são demonstrações de fatos
desprovidos de análise. De acordo com Castro (2011, p. 15), “Na estatística, dado é referenciado
como toda informação recolhida de maneira sistemática [...] na Informática, designam-se da-
dos como elementos de partida que servem de base para tratamento”. Informação são dados
analisados, como os descontos habituais no mês de dezembro e o crescimento. Conhecimen-
to é o estudo e a reflexão em cima do que se sabe, por exemplo, o retorno de campanhas de
marketing impresso.

Se a capacidade mensal de endividamento > 60%


Então, crédito = sim
Conhecimento

Capacidade de endividamento mensal =


(Renda mensal - Despesas mensais)/Renda mensal
Renda mensal, despesa mensal
Informação

2.345,20; 463,00; 10.048,21; 284,12

Dado

Figura 1. Diferenças entre dados, informação e conhecimento. Fonte: GOLDSHIMDIT et al., 2015, p. 2.

Na base da pirâmide representada na Figura 1, existem alguns dados que podem ser salá-
rios e gastos, por exemplo. A informação, nesse caso, descobre o percentual de capacidade de
endividamento e o conhecimento decide se destina crédito ou não.

MINERAÇÃO DE DADOS 13

Mineração de dados - Unidade1.indd 13 08/07/19 16:36


Filtros em Excel
Suponha que uma empresa alimenta todos os dias um banco de dados no programa Excel.
Para exemplificar, um dataset foi baixado do site Portal Brasileiro De Dados Abertos. A Fig. 2
mostra o dataset baixado em formato .xlsx e aberto no Excel.

Figura 2. Dados sobre pagamentos relacionados a lei orçamentária em Excel. Fonte: SOUZA, 2019.

Esse conjunto de dados possui mais itens abaixo e, como se pode notar, possui pagamentos
até novembro e até dezembro de 2019. Assim como o governo, as empresas podem fazer tabelas
com dados registrando operações cotidianas. A Fig. 3 mostra o passo a passo para fazer filtros.
No exemplo a seguir, as colunas dos meses de setembro e outubro foram removidas.

A tabela foi
selecionada.

MINERAÇÃO DE DADOS 14

Mineração de dados - Unidade1.indd 14 08/07/19 16:36


Para fazer o filtro, basta clicar em dados,
filtro e escolher o tipo de filtro.

Pode-se filtrar textos, conforme exemplo.


Quando existem datas, pode-se filtrar
por período, antes de, depois de, e etc.

Figura 3. Filtros em Excel.

Cabe citar que os filtros se acumulam conforme o usuário os criam. A Fig. 4 mostra um ban-
co de dados de compras.

Figura 4. Registro de compras de uma loja.

MINERAÇÃO DE DADOS 15

Mineração de dados - Unidade1.indd 15 08/07/19 16:37


A Fig. 5 mostra a tabela com filtro por compra e por data. Pode-se a qualquer momento lim-
par tanto o filtro de cada coluna quanto o filtro geral. Nota-se que restaram apenas três linhas
com data maior que 12/10/2019 e valor acima de R$ 30,00.

Figura 5. Filtros duplos em dados.

MINERAÇÃO DE DADOS 16

Mineração de dados - Unidade1.indd 16 08/07/19 16:38


Obviamente, existem diversas formas de fazer filtros em Excel e até formas de programar
filtros em macros e VBA (linguagem de programação em Excel). Todavia, o objetivo aqui foi tra-
zer o conceito de mineração mais próximo da realidade. E, no presente trabalho, será passado
também diversas formas de fazer filtros com SQL e Python.

Filtros em SQL
Dados são armazenados, na grande maioria das vezes, em databases (bases ou bancos
de dados) em SQL. Neste momento, será passado uma introdução sobre SQL, para poste-
riormente nos aprofundarmos. Neste exemplo, será usada a linguagem MySQL e o progra-
ma Workbench MySQL.

ASSISTA
Para ver o procedimento de instalação de MySQL e Xampp, assista ao vídeo Como
instalar MySQL e Xampp, contido nas referências bibliográficas. Aumente a resolução
(qualidade) do vídeo no botão de configurações do player do YouTube, no canto inferior
direito, se necessário.

Após instalar o Workbench, deve-se abrir e ativar o Xampp (ativar MySQL e Apache) e então
deve-se abrir o Workbench, conforme Fig. 6.

MINERAÇÃO DE DADOS 17

Mineração de dados - Unidade1.indd 17 08/07/19 16:38


Figura 6. Abertura de Xampp e Workbench MySQL.

Tendo aberto o Workbench, deve-se criar uma conexão; a Fig. 7 mostra uma conexão cha-
mada “produtos”.

Figura 7. Criando uma conexão.

Após abrir o Workbench, alguns comandos serão digitados e a função de cada um encontra-
-se na Tabela 1. A demonstração de como fazer está na Fig. 8.

MINERAÇÃO DE DADOS 18

Mineração de dados - Unidade1.indd 18 08/07/19 16:39


ASSISTA
Para ver o procedimento de criação e seleção de tabelas, assista ao vídeo Primeiros
Passos com MySQL, contido nas referências bibliográficas. Aumente a resolução
(qualidade) do vídeo no botão de configurações do player do YouTube, no canto inferior
direito, se necessário.

TABELA 1. COMANDOS E UTILIDADES MYSQL

Comandos Utilidades

Cria o banco de dados para a em-


create database empresax;
presa.

use database empresax; Ativa o banco de dados para uso.

create table vendas_computadores Cria a tabela vendas_computadores


(codigo int, nome varchar(50), preco float (6,2), data_da_vendas com código, nome, preço e data da
date); venda.

insert into vendas_computadores values


Insere na tabela vendas_computa-
(1, ‘Positivo All in One Processador I3 ‘, 2000.00 , ‘2019-02-10’),
dores três computadores e seus
(2, ‘Samsung All in One Processador I5’, 3500.00 , ‘2019-02-12’),
dados.
(3, ‘Ultrabook LG I5’, 3800.00 , ‘2019-02-13’);

Seleciona e exibe todos (*) os dados


select * from vendas_computadores.
vendas_computadores
da tabela vendas_computadores.

Após copiar cada linha, deve-se selecionar a linha e apertar ctrl + enter; caso dê certo e não
tenha erros de escrita, aparecerá um aviso na cor verde, em baixo do programa, conforme Fig. 8.

Digitar cada código, selecionar a linha


do código e apertar ctrl + enter.

Resultado da função select * from


vendas_computadores.

Comandos verdes indicando que os


itens foram escritos corretamente.

Figura 8. Criando tabelas no MYSQL e inserindo dados.

MINERAÇÃO DE DADOS 19

Mineração de dados - Unidade1.indd 19 08/07/19 16:40


Como já foi dito, na Tabela 1, o comando select * from vendas_computadores, seleciona
todos os dados da tabela; existem, porém, alguns filtros na seleção.
A Fig. 9 mostra como selecionar apenas nomes.

Figura 9. Selecionar apenas nome.

A Fig. 10 mostra como selecionar nome e preço.

Figura 10. Selecionar apenas nome e preço.

A Fig. 11 mostra como selecionar todos os dados em que o preço é maior que R$ 2.100,00.

MINERAÇÃO DE DADOS 20

Mineração de dados - Unidade1.indd 20 08/07/19 16:40


Figura 11. Selecionar todos os dados onde o preço é maior que R$ 2.100,00.

Uma empresa pode ter um banco de dados com várias tabelas, por exemplo: tabela de pro-
dutos, tabela de funcionários, tabela de vendas, tabelas de compras e etc. Pode ainda ter dois ou
mais bancos de dados e várias tabelas dentro de cada banco, por exemplo: um banco de dados
da unidade da zona sul, um banco da zona norte e etc., e cada banco pode ter várias tabelas.
Conforme o vídeo Primeiros Passos com MySQL e a Fig. 8, existem vários tipos de dados, int,
varchar, date e etc. O CPF, por exemplo, se encaixaria em BIGINT. Observe os datatypes (“tipos
de dados”) na Tabela 2.

TABELA 2. ALGUNS TIPOS DE DADOS DE MYSQL

DATA TYPE DESCRIÇÃO

DATE Datas em formato AAAA-MM-DD.

TIME Dias em formato hh:mm:ss.

DATETIME Data e hora AAAA-MM-DD; hh:mm:ss.

YEAR Anos.

TEXTOS - Número exato de casas (caso o texto tenha menos, usa-se o mesmo espaço,
CHAR
desperdiçando espaço e deixando a tabela mais lenta caso tenha muitos dados).

TEXTOS - Número variável de casas (usa só a quantidade de espaço utilizada pelo


VARCHAR
dado (caso tenha menos letras o espaço é removido, sendo mais performático).

LONGTEXT TEXTOS - Textos muito grandes.

TINYINT NÚMEROS - varia entre -128 até 127.

SMALLINT NÚMEROS - varia entre -32.768 até 32.767.

MEDIUMINT NÚMEROS - varia entre -8.388.608 até 8.388.607.

INT NÚMEROS - variam entre -2.147.483.648 até 2.147.483.647.

MINERAÇÃO DE DADOS 21

Mineração de dados - Unidade1.indd 21 08/07/19 16:41


DATA TYPE DESCRIÇÃO

BIGINT NÚMEROS - variam entre -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807.

ENUM DÍGITO - Utilizado para colocar uma opção ou outra, por exemplo, sexo F ou M.

A fim de dar uma explicação prática, observe o exemplo contido na Fig. 12, com os tipos enum.

Figura 12. Exemplo de criação de enum.

Exemplos de aplicações
Existem cargos para Mineração de Dados em empresas de diversos ramos e empresas vol-
tadas apenas para Mineração de Dados, as quais trabalham para outras empresas, no busi-
ness-to-business. Consultorias em data mining, por exemplo, são especialistas em análises pre-
ditivas para auxiliar empresas a decidir quais produtos devem desenvolver, como melhorar a
satisfação do cliente e/ou atrair clientes mais fortes.
Empresas de seguros conseguem determinar melhores valores de apólice e identificar frau-
des, bem como desburocratizar processos de avaliação de veracidade de sinistros.
Empresas de saúde podem melhorar processos de análises diagnósticas de saúde, podem
criar análises em regras de associação em genética, gerar bancos de dados com informações
químicas, físicas e biológicas para futuras pesquisas tanto para o hospital quanto para o para
um conjunto de hospitais e podem ainda estudar comportamentos de desenvolvimento de
doenças, relacionadas com acomodação de pacientes, entre outras aplicações.
Na esfera da educação, existe a EDM (Educacional Data Mining), a qual avalia diversos fa-
tores relacionados a níveis de performance e aprendizado. Existe, por exemplo, uma técnica
que reúne dados de computadores escolares de várias escolas, para através da união desses
computadores, avaliar de forma centralizada, padrões, modos e tempos de utilização em pro-

MINERAÇÃO DE DADOS 22

Mineração de dados - Unidade1.indd 22 08/07/19 16:41


gramas e sites, também podem avaliar temas por idade, ano e curso, locais de acesso e dificul-
dades encontradas em cada aplicação.
Na área de aprendizado de máquina, pode-se criar automatizações após realizar estudos
avançados de mineração (clientes com esse perfil e esse padrão de comportamento recebem
tal recomendação, por exemplo) e, por outro lado, criar algoritmos responsáveis por minerar,
tanto em dados gerais, quanto em text mining, web mining, Mineração de Dados sociais e mine-
ração de mídias.

Várias formas de aplicação


Outro tipo a ser citado é a mineração de
padrões de relações, avaliando as influências
de um conjunto de dados sobre o próprio con-
junto de dados, por exemplo, quanto maior a
fila, maior a procura, e quais dados influenciam
mais nesse quesito de funcionamento interno,
de círculo vicioso ou círculo virtuoso.
Pode-se fazer minerações para avaliar pa-
drões de sequências, descobrindo quais se-
quências geram mais sucesso nas vendas, em
desempenhos empresariais, em aprendizados
de alunos e etc. Por exemplo, uma sequência
de ligação, envio de e-mail e depois mensagem
instantânea gera mais efeito do que ligação,
mensagem instantânea e e-mail. Ou então,
por exemplo, na EDM, gera mais efeito explica-
ção, atividade e revisão do que atividade, expli-
cação e revisão.
Pode-se fazer mineração de influência
de causa e efeito ou correlações (regressão
linear), descobrir quais causas geram deter-
minados resultados com mais frequência, por
exemplo, quais estímulos propiciam mais ven-
das, quais palavras deixam os clientes mais ini-
bidos, quais propagandas geram mais procura.

MINERAÇÃO DE DADOS 23

Mineração de dados - Unidade1.indd 23 08/07/19 16:41


Data warehouse
Data warehouse (DW) significa depósito de grandes volumes de dados, organizados e dese-
nhados de forma a facilitar tomada de decisões. Em DW, o desenho das bases de dados ajuda
a fazer filtros e a organizar informações. Os data warehouses são centros com muitos dados da
empresa inteira, por exemplo, data marts são dados armazenados para um processo apenas
ou para um assunto. Pode-se dizer que um data warehouse é composto por vários data marts.
Os objetivos do DW são:
• Ver os dados que estão omissos;
• Ter acesso aos dados;
• Pedir ao sistema que mostre apenas o que é importante;
• Acesso rápido a dados para tomadas de decisões estratégicas cotidianas.
Kymball (2012) criou um diagrama para exemplificar a estrutura do DW.

Área de
apresentação de dados

Recursos do
sistema operacional
Data mart #1
Área de Ferramentas de
Dimencional
preparação de dados Dados atomicos e resumo
acesso a dados
Extração com base em um único
Carga processo de negócios Acesso

Serviços: Ferramentas de consulta


limpeza, combinação
e padronização Escrita de relatórios

Banco de dados: Barramento DW: Aplicativos análiticos


Extração fatos e dimensões
arquivos e tabelas racionais
Modelagem:
Processamento: previsão
ordenação e processamento pontuação
sequencial Mineração de Dados

Carga Data mart #2 Acesso


Extração Designação de
similaridades em dados

Figura 13. Arquitetura DW. Fonte: KIMBALL et al., 2002, p. 19

A primeira camada, chamada Recursos de Sistema Operacional (Operacional Source Systems),


é o local de onde os dados são extraídos; geralmente, são planilhas de Excel, softwares ERP, ban-
cos de dados e tabelas em SQL ou em Access, considerada a parte externa da estrutura.
A segunda camada, chamada Data Staging Area, é o local responsável pelo tratamento e proces-
samento dos dados (ETL), onde existem limpezas de dados, mesclas e agrupamentos de dados e
normalizações de dados (esforço para exibir os dados de forma padronizada), tornando-os coeren-
tes. Nesta área, os usuários não podem ter acesso e pode-se usar programas de SQL.

MINERAÇÃO DE DADOS 24

Mineração de dados - Unidade1.indd 24 08/07/19 16:41


A terceira camada, chamada Data Presentation Area, é o local onde os dados são postos
de maneira a facilitar a leitura e a visualização dos dados, em forma de data marts, isto é,
orientados a processos de negócios. Nesta camada, pode-se usar o programa Azure SQL
Services.
A quarta camada contém ferramentas de filtros e de visualização, bem como dashboards,
gráficos e demais recursos, voltadas para visualizar com intencionalidade a área de apre-
sentação (Data Presentation Area). Nesta área, existem pontuações, previsões, ferramen-
tas de consultas e pode-se usar o programa Excel e seus dashboards e Power BI (Fig. 14).
A Fig. 15 também exemplifica a estrutura DW.

Figura 14. Data Presentation Area com programa Power BI.

EXPLICANDO
ERP são sistemas integrados empresariais, em que empresas administram faturamen-
tos, finanças, compras, estoques e etc. Essas partes se comunicam, ou seja, faturamen-
to se comunica com estoques, estoques se comunicam com compras etc.
Extract Transform Load é um processo em que os dados são transformados e passam do
sistema de origem para o data warehouse.

MINERAÇÃO DE DADOS 25

Mineração de dados - Unidade1.indd 25 08/07/19 16:41


Operações do fundo do sistema Operações da frente do sistema

Extração Limpeza Apresentação Consulta de Relatórios


de serviços acesso direto padronizados

ETL ETL sistemas Negócio de nível atômico Dashboards BI Análises de


Padronização sistemas e e serviços e scorecards aplicações
e serviços
serviços Modelos dimensionais de
processo via
Enterprise Bus Matrix
Mineração de BI
Normalização Carregamento Agregamento para medir e Dados e operacional Portal de BI
mostrar desempenho modelos

Camada em tempo real

ETL ETL BI BI
gerenciamento banco de serviços de banco de
de serviços dados gerenciamento dados

METADATA

Figura 15. Arquitetura DW. Fonte: KIMBALL et al., 2002, p. 529.

Exibindo dashboards no Excel


Um exemplo de Data Presentation Area (“demonstração de dados”) é a criação de um
dashboard no Excel.
A Fig. 16 contém uma tabela com vendas de produtos em três meses. A fórmula da média
em Excel está escrita na coluna “Média” e ao lado encontra-se a fórmula da “Situação”. Sendo a
média maior do que 7, o produto está ideal; sendo menor, a venda está fraca. A fórmula “=MÉ-
DIA(B2:D2)” faz a média de B2, C2 e D2, e assim sucessivamente nas outras linhas. A função SE
coloca o resultado “Ideal” para médias maiores que 7, e “Fraco” para menores. A fórmula deve se
repetir em todos os dados. Números quebrados representam vendas com trocas ou devoluções.

Figura 16. Base de dados para dashboard.

MINERAÇÃO DE DADOS 26

Mineração de dados - Unidade1.indd 26 08/07/19 16:42


Agora, uma outra tabela foi criada com a função PROCV (procura na vertical), que irá procurar
o produto escolhido na célula i2. Ou seja, ela buscará o produto digitado na célula i13, com o
fundo laranja, e dará o valor das vendas de janeiro, fevereiro e etc.
A seguir, na Fig. 17, a função procv irá procurar o valor da célula em laranja (B13), na matriz
inteira (A1 até F10), a coluna “Vendas Jan(2)”, a coluna “Vendas Fev(3)”, a coluna “Vendas Mar(4)”, a
coluna “Média(5)”, a coluna “Situação(6)”; e o valor zero (0) significa correspondência exata.

Figura 17. Procv e transpor valores.

Figura 18. Resultado de procv.

MINERAÇÃO DE DADOS 27

Mineração de dados - Unidade1.indd 27 08/07/19 16:42


Agora, será criada uma matriz com a função SE, na qual, caso o produto seja maior que
7(B14>=7), aparece o próprio valor(B14); caso não seja, aparece zero(0). A finalidade é criar um
gráfico dashboard no Excel, por isso, está sendo feito tal procedimento mais complexo. Observe
na Fig. 17 que os operadores maior (>) e menor (<) fazem a comparação na tabela nova, e as
linhas vão descendo (B14, B15, B16). Isto pode ser lido da seguinte forma: caso as vendas sejam
maiores que 7, então deve-se colocar o valor das vendas; caso contrário, coloque zero. E na co-
luna da direita, caso as vendas sejam menores que 7, então deve-se colocar o valor das venda;
caso contrário, coloque zero.

Figura 19. Criando uma matriz para valores maiores ou menores que a média com a função SE.

MINERAÇÃO DE DADOS 28

Mineração de dados - Unidade1.indd 28 08/07/19 16:42


Agora, na Fig. 20, duas médias serão demonstradas; a média do produto com referência à
célula C17 sempre é a média geral dos produtos, a fórmula =média(B12:D10) fará a média geral
de janeiro (B), fevereiro (C) e março (D).

Figura 20. Média do produto e dos produtos.

Uma vez feito isso, só é necessário criar o gráfico e configurar os traços de média para cortar
o gráfico. Ao mudar a célula B13 de blusas para outro produto, automaticamente muda o gráfico
inteiro de forma dinâmica.

MINERAÇÃO DE DADOS 29

Mineração de dados - Unidade1.indd 29 08/07/19 16:42


2. Inserir gráfico de
coluna empilhada.

1. Selecionar.

3. Clicar com o botão direito no item referente à média.

MINERAÇÃO DE DADOS 30

Mineração de dados - Unidade1.indd 30 08/07/19 16:43


4. Mudar média do mês e média de todos os dados para o tipo linha.
Figura 21. Alterando configurações do gráfico.

O resultado será a Fig. 22.

Figura 22. Criando um gráfico com linhas.

Processo de descoberta de conhecimento em bases


de dados
O objetivo da Mineração de Dados é obter dados e, a partir de então, converter em conheci-
mentos para, por exemplo, fazer vendas combinadas (toda pessoa que compra caneta, compra

MINERAÇÃO DE DADOS 31

Mineração de dados - Unidade1.indd 31 08/07/19 16:43


lápis), deixar produtos próximos nas prateleiras, planejar promoções, panfletos e degustações,
analisar comportamento por clima e etc.

O que é KDD?
Descobrir conhecimentos, extrair e processar informações são ações cotidianas para es-
tatísticos, programadores em Data Science. Em 1989, um um conceito foi determinado sobre
KDD, que significa “Descoberta de conhecimento de Bancos de Dados” (Knowledge Discovery in
Databases). A Fig. 23 mostra as etapas do processo KDD.

Fontes de dados Dados consolidados Dados preparados Padrões e modelos Conhecimento

Consolidação de dados Seleção e pré-processamento Data mining Interpretação e avaliação

Figura 23. Processo de KDD. Fonte: SABAIA, 2015.

Primeiramente, a empresa faz a captação e a consolidação dos dados; então, nessa mina
de informações, inicia-se o processo de seleção e tratamento de dados, após isso, a mine-
ração avançada é realizada e o tratamento das informações transforma a mineração em
conhecimento.
O KDD é um processo, que será destrinchado na prática posteriormente. De acordo com Fay-
yad et al. (1996, p. 88), “KDD é um processo não trivial, interativo, para identificação de padrões
compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjuntos de dados”.
O processo necessita de profissionais especializados em tratamento de dados e um profissional
especializado em estatística e aplicação em negócios. O objetivo do KDD é descobrir recorrências nos
dados, tanto para análises presentes quanto para previsões futuras, em que índices de confiança
determinam qual é a porcentagem que a relação de causa e efeito tem em um conjunto de dados.

Macroetapas do KDD
De forma semelhante, mas não igual ao data warehouse, o KDD possui etapas.
A principal diferença do data warehouse é que ele objetiva demonstrar muitos dados de

MINERAÇÃO DE DADOS 32

Mineração de dados - Unidade1.indd 32 08/07/19 16:43


forma visual e acessível; ele é um depósito de dados orientado por temas e que variam para
os tomadores de decisão (dashboards). Já o KDD objetiva ter conhecimento e analisar mais a
fundo os padrões.
As entidades a serem analisadas são produtos, vendas, compras, eventos, textos, solicita-
ções eletrônicas, requisições, clientes e etc.
A Fig. 24 mostra as etapas do processo de mineração em uma visão mais sistêmica.

Especialista em domínio Interação Especialista em KDD

Etapas operacionais do processo de KDD

Pré-processamento Mineração de Dados Pós-processamento

Interação

Figura 24. Etapas na mineração. Fonte: GOLDSHIMDIT et al., 2015, p. 22.

A primeira macroetapa é o pré-processamento, que passa por três fases:


• Seleção de dados: em que duas ações são feitas, a seleção de atributos desejáveis
pelo especialista (nome, idade, bairro, faixa etária e etc.) e o tipo de registro desejado
(maior que 20 anos, masculino, vendas à vista e etc). Nesta fase, aplicam-se os filtros
de Excel e de SQL (por exemplo: select * from table where sexo = masculino e idade >
20). Nesta fase, também são criados clusters (grupos) por similaridades. Pode-se criar
novas tabelas.
• Limpeza de dados: esta é a segunda fase, em que valores vazios fora do intervalo espe-
rado e errados são removidos (por exemplo, delete from table_name where idade is null).
A Fig. 25 mostra um exemplo de criação de dados vazios (null) na linha 7, um exemplo
de limpeza de dados vazios na linha 11; após executar o select * from, o registro com da-
dos vazios não aparece na seleção, pois foi deletado de propósito, uma vez que estava
incompleto. Só aparece o Samsung e Ultrabook.

MINERAÇÃO DE DADOS 33

Mineração de dados - Unidade1.indd 33 08/07/19 16:43


Figura 25. Remoção de valores vazios em MySQL.

Cabe citar que existe uma ferramente no Workbench de segurança que precisa ser
desabilitada para excutar o delete. A Fig. 26 mostra como desabilitar.

Deixar
Desativado

Figura 26. Desabilitar segurança contra delete.

• Adição e alimentação de mais dados: esta é a terceira e última fase, em que a finali-
dade é buscar mais informações ainda não colocadas nas bases, também chamado de
enriquecimento, podendo ser outras tabelas, tabelas de dados que acabam por cruzar
com estes no cotidiano etc.

MINERAÇÃO DE DADOS 34

Mineração de dados - Unidade1.indd 34 08/07/19 16:43


Na segunda macroetapa, as análises estatísticas são feitas, por exemplo, regressão linear,
regressão logística, descoberta de similaridades (KNN), clusterização, descobertas de variân-
cia, desvio padrão, classificações, regras de associação e etc. Nesta etapa, são utilizados pro-
gramas como Weka, SPSS, Jupyter Notebook, Past, SAS Entrepise, PolyAnalyst, bem como as
linguagens Python, R e SQL, fundamentalmente.
A terceira macroetapa é a extração de conhecimento ou pós-processamento (GOLDSHIM-
DIT et al., 2015, p. 27). Aqui, é necessário fazer um estudo dos dados para gerar relatórios,
gráficos e então mudar decisões empresariais.

MINERAÇÃO DE DADOS 35

Mineração de dados - Unidade1.indd 35 08/07/19 16:43


Sintetizando
No presente projeto, primeiramente foi falado sobre as diferenças entre dados, informação
e conhecimento, em que dados são coletados de forma bruta e através de programas como
Excel, SQL, Access e etc.; informação é a análise de dados; e conhecimento é o entendimento
e a compreensão dos padrões que estão atrás dos dados, bem como a avaliação de padrões
estatísticos, validando hipóteses, para tomada de decisão estratégica.
O conceito de mineração foi explicado para entender como os padrões podem ser desco-
bertos, a fim de achar padrões de sequência, padrões de causa e efeito, padrões de relações
entre dados, bem como mineração em data warehouse em que um processo de limpeza e de
exibição de dados facilita a leitura de dados exorbitantes.
Filtros em Excel, através de dois parâmetros, foram explicados por uma tabela modelo, a
fim de possibilitar o data mining na prática. Foi passado, ainda, como executar scripts e algo-
ritmos SQL, a fim de criar tabelas, selecionar de forma estratégica através da cláusula where.
Para demonstrar de forma prática como criar exibições em dashboards, foi passado o pro-
cesso de como criar gráficos dinâmicos.
Por fim, foi explicado o que é KDD e como ele se subdivide nas etapas de pré-processamen-
to, processamento (mineração) e pós-processamento.

MINERAÇÃO DE DADOS 36

Mineração de dados - Unidade1.indd 36 08/07/19 16:43


Referências bibliográficas
CASTRO, G. R. Discussão conceitual sobre dado, informação e conhecimento: perspectiva
dos alunos concluintes do curso de Biblioteconomia da UFPB. 2011. 51 f. Monografia apresenta-
da ao curso de Biblioteconomia da Universidade Federal da Paraíba como requisito parcial para
obtenção do título de bacharel em Biblioteconomia – Universidade Federal da Paraíba, 2011.
COMO instalar MySQL e Xampp. Postado por Luiza Cerchiari. (5min. 47s.). son. color. port.
Disponível em: <https://www.youtube.com/watch?v=srcl7b1LeCg&feature=youtu.b>. Acesso
em: 29 mar. 2019.
FAYYAD, U. M.; PIATETSKY-SHAPIRO, G.; SMYTH, P.; UTHURUSAMY, R. Advances in knowledge
discovery and data mining. Califórnia: AAAI/MIT Press, 1996.
GOLDSHIMDIT, R.; BEZERRA, E.; PASSOS, E. Data mining: conceitos, técnicas, algoritmos, orien-
tações e aplicações. Rio de Janeiro: Elsiever, 2015.
PRIMEIROS passos com MySQL. Postado por Luiza Cerchiari. (5min. 03s.). son. color. port.
Disponível em: <https://www.youtube.com/watch?v=QoCcYpf_ZXw&feature=youtu.be>. Aces-
so em: 29 mar. 2019.
POWER BI. Welcome to the data stories gallery. Disponível em: <https://community.powerbi.
com/t5/Data-Stories-Gallery/bd-p/DataStoriesGallery>. Acesso em: 29 mar. 2019.
SABAIA, W. F. Processo de KDD. Disponível em: <http://docplayer.com.br/3575573-O-proces-
so-de-kdd-data-mining-sumario-aula1-o-processo-de-kdd-interpretacao-e-avaliacao-selecao-
-e-pre-processamento-consolidacao-de-dados.html>. Acesso em: 29 mar. 2019.
SOUZA, F. Limites de pagamento dos órgãos do poder executivo da união. Disponível em: <http://
dados.gov.br/dataset/limites-de-pagamento-dos-orgaos-da-uniao>. Acesso em: 29 mar. 2019.

MINERAÇÃO DE DADOS 37

Mineração de dados - Unidade1.indd 37 08/07/19 16:43

Você também pode gostar