tcc_versao_fina da_entregue_portal_cds

Propaganda
1
UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO
RIO GRANDE DO SUL
DCEEng – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
APLICAÇÃO DE PROCESSOS DE DESCOBERTA DE
CONHECIMENTO EM BANCO DE DADOS
PROVENIENTE DE UM ERP
PABLO BOFF PIGOZZO
Ijuí
Novembro / 2013
2
UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO
RIO GRANDE DO SUL
DCEEng – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
APLICAÇÃO DE PROCESSOS DE DESCOBERTA DE
CONHECIMENTO EM BANCO DE DADOS
PROVENIENTE DE UM ERP
PABLO BOFF PIGOZZO
Trabalho de Conclusão de Curso
apresentado ao Curso de Ciência
da Computação do Departamento
de Ciências Exatas e Engenharias
(DCEEng),
da
Universidade
Regional do Noroeste do Estado do
Rio Grande do Sul (UNIJUÍ), como
requisito para a obtenção do título
Bacharel
em
Ciência
da
Computação.
Orientador: Prof. Me. Vinícius Maran
Ijuí
Novembro / 2013
3
APLICAÇÃO DE PROCESSOS DE DESCOBERTA DE
CONHECIMENTO EM BANCO DE DADOS
PROVENIENTE DE UM ERP
PABLO BOFF PIGOZZO
Trabalho de Conclusão de Curso
apresentado ao Curso de Ciência
da Computação do Departamento
de Ciências Exatas e Engenharias
(DCEEng),
da
Universidade
Regional do Noroeste do Estado do
Rio Grande do Sul (UNIJUÍ), como
requisito para a obtenção do título
Bacharel
em
Ciência
da
Computação.
________________________________
Orientador: Prof. Me. Vinícius Maran
BANCA EXAMINADORA
________________________________
Prof. Me. Rogério Samuel de Moura
Martins
Ijuí
Novembro / 2013
4
“A menos que modifiquemos a nossa maneira
de pensar, não seremos capazes de resolver
os problemas causados pela forma como nos
acostumamos a ver o mundo”.
Albert Einstein
5
AGRADECIMENTOS
A Deus, por ter iluminado e mostrado o caminho para chegar até aqui.
Aos meus pais, Loreno e Terezinha, exemplo de pessoas, ensinaramme acima de tudo que, impossível e desistência, são duas palavras que não
devem fazer parte do cotidiano. Todo o apoio, incondicional, diga-se de
passagem, pois nunca mediram esforços para me ajudar a realizar este
sonho, dedicação, amor, paciência, compreensão e carinho passado foram
fundamentais.
A minha irmã, Paola, que acompanhou de perto, sempre presente e
apoiadora.
A todos os meus familiares, especialmente o tio Vilmar, que esteve
junto em todos os momentos.
Aos amigos e colegas.
A todos os meus professores pelo direcionamento e por contribuir
diretamente nessa conquista, em especial, ao professor Vinícius pela
paciência, dedicação e empenho durante o desenvolvimento do presente
trabalho de conclusão de curso.
E a todos que participaram, direta ou indiretamente, desta grande
conquista.
6
LISTA DE SIGLAS
ACID
Atomicidade, Consistência, Isolamento e Durabilidade
DCBD
Descoberta de Conhecimento em Banco de Dados
MD
Mineração de Dados
DM
Data Mining
DW
Data Warehouse
ODM
Oracle Data Miner
KDD
Knowledge Discovery in Databases
CRISP-DM Cross-Industry Standard Processo of Data Mining
MBA
Market Basket Analysis
ERP
Enterprise Resource Planning
WEKA
Waikato Environment for Knowledge Analysis
SGBD
Sistema Gerenciador de Banco de Dados
ETL
Extract Transform Load
SSL
Secure Sockets Layer
SQL
Structured Query Language
7
LISTA DE TABELAS
Tabela 1: Campos necessários dos Clientes e suas Categorias....................46
Tabela 2: Amostra dos dados extraídos dos Clientes....................................47
Tabela 3: Campos necessários das Vendas, Produtos e Categorias de
Produtos..........................................................................................................49
Tabela 4: Primeira parte da amostra dos dados exportados das Vendas......50
Tabela 5: Segunda parte da amostra dos dados exportados das Vendas.....50
Tabela 6: Resultados da Associação de Produtos, gerado pelo algoritmo
Apriori..............................................................................................................64
Tabela 7: Resultado da Associações de Categorias de produtos nas
Vendas............................................................................................................68
8
LISTA DE FIGURAS
Figura 1: Etapas do processo de melhoria na qualidade dos dados
(SCHREIBER et al., 2000)..............................................................................16
Figura 2: Etapas do Processo de DCBD (Adaptada de Fayyad et al.,1996)..18
Figura 3: Processo CRISP-DM (CRISP-DM, 2000)........................................20
Figura 4: Fases do conceito de CRISP-DM (Camilo et al., 2009)..................23
Figura 5: Etapas da implementação...............................................................37
Figura 6: Interface de usuário do Oracle Data Miner......................................42
Figura 7: Exemplo de Fluxo de Trabalho do Oracle Data Miner ....................42
Figura 8: Análise de um modelo de árvore de decisão...................................43
Figura 9: Interface de usuário do Aqua Data Studio.......................................44
Figura 10: Diagrama Entidade-Relacionamento das tabelas de Clientes e
Grupo de Clientes...........................................................................................46
Figura 11: Diagrama Entidade-Relacionamento das tabelas envolvidas em
uma Venda......................................................................................................48
Figura 12: Modelo de objeto usado pelo ODM para MD................................52
Figura 13: Fluxo de trabalho do problema de Analise de Risco à
Inadimplência..................................................................................................54
Figura 14: Fluxo de trabalho da busca por Associação de Produtos nas
Vendas ...........................................................................................................56
Figura 15: Resultado da implementação do algoritmo Árvore de Decisão.....59
Figura 16: Resultado gerado para o Nó 2.......................................................59
Figura 17: Resultado gerado para o Nó 8.......................................................60
Figura 18: Resultado gerado para o Nó 1.......................................................60
Figura 19: Exemplo de Regras Associativas geradas pelo algoritmo Apriori.65
Figura 20: Variação do suporte com relação ao Lift.......................................66
Figura 21: Resultado das Regras Associativas satisfatórias geradas pelo
algoritmo Apriori .............................................................................................68
9
RESUMO
As empresas estão necessitando aprimorar, cada vez mais, seus
negócios devido a alta competitividade, e esta não é uma tarefa fácil. Uma
alternativa que tem se mostrado muito viável parte do conceito de que,
quanto maior for o conhecimento de causa, mais precisas e otimizadas serão
as decisões sobre o domínio. Como as empresas armazenam, comumente,
grandes quantidades de dados, parte destes, oriundos de suas atividades
administrativas diárias, é possível obter conhecimento útil através de técnicas
específicas e direcionadas a este propósito. Diante deste contexto, o principal
objetivo deste trabalho é aplicar processos de Descoberta de Conhecimento
em Banco de Dados, mais especificamente, Mineração de Dados e seus
algoritmos, visando agregar conhecimento relevante e decisório para a
empresa. O projeto foi desenvolvido com o auxílio de diversas ferramentas
direcionadas a para este fim, as quais, serviram para tarefas que partiram
desde a extração de dados até a análise dos resultados e submissão à
empresa para aproveitamento e posterior feedback.
Palavras-chave: Data Warehouse, Mineração de Dados, Apriori,
Árvore de Decisão, Processo de Descoberta de Conhecimento em Banco de
Dados.
10
ABSTRACT
Companies, more often, need to improve their business due to high
competitively, and that is not an easily accomplished task. An alternative that
has been showing highly viable considers that, the more you know about the
case, more precise the decisions can be. As the companies stores, usually,
big chunks of data, some of them derived from daily administrative tasks, it is
possible to obtain useful knowledge by using specific and directed techniques
for that purpose. With this context, the main goal of this project is to
implement
processes
of
Knowledge
Discovery
in
Databases,
more
specifically, Data Mining and its algorithms, to gather relevant knowledge and
decisions for the company. The project was developed with the help of
various tools, its were used from tasks like the data extraction to the analysis
of the results and the submission to the company for approval and future
feedback.
Keywords: Data Warehuse, Data Mining, Apriori, Decision Tree,
Knowledge Discovery in Databases.
11
SUMÁRIO
1 INTRODUÇÃO ............................................................................................................ 13 1.1 PROBLEMA ................................................................................................................... 13 1.2 ORGANIZAÇÃO DO TEXTO ................................................................................................ 14 2 DESCOBERTA DE CONHECIMENTO EM BANCO DE DADOS (DCBD) .............................. 15 2.1 TRATAMENTO DOS DADOS .............................................................................................. 16 2.2 CONCEITOS DE DCBD ..................................................................................................... 18 2.2.1 Processo de Fayyad ............................................................................................ 18 2.2.2 Etapas do conceito CRISP-­‐DM ............................................................................ 20 3 DATAWAREHOUSE E MINERAÇÃO DE DADOS ............................................................ 24 3.1 DATAWAREHOUSE ......................................................................................................... 24 3.2 MINERAÇÃO DE DADOS (MD) ......................................................................................... 24 3.2.1 Classificação ....................................................................................................... 26 3.2.2 Associação .......................................................................................................... 27 3.2.3 Agrupamento ou Categorização ......................................................................... 29 3.2.4 Padrões Sequenciais ........................................................................................... 29 3.3 ALGORITMOS DE MINERAÇÃO .......................................................................................... 30 3.3.1 Algoritmo Apriori ................................................................................................ 30 3.3.2 Algoritmo de Árvores de Decisão ....................................................................... 32 4 PROCESSO DE DESCOBERTA DE CONHECIMENTO EM BANCO DE DADOS DE UM ERP . 34 4.1 CONTEXTO DA APLICAÇÃO ............................................................................................... 34 4.1.1 Análise e Identificação de Grupos de Risco à Inadimplência. ............................. 35 4.1.2 Cesta de Produtos e Vendas Associadas ............................................................. 36 4.2 APLICAÇÃO DA MINERAÇÃO DE DADOS ............................................................................. 37 4.3 AMBIENTE DE TRABALHO UTILIZADO .................................................................................. 38 4.4 FERRAMENTAS .............................................................................................................. 38 4.4.1 PostgreSQL e PgAdmin ....................................................................................... 40 4.4.2 Oracle Database ................................................................................................. 41 4.4.3 Oracle Data Mining (ODM) ................................................................................. 41 4.4.4 Aqua Data Studio ............................................................................................... 43 4.5 EXTRAÇÃO E PROCESSAMENTO DOS DADOS ........................................................................ 44 4.6 IMPLEMENTAÇÃO DE UM DATA WAREHOUSE ..................................................................... 50 4.7 APLICAÇÃO DOS MODELOS DE MINERAÇÃO DE DADOS E SEUS ALGORITMOS ............................ 51 4.7.1 Aplicação do algoritmo de Árvore de Decisão na análise de grupos de risco à inadimplência ................................................................................................................. 52 4.7.2 Aplicação do algoritmo Apriori na busca de novos padrões associativos nas vendas de produtos ........................................................................................................ 54 5 ANÁLISE DOS RESULTADOS E FEEDBACK .................................................................... 56 5.1 ANÁLISE DE GRUPOS DE RISCO À INADIMPLÊNCIA ................................................................. 57 5.2 ANÁLISE DE RESULTADOS DA BUSCA DE PADRÕES ASSOCIATIVOS DE PRODUTOS E SUAS CATEGORIAS NAS VENDAS ........................................................................................................................... 63 5.3 SUBMISSÃO DOS RESULTADOS E FEEDBACK ......................................................................... 69 12
6 CONCLUSÕES E TRABALHOS FUTUROS ....................................................................... 70 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................ 71 13
1 INTRODUÇÃO
Com a crescente e necessária utilização e evolução de sistemas
informatizados nos diversos ramos empresariais, tem-se a consequência de
um
significativo
aumento
na
quantidade
de
dados
manipulados
e
armazenados. Também considera-se como um agravante, o custo de
armazenamento atualmente barato, tornando-se assim um facilitador deste
processo de geração de grandes massas de dados.
Emergindo às dificuldades em recuperar estes através do uso de
métodos convencionais, sejam eles estatísticos, em formato de planilhas e/ou
relatórios, exige-se então procedimentos mais avançados e complexos para a
descoberta de novos conhecimentos em bancos de dados, conhecidos como
Processos de Descoberta de Conhecimento em Banco de Dados (KDD Knowledge Discovery in Databases).
No contexto de um ambiente coorporativo, é de fundamental
importância obter informações relevantes e detalhadas, auxiliando os
diversos níveis gerenciais na difícil tarefa de tomada de decisões,
melhorando os índices de acerto e criando um diferencial em relação as
concorrentes do mesmo ramo (ELMASRI; NAVATHE, 2000, pg. 699).
1.1
Problema
Segundo Fayyad et al (1996), corporações tem promovido um
crescimento em larga escala de seus bancos de dados, ultrapassando os
limites
usuais
e
incapacitando-as
de
posteriormente,
extrair
estas
informações para análise, gerando a necessidade de novas técnicas e
ferramentas para fazer esta tarefa.
Diante desse problema, uma das alternativas mais adequadas é a
utilização de Processos de Descoberta de Conhecimento em Banco de
Dados, mais especificamente, Mineração de Dados. Suas técnicas e
ferramentas para a obtenção e extração de conjuntos de informações são
capazes de servir de apoio nas áreas estratégicas e de tomada de decisões
de uma empresa, auxiliando no negócio como um todo e otimizando seus
respectivos processos e resultados.
14
Desta forma, o principal objetivo deste trabalho é classificar e
catalogar dados para a aplicação de uma técnica de mineração visando obter
novas informações relevantes e conhecimento implícito no domínio de um
ERP comercial. As informações resultantes do processo serão utilizadas para
auxiliar a tomada de decisões nas áreas de negócios de uma organização
empresarial.
1.2
Organização do Texto
Este trabalho está estruturado da seguinte forma: o Capítulo 2
apresenta o referencial teórico, descrevendo as tecnologias e conhecimentos
envolvidos na realização do trabalho. No capítulo 3 é apresentada a escolha
das técnicas, algoritmos e ferramentas de análise, demonstrando como é
feito o desenvolvimento e aplicação dos conhecimentos obtidos. O Capítulo 4
apresenta o processo de descoberta de conhecimento em uma base de
dados utilizada por um ERP comercial. O Capítulo 5 apresenta a análise dos
resultados e o feedback apresentado à empresa. O Capítulo 6 apresenta as
conclusões deste trabalho.
15
2 DESCOBERTA DE CONHECIMENTO EM BANCO DE
DADOS (DCBD)
O Processo de Descoberta de Conhecimento em Banco de Dados
(KDD) é um conjunto de passos para efetuar a extração de coleções de
dados onde as técnicas comuns não conseguem efetividade à frente de
grandes quantidades de dados, transformando esses dados em informações
úteis e conhecimento.
Para Goldschmidt (2005), independentemente do campo de estudo e
também da quantidade de dados que tem-se sobre um determinado domínio,
nada significa quando não se pode interpretá-los a fim de obter
conhecimentos úteis. Com o constante aumento na quantidade de dados
armazenados, indaga-se cada vez mais sobre o que são, para que servem
esses e qual é o seu valor no contexto que está alocado.
Tanto no universo corporativo, no qual serão focados os estudos do
presente trabalho e os processos de mineração, como em diversos outros,
conhecer os dados que se está manipulando é extremamente importante. A
visão obtida sobre uma análise de dados de má qualidade compromete
diretamente o resultado do processo como um todo, portanto é fundamental
definir os tipos de dados que serão utilizados.
Assim, podemos classificar os dados em dois tipos: quantitativos e
qualitativos. Os dados quantitativos são representados utilizando valores
numéricos, podendo ter valores discretos e contínuos. Define-se para esse
tipo, dados nos quais apontam informações que representam quantidade
propriamente dita. A qualitativa sempre é apresentada por valores nominais
ou ordinais, sendo que o último é geralmente representado em forma
categórica.
Fayyad (1997) afirma que nos ramos de negócios, os dados detêm
importantes informações mercadológicas. Através destes dados então, temse a oportunidade de melhorar o desempenho, otimizar processos e resolver
problemas da organização, tornando-a mais eficiente e competitiva.
Entendendo-se que os conjuntos de dados puros não são informações
e precisam ser transformados, pode-se então definir informação como um
conjunto de dados que tem sentido e valor em um determinado contexto. O
16
objetivo de trabalhar com esses dados, é a obtenção do conhecimento que
venha a auxiliar na prática, as pessoas a tomarem uma decisão ou criar
novos conhecimentos sobre o domínio em questão.
2.1
Tratamento dos Dados
Para conseguir dados mais claros e úteis, tem-se formas de normalizá-
los antes de qualquer análise. Segundo Han et al. (2006), pode-se chamar
esse trabalho de pré-processamento e é constituído basicamente de quatro
etapas (Figura 1):
Figura 1: Etapas do processo de melhoria na qualidade dos dados
(SCHREIBER et al., 2000)
• Limpeza dos Dados
A primeira etapa no processo de tratamento de dados é a de limpeza,
na qual verifica-se dados com diversas inconsistências, como valores
errados, nulos e inválidos. As formas de corrigir esses problemas vão desde
remoção de registros com problema, até a substituição e aplicação de
métodos de agrupamento para descoberta de conhecimento comum. Toda e
17
qualquer atividade executada nessa etapa, tem que ser feita de forma que
não altere o resultado final e nem descaracterize o dado.
• Integração dos Dados
A etapa de integração tem um nível de dificuldade e trabalho elevado,
pois geralmente tem-se dados de diversas fontes e dos mais variados tipos,
portanto deve-se unificá-los em um lugar só de forma concisa e que não
prejudique a integridade dos mesmos.
• Transformação dos Dados
Esta etapa visa ajustar os valores para que tenham sentido diante da
técnica aplicada, por exemplo, transformando valores numéricos em
categóricos e vice-versa.
Algumas tarefas que são feitas neste etapa são: remoção de valores
errados, agrupamentos e classificações, conversão de diversos valores
diferentes em valores padronizados e geração de novos dados a partir dos já
existentes, visando melhorar a qualidade destes. (HAN; KAMBER, 2006).
• Redução dos Dados
A última etapa visa reduzir as quantidades de dados pois, geralmente,
quando se objetiva a aplicação de mineração de dados, o volume de dados é
alto, consequentemente demorando mais tempo e consumindo mais recursos
no processamento dos mesmos. Com uma boa redução de dados, tem-se
ganhos significativos nos resultados finais, tornando o processo todo mais
ágil, eficiente e exato.
Para fazer a redução de dados, podemos utilizar estruturas de dados
otimizadas, seleção de subconjuntos de atributos, buscas por duplicidades e
dimensionalidade.
Através dos processos de melhoria da qualidade dos dados, tem-se
uma probabilidade maior de transformá-los em conhecimento, sendo este
então, um dos bens mais valiosos para os processos decisórios e
estratégicos das empresas, portanto, tem-se como foco principal a obtenção
do mesmo. Este conhecimento pode ser obtido através de ferramentas,
metodologias e processos, nas quais serão vistas a seguir (WEISS;
INDURKHYA, 1998).
18
2.2
Conceitos de DCBD
Após ter os dados trabalhados a fim de obter melhor qualidade, deve-
se aplicar os processos de DCBD. Serão abordados dois conceitos de
processos, um definido por Fayyad et al. (1996) e o CRISP-DM.
2.2.1 Processo de Fayyad
As etapas do processo definido por Fayyad et al. (1996) são: Seleção,
Pré-processamento, Transformação, Mineração de Dados e por fim a
Interpretação. A Figura 2 apresenta uma representação das etapas definidas
por Fayyad et al. (1996).
Figura 2: Etapas do Processo de DCBD (Adaptada de Fayyad et
al.,1996)
• Seleção de Dados
Como no primeiro passo, faz-se a seleção de dados que interessam
ao objetivo à partir do(s) banco(s) de dados disponíveis. Os dados
resultantes desta etapa são de extrema importância para o alcance dos
resultados adequados, visto que se não forem os corretos pré-selecionados,
as análises e aplicações das técnicas propostas não farão sentido.
A fim de reafirmar a importância dessa etapa, Brauner (2003), define
que “[...] o sucesso do processo depende da escolha correta dos dados que
formam o conjunto de dados alvo, pois é neste subconjunto que, mais adiante
19
no
processo,
serão
aplicados
os
algoritmos
para
descoberta
de
conhecimento.”
• Pré-processamento
Esta fase do processo consiste em pegar os dados fornecidos pela
etapa de seleção e efetuar um pré-processamento, eliminando possíveis
problemas de redundância, falta de formatação, dados incompletos, ruído e
qualquer anormalidade que possa comprometer os resultados, ou seja,
efetuando uma espécie de limpeza da seleção dos dados.
• Transformação
Neste momento os dados podem ser padronizados de acordo com as
necessidades das técnicas de mineração de dados e seus algoritmos, pois
estas podem exigir uma formatação para conseguir obter melhores
resultados.
Normalmente,
são
realizados
agrupamentos
de
dados
e
consequentemente, uma melhora na disposição dos dados, como a criação
de coleções de informações repetidas para otimizar o desempenho e
execução do algoritmo proposto. Aqui, pode-se também, realizar a
transformação de dados para reduzir a sua quantidade (ELSAMRI;
NAVATHE, 2000).
• Mineração de Dados (MD)
Esta etapa é considerada como a mais importante do processo de
DCBD e é a caracterização e busca de padrões nas informações. Aplica-se
técnicas e algoritmos em busca de conhecimento implícito e útil no resultado
de todos os passos anteriores (BRAUNER, 2003).
• Interpretação dos Resultados
Sendo a última etapa do processo, cabe a ela fazer a interpretação do
resultado gerado pelo processo de mineração de dados. Os resultados
podem ser exibidos de diversas formas, relatórios, demonstrativos ou
arquivos de texto, desde que atendam o objeto de propiciar uma análise
minuciosa destes.
20
Quando não atinge a meta prevista, é possível que se volte à qualquer
uma das etapas anteriores para refazê-la, gerando um novo conjunto de
informações que serão reanalisadas.
2.2.2 Etapas do conceito CRISP-DM
O método de CRISP-DM (Cross-Industry Standard Processo of Data
Mining) é um dos métodos mais utilizados e documentados do processo de
KDD. Consiste em 6 fases, separando algumas etapas (Figura 3) como a
Distribuição da Interpretação (Olson et al., 2008).
Figura 3: Processo CRISP-DM (CRISP-DM, 2000)
A Figura 3 apresenta os fluxos multidirecionais, ou seja, podemos ir e
voltar entre algumas fases. As fases são descritas a seguir.
• Entendimento do Negócio
Nesta etapa, tem-se como principal objetivo a concepção do problema
e qual é a necessidade da utilização de mineração de dados. Visa portanto,
definir claramente o que se deseja ter como resultado palpável e
21
compreensível e, qual é o nível de sucesso que deseja-se atingir. A clara
compreensão do negócio irá auxiliar bastante nas próximas etapas.
• Entendimento dos Dados
A fase de entendimento dos dados começa com a coleta e extração, e
prossegue com atividades que visam familiarizar-se com os dados obtidos.
Busca-se juntamente com isso, identificar problemas de qualidade, descobrir
os primeiros resultados ou sinais, detectar subconjuntos interessantes para
formar hipóteses sobre informações ocultas.
Existe uma estreita ligação entre o entendimento do negócio e
compreensão dos dados. A formulação do problema de mineração de dados
e plano do projeto, requerem, pelo menos, alguma compreensão dos dados
disponíveis.
• Preparação dos Dados
A fase de preparação de dados abrange todas as atividades
necessárias para construir os conjuntos de dados que serão usados para
alimentar as ferramentas de modelagem, a partir dos dados iniciais. A tarefa
de preparação de dados pode ser executada diversas vezes e não necessita
de uma ordem pré-estabelecida. As tarefas incluem, seleção de tabelas,
registros e atributos, bem como a transformação e limpeza para normalizar,
corrigir e melhorar ao máximo a qualidade dos dados.
• Modelagem
Depois de ter os dados compreendidos e preparados para uso,
começa a fase de modelagem, na qual várias técnicas de modelagem são
selecionadas, aplicadas e feito a calibragem dos parâmetros. Normalmente
existem diversas técnicas para o mesmo tipo de problema, porém algumas
delas requerem tipos de dados em formatos específicos, o que agrega um
pouco de complexidade e trabalho ao processo.
Existe uma forte ligação entre a etapa de Preparação de Dados e a
Modelagem, visto que na Modelagem pode-se idealizar novos formatos e
conjuntos de dados para a etapa anterior, alterando-a em busca de melhora
no processo e resultado.
22
• Avaliação
Esta fase, segundo Camilo et al., (2009) é “considerada uma fase
crítica do processo de mineração, nesta etapa é necessária a participação de
especialistas nos dados, conhecedores do negócio e tomadores de decisão”.
Faz-se uso de ferramentas gráficas para ajudar na visualização e análise dos
resultados e modelos.
Antes de executar os processamentos finais, é necessário fazer uma
reavaliação e teste de confiabilidade do modelo e os passos utilizados ao
logo de todo o seu processo de construção, para estar seguro e certo que
serão atingidos os objetivos do negócio.
Os testes que podem ser executados são cross validation, suplied test
set, use training set, percentage Split (Camilo et al., 2009). Após a realização
dos testes, é necessário verificar os indicadores de análise de resultados
obtidos para auxiliar na análise dos mesmos. Também de acordo com Camilo
et al., (2009), estes indicadores são: matriz de confusão; índice de correção e
incorreção de instâncias mineradas; estatísticas kappa; erro médio absoluto;
erro relativo médio; precisão, F-measure dentre outros.
• Distribuição
Criação do modelo não é necessariamente o fim do projeto. Mesmo
que o propósito do modelo é aumentar o conhecimento dos dados, o
conhecimento adquirido terá de ser organizado e apresentado de uma forma
que o cliente possa usá-lo.
Isso, na maioria das vezes, envolve a aplicação de modelos dinâmicos
nos processos de na tomada de decisões de uma organização, por exemplo,
a personalização em tempo real de páginas da Web ou de pontuação
repetida de bases de dados de marketing.
Dependendo dos requisitos, a fase de distribuição pode ser tão
simples como gerar um relatório, ou tão complexo, como a implementação de
um processo de mineração de dados em toda a empresa.
Em muitos casos, é o cliente, não o analista de dados, que realiza as
etapas de distribuição, no entanto, mesmo quando o analista a fizer, é
importante para o cliente entender para saber quais ações devem ser
tomadas e também escolher quais dos modelos criados devem ser seguidos.
23
A Figura 4 apresenta o resumo de todas as fases do CRISP-DM,
acompanhadas das tarefas genéricas e seus resultados.
Figura 4: Fases do conceito de CRISP-DM (Camilo et al., 2009)
Após o estudo do processo de KDD, foi realizado um estudo sobre os
principais algoritmos e ferramentas que implementam os algoritmos de
mineração. Este estudo é apresentado no capítulo a seguir.
24
3 DATAWAREHOUSE E MINERAÇÃO DE DADOS
3.1
Datawarehouse
Os dados cabíveis de aplicação dos processos de DCBD são dos mais
variados tipos e origens, desde bancos de dados operacionais, até Data
Warehouse (DW) e Data Marts. Quando se usa as duas últimas opções,
consequentemente é possível ter uma qualidade melhor de dados, pois já
foram anteriormente trabalhados e melhorados, sendo este um preceito
desses sistemas de armazenamento.
Um Data Warehouse (DW) é um conjunto de dados baseado em
assuntos, integrado, não-volátil e variante em relação ao tempo, de apoio às
decisões gerenciais segundo (INMON, 1997, pg. 33).
A proposta inicial de um DW, em sua concepção, era ser
simplesmente um depósito de dados, ou seja, armazém de informações
captadas ao longo do tempo. No entanto, foram surgindo usos e
necessidades para essas informações, resultando no incremento e criação de
conjuntos de ferramentas, metodologias e técnicas para se utilizar em um
DW.
Atualmente ele é muito mais que armazém de dados, é responsável
por prover dados transformados em informações, que suportam e auxiliam
facilmente áreas estratégicas de tomada de decisões e tornando-se
invariavelmente um diferencial de competitividade, quando bem extraído.
Ao comparar-se um banco de dados transacional comum e um Data
Warehouse, tem-se claramente a visão de que o segundo é um conjunto de
dados com histórico, não atualizável e estático, já um banco de dados
comum está em constante atualização e manipulação, perdendo a
capacidade temporal, visto que ao alterar um registro, perde-se seu estado
anterior. O conceito de Data Mart, é exatamente o mesmo que Data
Warehouse, porém é voltado para uma área específica.
3.2
Mineração de Dados (MD)
Para Silva (2000), Mineração de Dados é uma técnica para determinar
padrões de comportamento em grandes bases de dados, auxiliando na
tomada de decisão. Para Guizzo (2000), mineração de dados “é a extração
25
de informações potencialmente uteis e previamente desconhecidas de
grandes bancos de dados, servindo de forma prática para a descoberta perfis
de consumidores e outros comportamentos que não seriam identificados nem
por especialistas em processos típicos”.
Baseando-se nas definições acima, pode-se afirmar que MD é um
procedimento para a extração de conhecimento implícito e útil de um banco
de dados, no qual, métodos comuns não atingem os objetivos, considerandose que é a parte fundamentas das transformações de dados em informações
significativas. A mineração de dados difere de técnicas estatísticas, porque,
ao invés de verificar padrões hipotéticos, utiliza os próprios dados para
descobrir tais padrões.
Acredita-se também que o volume de informações e dados no mundo
duplique a cada 20 meses. O crescimento em tamanho e em quantidade dos
bancos de dados, é provavelmente, ainda mais rápido (FRAWLEY et al.,
1992).
Para extrair informações dos mais variados tipos e áreas, precisa-se
de diversas técnicas e algoritmos, portanto, pode-se dizer, que cada objeto
de estudo, enquadra-se melhor em determinada técnica.
O processo de escolha da melhor técnica, e também, a mais
adequada, depende então do conhecimento a respeito dos dados e
resultados a serem visados, ou seja: quais atributos, quais relacionamentos
são importantes e possíveis, o que é mais útil ao usuário, padrões já
conhecidos e assim por diante. O processo de escolha, se deve ao fato de
que não existe um método de MD universal, que possa ser aplicado a todas
as situações (FAYYAD et al., 1996).
Segundo Witten et al. (2005), Olson et al. (2008) e Bramer (2007), a
mineração de dados pode ser usada, entre tantas outras, nas seguintes
áreas:
•
Retenção de clientes: identificação de perfis para determinados
produtos e venda cruzada;
•
Bancos: identificar padrões para auxiliar no gerenciamento de
relacionamento com o cliente;
26
•
Cesta de Supermercado: identificar associações de produtos em
vendas;
•
Cartão de Crédito: identificar segmentos de mercado, identificar
padrões de rotatividade;
•
Cobrança: detecção de fraudes;
•
Telemarketing: acesso facilitado aos dados do cliente;
•
Eleitoral: identificação de um perfil para possíveis votantes;
•
Medicina: indicação de diagnósticos mais precisos;
•
Segurança: na detecção de atividades terroristas e criminais;
•
Auxílio em pesquisas biométricas;
•
RH: identificação de competências em currículos;
•
Tomada de Decisão: filtrar as informações relevantes, fornecer
indicadores de probabilidade.
Diante das várias tarefas desenvolvidas em Data Mining, tem-se claro
que seu objetivo primário é a predição ou a descrição. A predição usa
atributos para predizer os valores futuros de uma ou mais variáveis (atributos)
de interesse. A descrição contempla o que foi descoberto nos dados sob o
ponto de vista da interpretação humana.
Existem diversas técnicas que atingem os mais variados objetivos e
propósitos. Serão descritas as mais utilizadas somente, dentre estas, foram
escolhidas duas para utilização e obtenção dos resultados no presente
trabalho. Estas duas terão seus algoritmos explicados de forma mais
detalhada e as outras somente uma breve introdução a respeito. Dentre as
técnicas mais utilizadas tem-se:
3.2.1 Classificação
Segundo Elmasri e Navathe, (2000), “classificação é o processo de
encontrar um modelo que descreva classes de diferentes dados. As classes
são predeterminadas.”
Pode-se chamar isso de atividade de aprendizado supervisionado,
pois quando o modelo é construído, ele serve para classificar diversos outros
dados. As etapas para o aprendizado são claras, começam com um
treinamento baseado em conjuntos de dados que já foram trabalhados,
27
sendo que os registros rotulados,
que indicam qual a classe pertencem,
resultam comumente no modelo de árvore de decisão. Deve-se considerar a
habilidade de prever a classificação de novos dados, bem como o custo
computacional e sua escalabilidade na hora de aplicar.
Por ser o mais conhecido e largamente utilizado dentro do conceito de
Associação, o algoritmo de Árvore de Decisão explicado adiante.
3.2.2 Associação
A técnica de Associação consiste em correlacionar a presença de itens
que pertencem a um intervalo de valores ou conjunto de parâmetros. “Uma
regra de associação caracteriza o quanto a presença de um conjunto de itens
nos registros de uma base de dados implica na presença de algum outro
conjunto distinto de itens nos mesmos registros.” (AGRAWAL; SRIKANT,
2004).
A definição clara para as regras de associação, é determinística e
também simples, pois seu processamento é mais simples e não preditivo
como a classificação.
Uma regra de associação é da forma X=>Y, na qual X={X1, X2, ..., Xn}
e Y = {Y1, Y2, ..., Yn} são conjuntos de itens, com Xi e Yj sendo itens
distintos para todos os i e todos os j. Essa associação de acordo com Elmasri
e Navathe (2000, pg. 715), afirma que por exemplo, se um consumidor
compra X, provavelmente comprará também Y, ou seja, a regra de
associação {carne, sal} -> {carvão} significa que: Todo o cliente que comprar
carne e sal, tem a tendência de comprar carvão. É importante observar que o
inverso da regra não é válido, pois não se pode afirmar que todo cliente que
vai ao estabelecimento comercial comprar carne e sal, compra também
carvão e todo cliente que vai comprar carvão, compra mais carne e sal. Para
saber equiparar as situações, é necessário avaliar os resultados aplicando as
duas regras: {carne, sal} -> {carvao} e {carvao} -> {carne, sal}.
As regras de associação, quase sempre tem o formato LE (lado
esquerdo) => LD(lado direito), onde estes formam conjuntos associativos.
Toda e qualquer regra de associação tem que fornecer um grau de suporte e
confiabilidade, garantindo a segurança da aplicação da regra.
28
As medidas de suporte e confiança são extremamente importantes na
análise de resultados. Sendo que uma regra que tenha baixo suporte pode
simplesmente ser um fato do acaso e também possui grande probabilidade
de não ter interesse a partir de uma perspectiva de negócio porque pode não
ser lucrativo promover itens que os clientes raramente compram juntos. Por
estas razões, o suporte é muitas vezes usado para desclassificar regras que
não apresentem níveis de interesse satisfatórios. O cálculo para obtenção do
grau de suporte é relativamente simples:
𝑠𝑢𝑝𝑜𝑟𝑡𝑒 {𝑋 → 𝑌} = 𝑛ú𝑚. 𝑑𝑒 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 𝑑𝑒 𝑋 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑑𝑜𝑠 𝑎 𝑌
𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 A confiança, por sua vez, sinaliza quão confiável é a inferência feita
por uma regra. Para uma determinada regra X→Y, quanto maior a confiança,
maior a probabilidade de que Y esteja presente em transações que
contenham X. Para calcular a confiança faz o seguinte:
𝑐𝑜𝑛𝑓. {𝑋 → 𝑌} = 𝑛ú𝑚. 𝑑𝑒 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 𝑑𝑒 𝑋 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑑𝑜𝑠 𝑎 𝑌
𝑛ú𝑚. 𝑑𝑒 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 𝑑𝑒 𝑋
Para uma regra ser interessante, o grau mínimo de suporte e
confiança deve ser: suporte {X -> Y} >= Z e conf. {X -> Y} >= K, onde Z e K
são medidas definidas como satisfatórias pelo usuário.
Outra medida na qual foi adotada e auxiliará na obtenção de
conhecimento é o lift. Segundo Brin et al. (1998), lift também conhecida como
interest, é uma das mais utilizadas para avaliar dependências. Essa medida
significa que dada a regra de associação X->Y, sabe-se quão frequente é o Y
quando X ocorre. Esse valor é obtido através das seguinte equação:
𝑙𝑖𝑓𝑡 {𝑋 → 𝑌} = 𝑐𝑜𝑛𝑓(𝑋 → 𝑌)
𝑠𝑢𝑝𝑜𝑟𝑡𝑒(𝑌)
Considera-se que se lif(X->Y) = 1, então afirma-se que X e Y são
independentes, caso seja maior, são positivamente dependentes e menor,
negativamente dependentes. Sua interpretação é relativamente simples,
29
quanto maior o lift melhor a regra, pois entende-se que X aumento a
probabilidade de ocorrência de Y.
Existem maneiras de otimizar o trabalho em grandes quantidades de
dados da seguinte forma. Para conjuntos de dados muito grandes, um modo
de melhorar a eficiência é através da amostragem. Se é possível encontrar
uma
amostra
representativa
que
verdadeiramente
representa
as
propriedades dos dados originais, então a maioria das regras pode ser
encontrada e o problema se reduz a planejar um procedimento de
amostragem apropriado. (ELMASRI; NAVATHE, 2000)
3.2.3 Agrupamento ou Categorização
Agrupamento ou Categorização é, basicamente, caracterizada pela
possibilidade de agrupar os dados em subconjuntos com características em
comum, formando um modelo descritivo. Esses agrupamentos são chamados
de categorias, e também identifica grupos de registros correlatos, que serão
usados como base para futuras aplicações.
Através da tarefa de agrupamento, pode-se dividir os dados em
subconjuntos homogêneos, fáceis de descrever e visualizar. Estes, por sua
vez, podem ser mostrados para o usuário, em vez de tentar mostrar todos os
dados, o que usualmente resultaria na perda de padrões embutidos
(FAYYAD, 1997).
3.2.4 Padrões Sequenciais
A técnica de associação por padrões sequenciais, define-se por
grupos de itens oriundos de transações diferentes, ou seja, os dados de
entrada são tipicamente, listas de transações sequenciais.
As sequências visam determinar padrões de ordenação entre
dados, tais como: ordenação temporais ou ordenação por
classificação. A ordenação por séries de tempo visa definir grupos
com séries de tempo similares, ou seja, mesmo padrão de
comportamento num determinado intervalo de tempo. A análise de
sequências pode identificar padrões temporais utilizados para
predizer acontecimentos futuros. (BRAUNER, 2003).
30
3.3
Algoritmos de Mineração
3.3.1 Algoritmo Apriori
O algoritmo Apriori é um dos algoritmos mais conhecidos no universo
da mineração de dados e regras de associação. Foi proposto em 1994 pelos
pesquisadores do projeto QUEST, da IBM. Ele basicamente serve para
identificar grupos de dados associados chamados itemsets, e categorizá-los
por frequência de ocorrência, resultando em itemsets frequentes(Ls). É
caracterizado pela entrada dos dados, regra e parâmetros de suporte e saída
de itemsets frequentes, bem como sintetizado abaixo:
INPUT: Banco de dados de m transações, D, e um suporte mínimo,
mins, representando como uma fração de m.
OUTPUT: Conjunto de itemsets frequentes, L1, L2,...Lk.
Segundo Elmasri e Navate (2000), o fluxo de processamento do
algoritmo é o seguinte:
1.
Início;
2.
Calcula suporte (𝑖! ) = contar 𝑖! /m para cada item individual, 𝑖! , 𝑖! , … 𝑖 lendo o banco de
dados uma vez e contando o número de trançaões em que o item 𝑖! aparace;
3.
O candidato a frequente o conjunto de itens-1, 𝐶! , será o conjunto de iten 𝑖! , 𝑖! , … , 𝑖! ;
4.
O subconjunto de itens contendo 𝑖! de 𝐶! onde o suporte de (𝑖! ) >= mins torna-se
frequente conjunto de itens-1, 𝐿! ;
5.
K=1;
6.
Terminação = Falso;
7.
Repetir;
8.
𝐿!!! = 𝐿! ;
9.
Criar o candidato a frequente, o conjunto de itens-(K+1), 𝐶!!! ,combinando os membros
de 𝐿! , que tenham K-1 itens em comum;
10. Considerar somente elementos de 𝐶!!! , aqueles K+1 itens em que cada conjunto de
tamanho k que apareça em 𝐿! ;
11. Pesquisar o banco de dados uma vez e calcular o suporte para cada membro de 𝐶!!! ; se
o suporte para um membro de 𝐶!!! ≥ 𝑚𝑖𝑛𝑠, então adicionar aquele membro a 𝐿!!! ;
12. Se 𝐿!!! é vazio então terminação = verdadeiro senão k = k +1;
13. Até terminação;
14. Fim;
31
O algoritmo trabalha basicamente com três fases principais: geração
dos candidatos; poda dos candidatos; calculo do suporte (validação). É
importante observar que somente a ultima etapa necessita ativamente do
banco de dados, as outras rodam diretamente na memória, a não ser que os
conjuntos de dados sejam grandes e não caibam nesta, então apela-se para
o BD.
• Geração de candidatos
Nesta fase, como o nome já sugere, são gerados os itemsets
candidatos de tamanho k, a partir do conjunto 𝐿!!! . Como estamos querendo
gerar itemsets que possam ser frequentes, considerando-se que todos os
itemsets de tamanho k-1 contidos nos candidatos de tamanho k deverão ser
frequentes, portanto, deverão pertencer ao conjunto 𝐿!!! . Com isso, 𝐶! de
itemsets candidatos de tamanho K constitui-se de pares de itemsets de
tamanho k-1 que tenham k-1 elementos em comum. Sabe-se desta forma
que um itemset de tamanho k onde minimamente dois de seus subconjuntos
de tamanho k-1 são frequentes.
• Poda
A poda é basicamente uma restrição na qual um itemset 𝐶! com
subconjunto de itens de tamanho k-1 que não está contido em 𝐿!!! tem a
possibilidade de ser desconsiderado, visto que não será frequente. Pode ser
identificado pelo cálculo do conjunto 𝐶! com a fórmula:
• Cálculo de Suporte e Validação
Finalmente, nesta fase é calculado o suporte de cada um dos itemsets
do conjunto 𝐶! . Isto pode ser feito varrendo-se uma única vez o banco de
dados, e para cada transação t do banco de dados, analisa-se quais
candidatos são suportados por t e incrementa-se o contador de suporte para
este.
32
3.3.2 Algoritmo de Árvores de Decisão
Segundo Nock (1998), uma árvore de decisão é uma representação
simples de um classificador utilizada por diversos sistemas de aprendizado
de máquina, como por exemplo o C4.5. Pode-se dizer então, que um árvore
de decisão, é guiada a partir de amostras previamente conhecidas de classes
e é composta por regras, sendo que uma regra qualifica-se como uma
condição que torna fácil o entendimento e a identificação de conjuntos de
registos.
Pode-se afirmar que uma árvore de decisão é basicamente uma série
de declarações if-elses, que quando alimentado com um registro oriundo de
uma fonte de dados, classifica-o de forma simples e clara. Um fator
extremamente interessante sobre árvores de decisão, é o fato de suas regras
serem originadas a partir da sua habilidade de aprendizado e não de uma
predefinição. Quinlan (1993), afirma que os resultados obtidos, após a
construção de uma árvore de decisão, são dados organizados de maneira
compacta, com a árvore podendo ser utilizada para classificar novos casos.
Segundo Elmasri e Navate (2000), o algoritmo de Árvore de Decisão
segue a seguinte linha de implementação:
INPUT: Conjuntos de dados de treinamento Registros: R1, R2...Rn e
conjunto de Atributos: A1, A2...An.
OUTPUT: Árvore de decisão.
1.
Início;
2.
Criar um nó N;
3.
Se todos os registos pertencem à mesma classe, C, então retorna N como um nó folha
com rótulo de classe C;
4.
Se Atributos está vazio, então retorna N como um nó-folha com rótulo de classe C;
5.
Seleciona o atributo A (com maior ganho de informação) de Atributos;
6.
Rotula o nó N como 𝐴! ;
7.
Para cada valor conhecido, 𝑉! , de 𝐴! faça:
8.
Inicio
9.
Some uma marca do nó N para a condição 𝐴! = 𝑉! ;
10.
𝑆! = subconjunto de Registros onde 𝐴! = 𝑉! ;
11.
Se 𝑆! está vazio, então:
33
Adicione uma folha, L, com rótulo de classe C, como a maioria dos registros
12.
pertencentes a ela e retorna L se não some o nó retornado por Constrói_árvore
(𝑆! , 𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑜𝑠 − 𝐴! );
13.
fim
14. fim
• Entropia
A Entropia é um conceito de medida de informações obtidas pelas
probabilidades de ocorrência de eventos singulares ou combinados. Também
vale afirmar que é uma medida de impureza em um conjunto definido de
amostras de treinamento.
• Ganho de Informação
Pode-se dizer que o ganho de informação é uma medida de correlação
de dois atributos. Esses atributos basicamente são a soma das medidas de
entropia singulares subtraídos pela entropia conjunta. Em síntese, ela mede
como as amostras são separadas no treinamento, baseado nos seus
atributos de classificação e também quantifica a eficácia de um atributo em
classificar os dados de treinamento.
Um dos objetivos da construção de árvores de decisão é diminuir o
valor da entropia. A medida do ganho de informação representa a
redução esperada na entropia de um atributo preditivo,
considerando que um atributo classe já tenha sido determinado. Ou
seja, o valor do ganho de informação fornece uma redução
esperada na entropia causada pela partição das amostras de
acordo com este atributo classe conhecido previamente. No
processo de construção da árvore de decisão, o atributo preditivo
que possuir o maior ganho de informação deve ser colocado como
raiz da árvore, pois é este atributo que fornecerá a maior redução
na entropia, classificando os dados de forma mais rápida.
(CASTANHEIRA, 2008)
34
4 PROCESSO DE DESCOBERTA DE CONHECIMENTO EM
BANCO DE DADOS DE UM ERP
A forte competitividade, a necessidade de diferenciais mercadológicos,
a otimização dos negócios, a redução de custos, são os principais motivos
que levaram as empresas a partirem para a utilização cada vez, mais
intrusiva de soluções sistêmicas eficientes, entrando assim em cena, então,
os softwares ERP (Enterprise Resource Planning), um conceito de sistema
informatizado, criado para atender as necessidades gerenciais de uma
empresa, no seu âmbito total, ou seja, compras, vendas, estoque,
faturamento, recursos humanos, produção e outras.
Segundo Hicks (1997), um ERP “é uma arquitetura de software que
facilita o fluxo de informação entre todas as funções dentro de uma
companhia, tais como logística, finanças e recursos humanos”.
Com o uso de um ERP, passa-se a ter menos entrada de dados,
consequentemente um maior controle sobre o fluxo das informações que é
mais ativo, coerência e dados em tempo real confiáveis. Uma outra
característica peculiar de um ERP é sua densidade de detalhes e controles
sobre os fluxos e processos, armazenando de forma rica e consistente,
muitas e muitas informações sobre tudo o que ocorre, registrando
temporalmente eventos, transações e modificações, consequentemente
enriquecendo o banco de dados.
4.1
Contexto da Aplicação
O grupo de empresas na qual a pesquisa é focada, está localizada no
noroeste do Rio Grande do Sul e é composta por 4 lojas de materiais de
construção e ferragens. Todas utilizam um ERP para controlar desde
compras, vendas, clientes, produtos, marketing, informações financeiras até
estoque.
O
ERP
é
OpenSource
e
http://sourceforge.net/projects/adempiere.
pode
ser
Desenvolvido
encontrado
quase
em
que
totalmente em Java, possui também um interface web para acesso remoto,
replicando todas as funcionalidades da versão desktop. É mantido por uma
35
comunidade centralizada na Alemanha e tem auxílio e membros no mundo
todo.
Por ter seu código aberto e ótima qualidade, expandiu mercado
rapidamente e ganhou localizações (adaptações específicas para cada país
no qual é implantado) para diversos países. Ele possui todos os módulos
necessários para as empresas de médio grande porte, é totalmente
integrado, contém um banco de dados centralizado independente de quantas
empresas o utilizam. Todo sistema desse porte, é fortemente baseado em
regras de negócios e sua estrutura de banco de dados é por consequência,
complexa.
Atualmente não há nenhuma ferramenta relacionada a descoberta de
conhecimento em banco de dados e/ou mineração de dados, então os
resultados, serão de grande valia. É importantíssimo salientar que os padrões
e resultados exibidos nesta pesquisa não necessariamente significam alguma
generalização e ou regra de negócios, pois podem se alterar de acordo com
diversos fatores, como: localização geográfica, diretivas administrativas; e
outras características peculiares de cada empresa. Também serão mostrados
de forma com que não comprometam a confidencialidade e as estratégias de
negócios das empresas, que foi uma imposição feita por seu diretor no
momento da solicitação do banco de dados, para o presente projeto de
pesquisa.
Um fator importante que pode justificar, talvez por si só, a utilização de
DCBD, é que as empresas tem crescido e se desenvolvido bastante ao longo
do tempo, chegando a um patamar, no qual exige um nível elevado de
criatividade para continuar crescendo em um ritmo satisfatório, afrontando-se
assim, com a necessidades de diferenciais mercadológicos e a otimização
dos processos de negócios.
Tem-se abaixo alguns dos problemas analisados e que, os quais
métodos convencionais não conseguem resolver, atualmente.
4.1.1 Análise e Identificação de Grupos de Risco à Inadimplência.
Recentemente foi adotado um sistema de crediário próprio em todas
as lojas, trazendo facilidades aos clientes para comprar parceladamente e
também alavancar as vendas para a empresa. Sabe-se que ao vender, ou
36
melhor, financiar a venda para o cliente, tem-se alguns agravantes que, após
um tempo, podem ser impeditivos diante de todo o negócio, acarretando em
prejuízos. Tais agravantes são basicamente, a inadimplência e a falta de
ferramentas para análise e concepção de crédito.
Uma oportunidade para o empresário ampliar seus negócios está
nas vendas a prazo: o pagamento pelo cliente ocorre após a
entrega da mercadoria ou da prestação do serviço – e isso se torna
um crédito concedido. Apesar de essa ser uma prática bastante
difundida, é importante se basear em uma análise de crédito bem
estruturada e alinhada com a estratégia de vendas para que a
inadimplência não pegue o empresário de surpresa na hora de
receber os pagamentos. (SANCHEZ, 2010).
Com a necessidade de identificar e criar metodologias para melhorar
todo esse processo, tornou-se imprescindível levantar informações de cunho
decisório. A identificação de grupos de clientes com maior propensão à
inadimplência, se enquadra nesse conjunto de informações, pois é relevante
na liberação de crédito. Para sintetizar o problema, questionou-se o seguinte:
- Quais são os grupos de clientes e quais as faixas de valores
possuem maior propensão a inadimplência?
4.1.2 Cesta de Produtos e Vendas Associadas
O conceito de cesta de produtos, conhecido comumente por Market
Basket Analysis (MBA) serve para identificar padrões de comportamento de
itens em uma venda. Groth (2000) afirma que o MBA pode ser aplicado em:
análise de vendas cruzadas; definição de layout; projeto de catálogos de
produtos; análise de perda de liderança de mercado; definição de preço e
promoções de produtos; dentre outros.
Li (2008) afirma que os dados das transações mantêm as melhores e
mais valiosas informações sobre a associação de produtos e são elas que
ditam uma coordenação eficiente das atividades, provendo suporte para
aplicação dos conceitos de MBA e mineração de dados.
Estes bons conjuntos de dados em uma campanha de marketing por
exemplo, na qual terá mudanças nos preços ou promoções de determinadas
categorias de produtos podem afetar não apenas as vendas destas, mas de
outras, então levamos a afirmar que existe uma forte possibilidade de uma
promoção de cervejas aumentar a venda de amendoins.
37
Com a utilização de vendas cruzadas pela empresa, surgiu o desafio
de fazer esses grupos de produtos, de acordo com as necessidade dos
consumidores e também aumentar a precisão das campanhas de marketing,
ou seja, aplicação de MBA, não oferecendo produtos pouco visados ou fora
de contexto.
A identificação das categorias de produtos que mais vendem em
conjunto também é importante, pois de acordo com elas, pode-se aprimorar o
leiaute físico das lojas, hoje organizadas por setores, hidráulico, elétrico e
outros, que são associados diretamente com as categorias. Duas categorias
que tem bastante vendas juntas, devem, diante deste cenário, estar próximas
para facilitar sua venda.
Com a análise feita, chegou-se a conclusão que as seguintes
perguntas, neste caso são:
-
Quais são os produtos que mais se vende de forma associada ?
-
As categorias, de acordo com as vendas já efetuas, estão
apropriadamente organizadas, dentro das lojas, para promover
mais precisamente as vendas associadas ?
4.2
Aplicação da Mineração de Dados
Nesta etapa realizou-se todo o processo de Mineração de Dados e foi
segmentado em outras três outras etapas menores, para facilitar a aplicação,
sendo elas a Extração e Processamento dos Dados; Aplicação dos
Algoritmos de Mineração de Dados, e por fim, Análise dos Resultados. A
Figura 5 apresenta uma síntese geral das etapas.
ERP
ETL (Extração,
Transformação e
Carga) dos
Dados
DW
CRM
Mineração de
Dados
Resultados
Figura 5: Etapas da implementação
38
Os algoritmos definidos para aplicação foram escolhidos dentre uma
série de opções baseando-se em: Pesquisas e estudos de todas os
algoritmos
enquadrados
nos
métodos
necessários
(Associação
e
Classificação) considerando-se fatores como custo computacional, tempo de
processamento, eficiência na análise, capacidade de processamento de
grandes quantidades de dados, e por fim, precisão nos resultados; Testes
práticos, voltados especificamente para a capacidade de implementação com
as ferramentas escolhidas considerando todos os fatores acima descritos,
chegou-se a conclusão que as soluções mais adequadas de algoritmos de
mineração de dados são: Para análise de grupos de risco à inadimplência,
técnicas de Classificação e algoritmo de Árvore de Decisão; Para Cesta de
Produtos e Vendas Associadas, técnicas de Associação com seu algoritmo
Apriori.
4.3
Ambiente de trabalho utilizado
O presente trabalho foi implementado na sua totalidade em um
notebook MacBook Pro, com a seguinte configuração de hardware:
Processador Core i7 2.2 Ghz com 4 núcleos físicos; 8GB de Memória RAM;
SSD 256 GB. O sistema operacional é o Mac OS X Mavericks, rodando
quase todas as ferramentas necessárias nativamente, com exceção do
SGBD Oracle, no qual foi utilizado o software VirtualBox (software
virtualizador que permite a criação de máquinas virtuais com diferentes
sistemas operacionais em um único computador) para criar uma máquina
virtual rodando Oracle Linux 5 e então instalar o SGBD Oracle.
Foi obtida uma cópia do banco de dados da empresa, com as devidas
autorizações, restaurado em uma instancia do SGBD PostgreSQL executada
no próprio notebook.
4.4
Ferramentas
As ferramentas escolhidas foram baseadas em um levantamento de
critérios, visando melhores resultados e uma posterior utilização em
ambientes reais mais segura. Os critérios são:
39
•
Capacidade
para
armazenar
dados
temporais
para
análise
(implementação de um data warehouse);
•
Possibilidade de recuperação fácil desses dados;
•
Suporte a linguagem SQL;
•
Arquitetura de banco de dados deve ser relacional;
•
Capacidade de lidar com grandes volumes de dados;
•
Estabilidade e maturidade;
•
Possibilidade de utilização em ambientes coorporativos;
•
Suporte aos sistemas operacionais Linux, Windows e se possível, em
MacOS X;
•
Segurança;
•
Qualidade dos resultados e formas de exibição dos mesmo;
•
Custo x Benefício para um ambiente coorporativo;
De acordo com os critérios acima, optou-se pela utilização do banco
de dados Oracle Database na sua versão 11g2 e o conjunto ferramentas de
mineração de dados Oracle Data Mining versão 3.2, por dois motivos
principais. O primeiro é a prévia familiaridade com ferramentas da Oracle e a
outra é que diante do levantamento abordado, todos os critérios foram
satisfeitos.
Avaliou-se outras ferramentas da IBM e Microsoft nas quais se
enquadram em alguns dos critérios acima também, porém obteve-se uma
certa equivalência entre todos na análise superficial dessas ferramentas e
assim o fator preponderante da decisão, foi o conhecimento prévio das
ferramentas da Oracle. É importante mencionar que em alguns pontos uma
ferramenta se sobressai a outra, porém no contexto geral, mostraram-se
equivalentes e também os métodos de análise foram basicamente pesquisas
e opiniões encontradas pela internet, não sendo realizados testes práticos.
Uma outra ferramenta largamente utilizada é a WEKA (Waikato
Environment for Knowledge Analysis), que se destaca por ser de código
aberto e possuir grande aderência no universo acadêmico, mas não teve sua
adoção consolidada devido a instabilidades identificadas em alguns testes
realizados no período de avaliação, principalmente ao manipular grandes
massas de dados de entrada.
40
Foi utilizado o sistema gerenciador de banco de dados (SGBD)
PostgreSQL para extrair os dados da empresa. Este está instalado
atualmente na empresa e trabalhando em conjunto com seu ERP. Sua
ferramenta gráfica de administração, chamada PgAdmin, utilizada para
efetuar todo o processo de extração e pré-processamento dos dados.
4.4.1 PostgreSQL e PgAdmin
O PostgreSQL (2013) é um banco de dados de código aberto
largamente utilizado no mundo.
O PostgreSQL é um poderoso sistema gerenciador de banco de
dados objeto-relacional de código aberto. Tem mais de 15 anos de
desenvolvimento ativo e uma arquitetura que comprovadamente
ganhou forte reputação de confiabilidade, integridade de dados e
conformidade a padrões. Roda em todos os grandes sistemas
operacionais, incluindo GNU/Linux, Unix (AIX, BSD, HP-UX, SGI
IRIX, Mac OS X, Solaris, Tru64), e MS Windows. É totalmente
compatível com ACID, tem suporte completo a chaves
estrangeiras, junções (JOINs), visões, gatilhos e procedimentos
armazenados (em múltiplas linguagens). (POSTGRESSQL, 2013)
Quando considera-se sua utilização em ambientes corporativos ele
também ganha força, pois é composto por diversas funcionalidades
sofisticadas, voltadas para esse ambiente.
Controle de concorrência multiversionado (MVCC, em inglês),
recuperação em um ponto no tempo (PITR em inglês), tablespaces,
replicação assíncrona, transações agrupadas (savepoints), cópias
de segurança a quente (online/hot backup), um sofisticado
planejador de consultas (otimizador) e registrador de transações
sequencial (WAL) para tolerância a falhas. (POSTGRESSQL, 2013)
Já o PgAdmin é uma ferramenta administração de banco de dados
desenvolvida especialmente para o PostgreSQL. Esta lhe permite fazer,
desde simples consultas, até a criação de um banco de dados complexo. Seu
principal objetivo é fazer com que sua interface gráfica possibilite gerenciar
este SGBD, de forma mais simples não perdendo funcionalidades.
Algumas destas merecem destaque, bem como o editor de consultas
SQL, no qual possui uma agradável coloração de sintaxe (syntax highlighting,
em inglês), gerenciamento de replicação do banco de dados com o Slony-I,
41
conexão a banco de dados remotos com suporte a SSL, agendamento de
execução de tarefas e muitas outras.
4.4.2 Oracle Database
O Oracle Database é um dos sistemas gerenciadores de banco de
dados mais utilizados no mundo. É considerado extremamente maduro,
seguro e estável. Detém a liderança no mercado de SGBDs, desde sua
criação no ano de 1977 quando Larry Ellisson, Bob Miner e Ed Oates e
originado da oportunidade de comercialização da ferramenta, que, na época,
não existia nenhuma com mesma finalidade no mercado. (SILBERSCHATZ
et al., 1999).
A Oracle disponibiliza suas ferramentas de banco de dados e
mineração de dados, de forma gratuita, para utilização em ambientes
acadêmicos, porém, exige que sejam adquiridas licenças, para uso
coorporativo.
4.4.3 Oracle Data Mining (ODM)
De acordo com Oacle Data Miner (2013), o Oracle Data Mining é um
poderoso conjunto de ferramentas criado pela Oracle, nas quais se integram
perfeitamente com o Oracle DataBase, um dos melhores bancos de dados
relacionais criados pela própria empresa. Com essas ferramentas e
funcionalidades,
é
possível
efetuar
diversos
tipos
de
extração
de
conhecimentos sobre base de dados Oracle. Segundo a Oracle (2013), é
possível construir e aplicar modelos preditivos que auxiliam na identificação
de melhores clientes, perfis de clientes e prevenção de fraudes e muitos
outros padrões.
O principal objetivo do Oracle Data Mining é auxiliar as empresas na
constante busca e analise apurada de informações competentes. Para
auxiliar e facilitar o trabalho, e utilizar de forma mais simplificada, as
funcionalidades da suíte Data Mining, a Oracle criou uma GUI (Interface de
Usuário), chamada Oracle Data Miner, e acoplou este, na ferramenta
SQLDeveloper, que serve para acessar e manipular os bancos de dados
Oracle. Ela permite a criação de fluxos de trabalho voltados para processos
de mineração de dados, aplicação de modelos e analise de resultados, tudo
42
de forma gráfica. Além da interface gráfica, essa ferramenta possui API’s
SQL, nas quais permitem desenvolvedores acoplarem e criar soluções de
mineração e analise de dados em seus softwares e obter resultados em
tempo real destes. A versão do software utilizada é a 3.2 e o banco de dados
Oracle 11g2.
Algumas imagens do Oracle Data Miner estão abaixo (Figura 6, 7, 8):
Figura 6: Interface de usuário do Oracle Data Miner
Figura 7: Exemplo de Fluxo de Trabalho do Oracle Data Miner
43
Figura 8: Análise de um modelo de árvore de decisão
4.4.4 Aqua Data Studio
Aqua Data Studio é um ambiente de desenvolvimento integrado para a
administração de banco de dados.
Aqua Data Studio 10.0 é um software completo de Ambiente de
Desenvolvimento Integrado (IDE) para consulta de banco de dados,
administração e desenvolvimento. Ele suporta todos os principais
fornecedores de banco de dados, funciona em vários sistemas
operacionais e está configurado para 21 idiomas. (AQUAFOLD,
2013),
As suas principais funcionalidades são: consultas em banco de dados;
ferramentas de administração; suíte de comparação de ferramentas para
bases de dados; controle de fontes e sistemas de arquivos; suporte completo
e integrado aos mecanismo de controle de versão Subversion (SVN) e CVS
(ambas ferramentas responsáveis pela atualização de pacotes de forma
automática). A figura 9 a sua interface de uso da ferramenta.
44
Figura 9: Interface de usuário do Aqua Data Studio
4.5
Extração e Processamento dos Dados
As informações para a aplicação da pesquisa são oriundas, como
supracitadas, de uma base de dados sob domínio do grupo de empresas e
alimentada pelo seu ERP. O SGBD utilizado pela empresa é o PostgreSQL.
Junto com este, tem-se o PgAdmin, uma ferramenta gráfica para sua
administração, e que, no presente trabalho, foi utilizado para a exportação
dos dados.
O escopo para esta extração de dados foi definido, baseado na análise
do contexto da empresa e sua necessidade de conhecimento, localizada no
capítulo anterior. Destacou-se um ponto de extrema relevância para a
viabilização deste projeto que exigiu uma certa criatividade para poder
prosseguir.
Como as informações alvo, bem como seus resultados, impactam
diretamente em questões de confidencialidade de dados e estratégias de
negócios, com necessidade de se encontrar uma forma para prosseguir,
chegou-se a uma solução simples que consistiu em mascarar os conjuntos
de registros impeditivos durante a extração.
45
Um exemplo são os códigos de produtos, os quais foram obtidos,
aplicando um cálculo para embaralhá-los. Todas as linhas utilizam o mesmo
cálculo, consequentemente sua integridade se manteve. Em caso de
posterior aplicação em um ambiente real, os dados serão considerados de
forma plana e íntegros, sem nenhum tipo de máscara, passando só por um
processo de tratamento, comum nesse contexto.
Após o pequeno revés destacado no paragrafo anterior, deparou-se
com um ponto facilitador. Os dados estão rigidamente normalizados e são
extremamente consistentes dentro do repositório, portanto, os processos nos
quais visa melhorar a qualidade destes, serão aplicados de forma superficial
e os resultados tendem a serem mais precisos.
De qualquer forma, é realizada a utilização de conceitos básicos da
ETL (Extração, Transformação e Carga em português), porém, nenhuma
ferramenta específica foi necessária, pois todo o trabalho ficou a cargo do
PgAdmin e da linguagem SQL.
Para a primeira pergunta, na qual visa analisar os riscos de
inadimplência para determinados grupos de clientes e as faixas de valores
com maior propensão, deve-se considerar, inicialmente as informações da
carteira toda de clientes, sendo que, cada cliente está obrigatoriamente
contido em um determinado grupo.
Através do diagrama Entidade-Relacionamento abaixo, obtido a partir
da aplicação de engenharia reversa no banco de dados com a ferramenta
Aqua Data Studio, foi possível observar melhor as tabelas no banco de dados
do ERP (Figura 10).
46
Figura 10: Diagrama Entidade-Relacionamento da tabela de Clientes e Grupo
de Clientes
Para a análise e mineração de dados dos clientes, mostrou-se
necessário o levantamento das seguintes colunas nas tabelas de Clientes e
Grupo de Clientes. A Tabela 1 apresenta os campos necessários para a
análise dos clientes e categorias.
Coluna
Código do Cliente
Nome da Categoria
do Cliente
Possuí Atraso
Limite de Crédito
Descrição
Identificador único do Cliente usado
como ID de Caso na ferramenta de
mineração
Identificador da Categoria do
Clientes (Carregado a partir da
relação com a tabela de Grupo de
Clientes)
Indica se o cliente já possuiu algum
atraso em transações dentro da
empresa (Sim/Não)
Valor do Limite de Crédito liberado
para o Cliente
Tipo de Dado
Tamanho
Inteiro
-
Texto
60
Texto
3
Decimal
11,4
Tabela 1: Campos necessários dos Clientes e suas Categorias
Algumas informações tiveram que ser tratadas antes de exportar pois
havia diversos dados que não agregavam conhecimento ao processo então
foram usado os conceitos do processo de ETL mencionado anteriormente.
47
A única coluna na qual teve em seu conteúdo, alguma necessidade de
aplicação de pré-processamento de dados, foi a “Código do Cliente”.
Após esse tratamento, foi executado o processo de exportação pela
ferramenta PgAdmin, gerando os conjuntos de registros necessários. Segue
abaixo uma pequena amostra do resultado (Tabela 2).
Código de Cliente
Categoria de Cliente
Possuí Atraso
Limite de crédito
502964
Padrão
Sim
1500.00
503033
ELETRICISTAS
Não
4205.00
506447
Sim
500.00
506525
Padrão
REPRESENTANTE
COMERCIAL
Não
5000.00
506964
Padrão
Sim
300.00
510680
SERRALHEIROS
Não
1500.00
510689
Padrão
Não
50000.00
511340
ARQUITETOS
Sim
1600.00
511430
SERRALHEIROS
Não
10000.00
507815
MOTORISTAS
Não
1087.76
508074
PEDREIROS
Não
550.00
510815
Padrão
Não
5000.00
510831
Padrão
Não
9000.00
Tabela 2: Amostra dos dados extraídos dos Clientes
O conjunto de dados acima foi copiado diretamente do arquivo CSV
(formato de arquivo separado por um delimitador, comumente usa-se vírgula
ou ponto e virgula), com toda a carteira de clientes do grupo de empresas
exportado.
Para analisar e descobrir padrões nas vendas associadas de produtos
das lojas, precisa-se obter informações destas, dos produtos e de suas
categorias. Uma venda é composta por duas tabelas, uma com as
informações gerais da vendas e outra com os itens. A tabela de itens está
associada diretamente com a tabela de produtos na qual nos fornecerá o
código do mesmo. Cada produto está agrupado obrigatoriamente em uma
categoria, portanto, deve-se buscar o nome desta.
Através da imagem
abaixo, é possível compreender melhor, utilizando o diagrama que foi gerado,
utilizando a ferramenta Aqua Data Studio com a aplicação de engenharia
reversa sobre o banco de dados.
48
Figura 11: Diagrama Entidade-Relacionamento das tabelas envolvidas em
uma Venda
Após isso avaliou-se os campos necessários e chegou-se a conclusão
que seriam os seguintes:
Observa-se que a quantidade de colunas trazidas nesta consulta
(Tabela 3) é maior que a necessidade imposta pelo problema, porém como
serão realizadas diversas analises em busca de conhecimento para
posteriormente sugerir qual pode responder melhor a pergunta, é importante
detalhar a transação em busca de maior precisão no resultado.
As colunas onde foi aplicado algum tipo de processamento foram:
•
Loja: Teve os nomes reais das empresas alterado para “Loja 1, “Loja 2“,
“Loja 3” e “Loja 4”.
•
Código do Cliente: Aplicado mesmo tratamento do problema anterior, o da
análise de inadimplência;
•
CEP: Removido a máscara e mantido somente os números;
•
Código do Produto: Aplicado o mesmo tratamento do Código do Cliente,
também já mencionado acima;
49
Coluna
Descrição
ID da Venda
Identificador único da Venda
Inteiro
Loja
Loja em que ocorreu a Venda
Texto
60
Código do Cliente
Código do Cliente
Texto
60
UF
Unidade Federativa do Cliente
Texto
2
Cidade
Cidade do Cliente
Texto
60
CEP
Tipo de Pessoa
(PF/PJ)
Data da Venda
CEP do Cliente
Tipo de Pessoa (Pessoa Física-PF / Pessoa
Jurídica-PJ)
Data da Venda
Texto
8
Texto
2
Total da Venda
Condição de
Pagamento
Código do Produto
Categoria do
Produto
Quantidade
Valor Total da
Venda
Total da Venda
Tipo de Dado
Tamanho
Timestamp
Decimal
Condição de Pagamento da Venda
Código do Item na Venda
Categoria do Produto Vendido
Quantidade do Item na Venda
Texto
60
Texto
60
Texto
60
Decimal
Valor Total daquele Item dentro da Venda
Decimal
Tabela 3: Campos necessários das Vendas, Produtos e Categorias de
Produtos
Após levantar as colunas necessárias, efetuar o tratamento e exportar,
deparou-se com o seguinte amostra de resultado (Tabela 4 e Tabela 5).
ID da
Venda
Loja
Código do
Cliente
UF
Cidade
CEP
Tipo de Pessoa
(PF/PJ)
2440930
Loja 3
509020
RS
Ijuí
98700000
PF
2439637
Loja 2
519819
RS
Ijuí
98700000
PF
2440971
Loja 1
522792
RS
Ijuí
98700000
PF
2440214
Loja 2
509020
RS
Ijuí
98700000
PF
2440274
Loja 3
509020
RS
Ijuí
98700000
PF
2452335
Loja 1
509020
RS
Ijuí
98700000
PF
2443143
Loja 2
509020
RS
Ijuí
98700000
PF
2444796
Loja 1
509020
RS
Ijuí
98700000
PF
2443012
Loja 1
509020
RS
Ijuí
98700000
PF
2443012
Loja 1
509020
RS
Ijuí
98700000
PF
2443012
Loja 1
509020
RS
Ijuí
98700000
PF
2444810
Loja 1
509020
RS
Ijuí
98700000
PF
2443169
Loja 2
509020
RS
Ijuí
98700000
PF
Tabela 4: Primeira parte da amostra dos dados exportados das Vendas
50
Data da
Venda
Total
da
Venda
01/04/13
7.00
28/03/13
90.00
01/04/13
590.00
28/03/13
Condição de
Pagamento
Código
do
Produto
Categoria do
Produto
Quanti
dade
Valor
Total
do
item
na
Venda
A VISTA
546881
Ferro E Tubo Indust
1.00
7.00
CRED 01X SJ
CRED 01X 07
DD SJ
536706
Tijolos
0.16
60.00
538507
Motores E Acess.
1.00
590.00
24.00
A VISTA
538937
Lampadas El_trico
1.00
6.00
28/03/13
240.00
A VISTA
536818
Chapas (Metais)
8.00
240.00
22/04/13
4.00
A VISTA
545154
Fer Corte,Perf,Acess
1.00
4.00
04/04/13
115.10
A VISTA
544914
Fogoes E Acessorios
1.00
11.00
08/04/13
8.00
A VISTA
539180
Interr. E Tomadas
2.00
8.00
04/04/13
6.26
A VISTA
549689
Todas Porcas
12.00
0.24
04/04/13
6.26
CRED 01X SJ
536334
4.00
3.36
04/04/13
6.26
CRED 01X SJ
549412
Buchas
Todos Paraf Fend
Mad
24.00
0.96
08/04/13
9.00
A VISTA
537739
Todos Acess Pintura
1.00
9.00
04/04/13
43.00
CRED 03X SJ
546718
Linha Pvc Esgoto
0.50
43.00
Tabela 5: Segunda parte da amostra dos dados exportados das Vendas
Os dados acima foram extraídos diretamente do arquivo exportado no
formado CSV, sendo que é somente uma fração dos mesmos para fins de
amostra.
4.6
Implementação de um Data Warehouse
Após todos os dados terem sido exportados para o formato CSV,
deve-se importá-los para um Data Warehouse. Foi definido que esse
depósito de dados seria criado no SGBD Oracle, o que facilita e permite toda
a utilização das ferramentas de mineração de dados.
Para a concepção criou-se as tabelas necessárias no banco de dados
Oracle
utilizando
o
próprio
SQLDeveloper,
ferramenta
gráfica
para
administração deste. O modelo de dados utilizado para a criação dessas
tabelas é o mesmo descrito no tópico anterior de Exportação e
Processamento dos Dados, utilizando-se dos meta-dados da própria
exportação para gerar um espelho para a importação.
Por exemplo, para a busca de respostas da primeira pergunta
referente a análise de crédito foram exportadas 4 colunas, as quais são:
•
Código do Cliente, tipo inteiro;
51
•
Nome da Categoria do Cliente, tipo texto de tamanho 60;
•
Possuí Atraso, tipo texto de tamanho 3;
•
Limite de Crédito, tipo decimal com tamanho 11 e 4 casas
decimais;
Criou-se a tabela no Data Warehouse baseado nestes. O script
resultante do processo foi:
1. -------------------------------------------------------2. -- DDL for Table C_BPartner
3. -------------------------------------------------------4. CREATE TABLE "TCC"."C_BPartner"
5. (
6.
CaseID
INT,
7.
bp_group
VARCHAR2(60 BYTE),
8.
possui_atraso VARCHAR2(3 BYTE),
9.
credit_limit
DECIMAL(11, 4)
10. );
A mesma abordagem foi utilizada para o outro problema proposto da
Cesta de Produtos.
4.7
Aplicação dos Modelos de Mineração de Dados e seus Algoritmos
Nesta etapa foram executadas as atividades referentes a aplicação
dos algoritmos, desde a criação das fontes de dados, modelos de mineração,
parametrização e entrada de dados para os algoritmos e por fim,
processamento e saída dos resultados.
A ferramenta utilizada, já definida previamente, é o Oracle Data Miner
(ODM). O ODM trabalha diretamente com o conceito de fluxo de trabalho, ou
seja, são determinadas etapas, nas quais, as coisas vão acontecendo, sendo
quase que, totalmente, dependente uma da outra. Cada etapa pode-se
chamar de nó.
O nó inicial exigido deve ser a fonte dos dados a serem minerados,
portanto deve ser criado um tipo de componente que é responsável por ligar
o ODM ao data warehouse e retornar todos os registos da fonte selecionada,
seja ela tabela ou conjunto de tabelas, podendo ser até uma view. Após
52
criado o nó inicial, deve-se inserir o modelo de mineração de dados
escolhido.
Esse modelo é um objeto qualificado no sistema pela técnica de MD
utilizada e encapsulado nele, tem-se o algoritmo desejado. A figura 12
descreve esse modelo de forma simplificada.
Data Mining Model
Input &
Params
Algorithm
Figura 12: Modelo de objeto usado pelo ODM para MD
Por fim, o último passo é executar o nó modelo e todos os seus nós
superiores a fim de obter os resultados.
4.7.1 Aplicação do algoritmo de Árvore de Decisão na análise de
grupos de risco à inadimplência
Para esta aplicação, definiu-se o algoritmo de árvore de decisão
devido ao fato deste, constituir uma técnica muito poderosa e amplamente
utilizada em problemas de classificação. Sua descritiva representação, de
todo o conhecimento adquirido por via de regras, é também uma vantagem
muito interessante, ainda mais que se pode expressá-las em linguagem
natural, facilitando o entendimento por parte dos usuários.
Colocando
este
algoritmo
o
ODM
depara-se
com
algumas
necessidades de parametrização em duas frentes, sendo elas: entrada de
dados e parametrização avançada do algoritmo. Na entrada de dados, foi
utilizado como fonte, a tabela de clientes, criada antes do processo de
importação de dados para o Data Warehouse, trazendo todo o conjunto de
53
dados nela contidos, sem restrição e/ou apenas fração destes. No campo que
exige um ID de Caso, que é uma espécie de identificador único do registro
classificado, à coluna “Código do Cliente” e para os registros alvos da
classificação, à coluna “Nome da Categoria do Cliente”.
Partindo então, de uma implementação padrão deste modelo, foi-se
ajustando os parâmetros, até chegar a um nível de satisfatibilidade de
resultado mais próxima do objetivo possível.
Ao longo de todo o processo, foram executadas diversas vezes, todas
as etapas, com diversas combinações dos principais parâmetros, a fim de
ajuste, melhora no resultado e, também, pelo fato de que o algoritmo se
adapta e agrega conhecimento, através de treinamento.
A parametrização estabelecida como satisfatória, após o tunning, foi a
seguinte:
o Homogeneity Metric: Métrica utilizada para buscar a melhor forma
de quebrar as folhas da árvore.
o Valor definido: Gini
o Maximum Depth: Especifica a profundidade da árvore, contando
da raiz até a ultima folha.
o Valor definido: 4
o Minimum Percent of Records in a Node: Mínimo de porcentagem
de registos em um nó.
o Valor definido: 1%
o Minimum Percent of Records for a Split: Mínimo de registros
para gerar uma nova regra.
o Valor definido: 5%
A Figura 13 mostra de forma mais detalhada o fluxo de trabalho
definido.
Figura 13: Fluxo de trabalho do problema de Analise de Risco à
Inadimplência
54
4.7.2 Aplicação do algoritmo Apriori na busca de novos padrões
associativos nas vendas de produtos
O processo de implementação desse modelo com seu algoritmo no
ODM, é muito semelhante ao anterior, respeitando, quase todas, as mesmas
etapas de implementação, porém, divergem no modelo e algoritmo de
mineração utilizado e agrega uma etapa de filtro de dados.
A origem dos itemsets utilizados como fonte é o data warehouse,
tabela de vendas. A tabela de vendas mantém os dados desta,
horizontalmente organizados, isso significa que para uma transação de venda
com cinco itens, tem-se cinco linhas armazenadas com todas as informações
da venda e só mudando algumas colunas como preço, quantidade, produto e
sua categoria. Isso melhora a performance de execução de todo o fluxo.
No ODM deve-se definir então além do conjuntos de itemsets, quais
serão os Transactions IDs e Item IDs. O primeiro refere-se a venda, sendo o
identificador único da venda e o segundo, o atributo que foi agrupado, no
nosso caso o produto e a categoria de produto.
A parametrização avançada interna do algoritmo, como medida de
confiança, suporte, tamanho da regra de associação, variou de acordo com o
problema,
para
a
associação
de
produtos,
utilizou-se
a
seguinte
configuração:
o Maximum Rule Lenght: Valor máximo de associações frequentes
considerando os suporte mínimo.
o Valor definido: 3. Significa que o algoritmo considerou até no
máximo 3 produtos e ou categorias vendidas juntas, com
certa frequência.
o Minimum Confidence (%): Confiança mínima da regra.
o Valor definido: 5%
o Minimum Suport (%): Suporte mínimo de casos de associação.
o Valor definido: 0.4%
Já para o problema de associação de categoria de produtos, pode-se
utilizar valores maiores de confiança e suporte, visto que o número de valores
distintos é bem menor que o de produto.
o Maximum Rule Lenght: Valor máximo de associações frequentes
considerando os suporte mínimo.
55
o Valor definido: 3
o Minimum Confidence (%): Confiança mínima da regra.
o Valor definido: 10%
o Minimum Suport (%): Suporte mínimo de casos de associação.
o Valor definido: 1.2%
A etapa agregada nessa implementação consiste na inserção de um
elemento para restringir o número de colunas resultantes do nó inicial (fonte
de dados), para não entregar ao algoritmo, dados irrelevantes para sua
execução. Esse elemento nada mais é para o ODM, que um filtro de colunas,
pois como comentado no capítulo de extração de dados, foram trazidas mais
informações para DW que o problema requeria, a fim de obter resultados
mais precisos e ricos em detalhes, entretanto, ocorreu a sobra destas,
necessitando assim, serem desconsideradas.
O número de itens de transações de vendas utilizadas para mineração
de dados, foi de aproximadamente 180 mil, sendo todas de um único período
de meses, escolhido, baseado em dois fatores: possibilidade de predição
correta dos resultados e a não obsolescência dos dados. O período, também
por motivos de confidencialidade, não foi informado. A Figura 14 apresenta
todo o fluxo e as etapas destas duas atividades de mineração de dados.
Figura 14: Fluxo de trabalho da busca por Associação de Produtos nas
Vendas
56
5 ANÁLISE DOS RESULTADOS E FEEDBACK
Nesta etapa foram avaliados todos os resultados obtidos através da
aplicação dos métodos de mineração de dados. Objetivou-se, ao longo de
todo o desenvolvimento, resultados os quais fossem úteis para a empresa na
tomada de decisões, o que agregou uma exigência elevada aos resultados.
Um exemplo de saída de processamento adequado, seria poder dizer, com
base na análise que clientes da Categoria 1 tem mais probabilidade à
inadimplência que clientes da Categoria 2, e também aprofundar essa
afirmação, especificando faixas de valores e quantificando os casos que
ocorrem mais frequentemente, retornando assim um resultado preciso,
detalhado e extremamente útil.
Segundo Brusso (2000), todo o algoritmo de mineração de dados
incorpora algum tipo de medida para informar o quanto interessante é um
determinado padrão. Essas medidas que são utilizadas para avaliar se um
resultado deve ser mantido ou pode ser descartado. Um dos maiores
problemas localizados nas áreas de descoberta de conhecimento, é o
desenvolvimento de medidas relevantes de interesse, sendo que, deve-se
sempre tentar mostrar aos usuários, informações, as quais tenham sentido e
sejam interessantes no contexto aplicado.
Pode-se classificar as medidas de interesse em objetivas e subjetivas.
As subjetivas são as que dependem, além dos padrões descobertos pela
regra e os dados utilizados, uma avaliação por parte do usuário. Porém, cada
usuário pode avaliar de uma forma, tornando o resultado interessante para
alguns e irrelevantes para outros, baseando-se em critérios pessoais. Um
ponto a favor da subjetividade é o de que, o usuário só considera uma regra
interessante, quando for útil de alguma forma para si e/ou, conseguirá tirar
algum proveito dela.
Já as medidas objetivas são pré-estabelecidas e busca-se um
determinado
resultado,
não
atingindo-o,
automaticamente
este
é
desconsiderado. Pode-se fazer analogia com filtros de pesquisa, os quais
definem previamente o que se espera de retorno, assim os registros são
obrigados a atender os critérios definidos.
57
Serão utilizados ambas as medidas de interesse, nos resultados
obtidos pelo primeiro problema, a análise mais adequada é a subjetiva, visto
que as regras geradas foram se alterando até chegar em um resultado útil,
portanto, não foram pré-estabelecidas por conhecimento prévio. No entanto,
a análise de cesta de produtos tem caráter mais objetivo. Todo o
conhecimento obtido partiu de um escopo de definições e medidas, essas
exigidas na aplicação do modelo como base para o resultado. Caso não
atendidas, automaticamente estavam desclassificadas, sem aplicar qualquer
tipo de análise subjetiva.
É necessário salientar também, que o conhecimento obtido, é
constituído de regras que denotam dois tipos de comportamentos, um deles é
que pode chamar-se de obvio, ou já conhecido. Este pode parecer
desnecessário, mas não é, e foi agregado junto a todo o processo de análise,
pois muitas vezes, sabe-se previamente, que determinado padrão ocorre,
mas não consegue-se quantifica-lo, tornando então esse conhecimento óbvio
quase que infundado. O outro tipo é o de comportamentos implícitos obtidos,
ou seja, são padrões desconhecidos até pelos especialistas, tornando-os
assim, importantíssimos e valiosos para o negócio, desviando da
previsibilidade e gerando diferenciais.
5.1
Análise de grupos de risco à inadimplência
Esta etapa de análise foi feita apoiada, fundamentalmente, nos
conhecimentos obtidos durante as etapas de pesquisa e implementação do
modelo de Classificação, juntamente com o algoritmo de Árvore de Decisão.
A Figura 15 a seguir, é a árvore gerada a partir do processamento efetuado e
foi mais abaixo, detalhada.
58
Figura 15: Resultado da implementação do algoritmo Árvore de Decisão
Abaixo tem-se as figuras 16, 17, 18 dos resultados extraídos
diretamente o ODM, com o gráfico de suporte(%) para o nó selecionado.
Figura 16: Resultado gerado para o Nó 2
59
Figura 17: : Resultado gerado para o Nó 8
Figura 18: Resultado gerado para o Nó 1
Como a árvore está segmentada em nós, foi explicado o conhecimento
transpassado por cada nó e qual é a conclusão diante destes. Um detalhe
importante é que só foram considerados os grupos com mais de 1% de
suporte e, também, mais de um caso por grupo associação. O detalhamento
começará a partir do nó número um, visto que o nó zero somente agrupa os
registros por categoria, não agregando informações úteis, nesse nível.
60
A análise de resultados também ficou restrita nos nós filhos do nó
número 1, pois como o objetivo é identificar os grupos de risco com
inadimplência, não tem necessidade de avaliar os não inadimplentes.
a. Nó 1: No primeiro nó, a única classificação feita foi utilizando o
campo que define se o cliente possuiu ou não alguma
inadimplência. Portanto os nós da esquerda são os que
possuíram e os da direita não. Os grupos com maior ocorrência
de inadimplência, baseado no primeiro, estão logo abaixo, após
os valores de total de registro e suporte:
a. PADRÃO, com 3025 clientes, sendo 79,35% do total de
clientes deste nó;
b. APOSENTADOS, com 157 clientes, sendo 4,11% do total
de clientes deste nó;
c. AGRICULTORES, com 109 clientes, sendo 2,85% do
total de clientes deste nó;
d. EMPRESAS, com 40 clientes, sendo 1,04% do total de
clientes deste nó;
TOTAL DE REGISTROS: 3812;
SUPORTE: 56,85%;
b. Nó 2: O nó número dois, já passou a classificar os registros por
inadimplentes e limite de crédito superior a R$ 80,04. Para essa
classificação, os grupos mais inadimplentes foram:
a. PADRÃO, com 2969 clientes, sendo 79,30% do total de
clientes deste nó;
b. APOSENTADOS, com 154 clientes, sendo 4,11% do total
de clientes deste nó;
c. AGRICULTORES, com 108 cliente, sendo 2,88% do total
de clientes deste nó;
d. EMPRESAS, com 40 clientes sendo 1,06% do total de
clientes deste nó;
TOTAL DE REGISTROS: 3744;
SUPORTE: 55,84%;
61
c. Nó 6: O nó número seis aplica os filtros de inadimplentes e
limite de crédito inferior a R$ 80,04. Para essa classificação, os
grupos mais inadimplentes foram:
a. PADRÃO, com 56 clientes, sendo 82,35% % do total de
clientes deste nó;
b. APOSENTADOS, com 3 clientes, sendo 4,41% do total
de clientes deste nó;
c. PENSIONISTAS, com 2 clientes, sendo 2,94% do total
de clientes deste nó;
TOTAL DE REGISTROS: 68;
SUPORTE: 1,01%;
d. Nó 7: O nó sete é filho do nó seis, o qual agrupava os registros
que possuíam valores de Limite de Crédito superior a R$ 80,04
e possuía inadimplência. O filtro tornou então mais precisa a
classificação e restringiu os valores na faixa de R$ 80,05 até R$
401,41. Os grupos de clientes são:
a. PADRÃO, com 564 clientes, sendo 82,57% do total de
clientes deste nó;
b. APOSENTADOS, com 36 clientes, sendo 5,27% do total
de clientes deste nó;
c. AGRICULTORES, com 21 clientes, sendo 3,07% do total
de clientes deste nó;
d. PENSIONISTAS, com 10 clientes, sendo 1,46% do total
de clientes deste nó;
e. PROFESSORES, com 9 clientes, sendo 1,31% do total
de clientes deste nó;
TOTAL DE REGISTROS: 683;
SUPORTE: 10,19%;
e. Nó 8: O nó oito é filho do nó seis também, o qual agrupava os
registros que possuíam valores de Limite de Crédito superior a
R$ 80,04 e possuía inadimplência. Com o nó 7 restringindo a
faixa de valores para R$ 80,05 até R$ 401,41, o nó 8 ficou com
os limites de crédito superiores a R$ 401,41 e os grupos
enquadrados nessa classificação foram:
62
a. PADRÃO, com 2405 clientes, sendo 78,56% do total de
clientes deste nó;
b. APOSENTADOS, com 118 clientes, sendo 3,85% do total
de clientes deste nó;
c. AGRICULTORES, com 87 clientes, sendo 2,84% do total
de clientes deste nó;
d. EMPRESAS, com 37 clientes, sendo 1,20% do total de
clientes deste nó;
e. FUNCIONÁRIOS PÚBLICOS, com 34 clientes, sendo
1,11% do total de clientes deste nó;
f. SERRALHEIROS, com 34 clientes, sendo 1,11% do total
de clientes deste nó;
TOTAL DE REGISTROS: 3061;
SUPORTE: 45,65%;
Com os nós inadimplentes analisados, pode-se chegar as seguintes
conclusões:
•
Clientes
contidos
no
grupo
chamado
PADRÃO,
são
disparadamente, os mais inadimplentes;
•
Clientes contidos no chamado PADRÃO e com limite de crédito
superior a R$ 401,41 são mais propensos a inadimplência que
os mesmos clientes com limite de crédito inferior a esse valor, e
menos propensos ainda quando considerado valores abaixo de
R$ 80,04;
•
Grupo de clientes APOSENTADOS é o segundo grupo com
maior probabilidade de atrasos, seguido de AGRICULTORES;
•
Considerando a limites de crédito inferior a R$ 80,00, o grupo
de
AGRICULTORES
cai
para
quarta
posição,
sendo
ultrapassado pelo grupo de PENSIONISTAS;
•
Para a faixa de valores de limite de crédito entre R$ 80,05 até
R$ 401.41, o ranking se altera quase que por completo, se
comparado ao limite de crédito superior a R$ 401,41. Os grupos
EMPRESAS, FUNCIONARIOS PÚBLICOS e SERRALHEIROS
tem seu lugar ocupado por PENSIONISTAS, PROFESSORES e
63
PEDREIROS, respectivamente, entre os mais propensos à
inadimplência nessa situação.
5.2
Análise de resultados da busca de padrões associativos de
produtos e suas categorias nas vendas
Os resultados avaliados nesta etapa, são oriundos diretamente do
processo de implementação do algoritmo e da ferramenta ODM. Nenhum
tratamento externo foi efetuado. A análise foi segmentada em duas partes, a
primeira avaliando os padrões obtidos através da análise da associação dos
produtos em uma venda e, a segunda, a mesma coisa, voltada porém, para
as categorias dos produtos vendidas juntas.
As medidas de interesse consideradas relevantes e que serão
trabalhadas para gerar conhecimento de negócios serão as três principais
retornadas pelo algoritmo, ou seja, Suporte, Confiança e lift.
A Tabela 6 apresenta as associações obtidas dos produtos para
posterior análise.
Tabela 6: Resultados da Associação de Produtos, gerado pelo algoritmo
Apriori
A primeira coluna da tabela indica qual é o(s) antecedente(s)
encontrado(s). Esse antecedente refere-se a um valor único, ou uma
64
combinação com no máximo três (parametrizado na implementação) valores,
que compõem a primeira parte da associação. A segunda coluna, chamada
consequent é o valor associado com frequência da primeira, atendendo o
suporte necessário.
As outras três são as medidas utilizadas para obtenção e avaliação do
conhecimento gerado, principalmente a lift, na qual nos indicará, com quantas
vezes a mais tem o registro da coluna chamada consequent, tem chance de
ocorrer quando o registro da coluna antecedent ocorre. O suporte nos
indicará a porcentagem de vezes em que as associações ocorrem e, por fim,
a confiança, indicará qual é a chance dos valores da coluna consequent
ocorrerem, quando os valores da antecedent acontecerem.
Pode-se observar todas as medidas e suas atenuações, de acordo
com as regras de associação logo abaixo, de forma mais clara com o uso da
figura 20. Um fato interessante é que nestes resultados, as colunas Lift e
Confiança são decrescentemente proporcionais, em vários casos, quando
ordenadas pelos valores de Lift. No entanto, o mesmo não ocorre com as
medidas de suporte. Isso porém é só uma coincidência, pois o lift não
influencia no Suporte.
LiO 535942 AND 539197 -­‐
539177 AND 539197 -­‐
535942 -­‐> 539177 539177 -­‐> 535942 535942 AND 539177 -­‐
539177 -­‐> 539197 539197 -­‐> 539177 535942 -­‐> 539197 539197 -­‐> 535942 540113 -­‐> 540297 540297 -­‐> 540113 545481 -­‐> 545488 545488 -­‐> 545481 545488 -­‐> 545490 545490 -­‐> 545488 140.00 120.00 100.00 80.00 60.00 40.00 20.00 0.00 Confiança (%) Suporte (%) Figura 19: Exemplo de Regras Associativas geradas pelo algoritmo Apriori
65
As medidas de Lift
e Confiança são dependentes dos valores
retornados no Suporte, porém o inverso não é verdadeiro e pode ser
observado no gráfico abaixo (Figura 20).
Suporte 1.00 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 Figura 20: Variação do suporte com relação ao Lift
Transcrevendo os cinco casos com maior lift que é uma das medidas
que mais tem importância e gera conhecimento útil a empresa, obteve-se as
seguintes constatações.
a. Para o total de vendas, tem-se em 0,46% dos casos vendas
associadas dos produtos 535942 e 539197 com 539177.
Levando-se em consideração as vendas de somente os
produtos 535942 e 539197 juntos, tem-se 87,60% de chances
de que o cliente leve também o produto 539177. Um cliente que
adquirir os produtos 535942 e 539197 juntos, aumenta em
123,57 vezes as chances de comprar também o produto
539177.
b. Para o total de vendas, tem-se em 0,46% dos casos vendas
associadas dos produtos 539177 e 539197 com 535942.
Levando-se em consideração as vendas de somente os
66
produtos 539177 e 539197 juntos, tem-se 82,60% de chances
de que o cliente leve também o produto 535942. Um cliente que
adquirir os produtos 539177 e 539197 juntos, aumenta em
115,78 vezes as chances de comprar também o produto
535942.
c. Para o total de vendas, tem-se em 0,56% dos casos vendas
associadas do produto 535942 com 539177. Levando-se em
consideração as vendas de somente o produtos 535942, temse 79.61% de chances de que o cliente leve também o produto
539177. Um cliente que adquirir o produto 535942, aumenta em
112.30 vezes as chances de comprar também o produto
539177.
d. Para o total de vendas, tem-se em 0,56% dos casos vendas
associadas do produto 539177 com 535942. Levando-se em
consideração as vendas de somente o produtos 539177, temse 80.12% de chances de que o cliente leve também o produto
535942. Um cliente que adquirir o produto 539177, aumenta em
112.30 vezes as chances de comprar também o produto
535942.
e. Para o total de vendas, tem-se em 0,46% dos casos vendas
associadas dos produtos 535942 e 539177 com 539197.
Levando-se em consideração as vendas de somente os
produtos 535942 e 539177 juntos, tem-se 81, 60% de chances
de que o cliente leve também o produto 539197. Um cliente que
adquirir os produtos 535942 e 539177 juntos, aumenta em
110,34 vezes as chances de comprar também o produto
539197.
Para o problema da busca de padrões na associação de categorias de
produtos, tem-se os seguintes resultados observados na tabela 7 abaixo,
lembrando que o suporte mínimo utilizado foi de 1.2% e a confiança 10% no
momento da implementação e a saída de dados é diretamente o ODM.
67
Tabela 7: Resultado da Associações de Categorias de produtos nas Vendas
70 60 50 40 30 20 LiO 10 Confiança (%) 0 Suporte (%) Figura 21: Resultado das Regras Associativas satisfatórias geradas pelo
algoritmo Apriori
Neste caso, diferentemente do anterior, como exibe o gráfico, não
observou-se nenhuma relação significativa entre os valores de Lift e
Confiança.
O escopo e a definição do que é cada elemento na tabela foi feita
anteriormente, na análise da associação de produtos, portanto, aqui somente
a análise dos resultados foi feita. Os conhecimentos obtidos foram foram:
a. Para o total de vendas, tem-se em 2.11% dos casos de vendas
associadas
da
categoria
Cimento
com
Cal.
Levando-se
em
consideração as vendas de somente a categoria Cimento, tem-se
68
26,86% de chances de que o cliente leve também a categoria Cal. Se
um cliente adquirir a categoria Cimento, ele aumenta em 8.14 vezes
as chances de comprar também a categoria Cal.
b. Para o total de vendas, tem-se em 2.11% dos casos de vendas
associadas
da
categoria
Cal
com
Cimento.
Levando-se
em
consideração as vendas de somente a categoria Cal, tem-se 63.95%
de chances de que o cliente leve também a categoria Cimento. Se um
cliente adquirir
a categoria Cal, ele aumenta em 8.14 vezes as
chances de comprar também a categoria Cimento.
c. Para o total de vendas, tem-se em 1.31% dos casos de vendas
associadas da categoria Isolantes Inst Eletr com Condutores.
Levando-se em consideração as vendas de somente a categoria
Isolantes Inst Eletr, tem-se 39.38% de chances de que o cliente leve
também a categoria Condutores. Se um cliente adquirir a categoria
Isolantes Inst Eletr, ele aumenta em 6.91 vezes as chances de
comprar também a categoria Condutores.
d. Para o total de vendas, tem-se em 1.31% dos casos de vendas
associadas da categoria Condutores com Isolantes Inst Eletr.
Levando-se em consideração as vendas de somente a categoria
Condutores, tem-se 23.01% de chances de que o cliente leve também
a categoria Isolantes Inst Eletr. Se um cliente adquirir a categoria
Condutores, ele aumenta em 6.91 vezes as chances de comprar
também a categoria Isolantes Inst Eletr.
e. Para o total de vendas, tem-se em 1.28% dos casos vendas
associadas da categoria Linha Pvc Soldavel com Linha Pvc Roscavel.
Levando-se em consideração as vendas de somente a categoria Linha
Pvc Soldavel, tem-se 25.77% de chances de que o cliente leve
também a categoria Linha Pvc Roscavel. Se um cliente adquirir a
categoria Linha Pvc Soldavel, ele aumenta em 5.94 vezes as chances
de comprar também a categoria Linha Pvc Roscavel.
Foram avaliados só os cinco casos de maior relevância, servindo como
base para os outros, pois todos seguem a mesma linha. Uma curiosidade é
que o resultado gerou duplas de categorias de produtos, mostrando que por
exemplo a regra Cimento -> Cal não é a mesma coisa que Cal -> Cimento, e
69
o que justifica isso é o seu percentual de Suporte, pois tem-se uma grande
diferença entre ambos. Essa duplicidade ocorrida somente invertendo a
ordem de associação foi intencional, pois como dito na etapa de extração dos
dados, as vendas não foram ordenadas por produtos e sim, mantido na
sequência em que foram vendidos, justamente para explicar que o percentual
de quem compra cimento e cal junto é maior que quem compra cal e cimento.
5.3
Submissão dos resultados e feedback
O objetivo do presente trabalho é a extração de informações de cunho
decisório, portanto todo o conhecimento acima obtido, com uma ressalva
somente, foi diretamente entregue aos diretores da empresa para que os
mesmos encaminhem aos seus gerentes e responsáveis. O porém é que
estes foram originados do uso dos conjuntos de dados reais extraídos do
repositório e minerados, sem qualquer tipo de aplicação de marcara nos
valores, como foi feito no presente trabalho, mas mesmo assim, os valores e
porcentagens obtidos, são exatamente os mesmos e, só alteraram-se os
valores das colunas com mascará.
O feedback dado pela empresa, após alguns dos conhecimentos
terem sido analisados, foi de que, algumas políticas do setor de crediário
seriam revistas no que tange os processos de liberação de crédito, mais
especificamente, os valores de limites de crédito juntamente com os grupos
de risco. Estes foram reajustados de acordo com os novos conhecimentos.
Referente as vendas de produtos e categoria de forma associada, não foi
obtido nenhum retorno até a conclusão deste trabalho.
70
6 CONCLUSÕES E TRABALHOS FUTUROS
Os processos de Descoberta de Conhecimento em Banco de Dados,
mostram-se
extremamente
eficientes
na
busca
de
novos
padrões,
conhecimento diferenciado e relevante. A empresas armazenam enormes
quantidades de dados provenientes de seus sistemas de gestão, porém na
maioria das vezes, não consegue tirar proveito destes com os métodos
convencionais de relatórios e planilhas.
Diante da necessidades de diferenciais mercadológicos, afirma-se que
nesse concorrido mundo dos negócios, quem detém um maior conhecimento
está consequentemente apto a tomar as melhores decisões, com maior
precisão de acerto, seja ela, nas suas campanhas de vendas, captação de
clientes, marketing, analises de risco de crédito, investimentos e outros,
portanto obter esse conhecimento é extremamente importante.
Os resultados obtidos mostraram-se concretos e também com alto
grau de coesão, principalmente quando comparado com conhecimentos
óbvios pré-existentes. Portanto com a aplicação de Mineração de Dados, foi
possível conhecer novos padrões de vendas de produtos, de suas categorias
e também de grupos de clientes que possuem maior propensão à
inadimplência. Todos os resultados foram minunciosamente analisados,
atingindo ótimos padrões de confiança e suporte, os quais trouxeram um
nível alto de segurança
Para trabalhos futuros, pode-se estender a etapa de analise de
resultado, com a utilização de BI (em inglês, Business Inteligence). Isso
poderá potencializar o conhecimento extraído pelos processos de MD,
tornando-os mais compreensíveis aos usuários e também com inúmeras e
fáceis possibilidade de visualizações.
Trabalhar os algoritmos Apriori e Árvore de Decisão de forma mais
específica, customizar seu código e suas saídas de resultados, visando maior
eficiência, menor custo computacional e
melhores resultados, ou pelo
menos, resultados mais detalhados. Essa é outra possibilidade de trabalhos
futuros, na qual foi possível observar e constatar necessário em alguns
casos.
71
REFERÊNCIAS BIBLIOGRÁFICAS
AGRAWAL, R.; SRIKANT, R. “Fast Algorithms for Mining Association
Rules”. Chile, 2004. Proceedings of the 20th VLDB Conference.
AQUAFOLD. “Aqua Data Studio Overview”, 2014. Disponível em:
<http://www.aquafold.com/aquadatastudio.html>. Acesso em: 10 outrubro
2013.
BERRY, M. J. A.; LINOFF, G. “Mastering Data Mining Art and Science of
Customer Relationship Management”, Ed. Wiley, 2000.
BERRY, M. J. A.; LINOFF, G. “Data Mining Techniques. For Marketing,
Sales and Customer Support”. Wiley Computer Publishing, 1997.
BRAMER, M. “Undergraduate Topics in Computer Science - Principles of
Data Mining”. Springer, 2007.
BRIN, S.; SILVERSTEIN, C.; MOTWANI, R. “Beyond Market Baskets:
Generalizing Association Rules to Dependence Rules”. Data Mining and
Knowledge Discovery, v. 2, p. 39- 68, 1998.
BRAUNER, Daniela F. “O Processo de Descoberta de Conhecimento em
Banco de Dados: Um Estudo de Caso Sobre os Dados da Ufpel.
Pelotas”. Universidade Federal de Pelotas, 2003.
BRUSSO, M. J. “Access Miner: Uma proposta para a Extração de Regras
de Associ- ação Aplicada à Mineração do Uso da Web”. Master’s thesis,
PPGC da UFRGS, Porto Alegre - RS, 2000.
CAMILO, Cássio Oliveira; SILVA, João Carlos. “Mineração de Dados:
Conceitos, Tarefas, Métodos e Ferramentas". Universidade Federal de
Goias, 2009.
CASTANHEIRA, Luciana Gomes. “Aplicação de Técnicas de Mineração de
Dados em Problemas de Classificação de Padrões”, UFMG, Belo
Horizonte, 2008.
CRISP-DM, 2000. Disponível em: <http://www.crisp-dm.org/>. Acessado em:
10 outubro 2013.
DALFOVO, Michael Samir; LANA, Rogério Adilson; SILVEIRA, Amélia.
“Métodos quantitativos e qualitativos: um resgate teórico”. Revista
Interdisciplinar Científica Aplicada, Blumenau, v.2, n.4, p.01- 13, Sem II.
2008, ISSN 1980-7031.
72
ELMASRI, Ramez; NAVATHE, B. Shamkant. “Fundamentals of Database
Systems”. 3 ed., Vancouver, Canada, 2000.
FAYYAD, Usama M. et al. “Advances in knoledge discovery and data
mining”. Menlo Park, Califórnia EUA: AAAI Press, 1996.
FAYYAD, Usama M. et al. “KDD for science data analysis: issues and
examples. Second International Conference on Knowledge Discovery
and Data Mining”, Portland, Oregon, Ago.1996, AAAI Press, 1996.
FRAWLEY, W. J.; PIATETSKY-SHAPIRO, G.; MATHEUS, C. J. “Knowledge
discovery in databases: An overview”. AI Magazine v.13, n.3, p.57-70,
1992.
GUIZZO, Érico. “Quem Procura Acha”. Revista Negócios Exame, 2000.
Disponível
em:
<http://www.uol.com.br/negociosexame/complementos/revista0002.html>.
Acesso em: 10 outubro 2013.
HICKS, D. A. “The Manager’s Guide to Supply Chain and Logistics
Problem-Solving Tools and Techniques”, IIIE Solutions, Vol. 29, Iss.10, p.
24-29, 1997.
HAN, J; KAMBER, M. “Data Mining: Concepts and Techniques”. Elsevier,
2006.
INMON, W. H. and Hackathorn, R. D., “Using the Data Warehouse”, John
Wiley and Sons, 1994.
INMON, W. H. “Como construir o Data Warehouse”. São Paulo, SP:
Editora Campus, 1997.
IWAKURA, Mariana. “As pessoas não sabem o que querem”. Revista
PEGN,
2013.
Disponível
em:
<http://revistapegn.globo.com/Franquias/noticia/2013/11/pessoas-naosabem-o-que-querem.html>. Acesso em: 12 outubro 2013.
LI, X. Two Essays on “Mining Basket Data: Models and Applications in
Marketing”. Tese de Doutorado. Faculty of School of Business of The George
Washington University, 2008.
NOCK, R.; JAPPY, P. “On the power of Decision Lists”. Proc. Int. Conf.
Machine, 1998.
NIMER, F.; SPANDRI, L., C. “Data Mining”. Revista Developers. Fev 1998.
ORACLE. Oracle Data Mining. “Powering Next-Generation Predictive
Applications”,
2013.
Disponível
em:
<http://www.oracle.com/technetwork/database/options/advancedanalytics/odm/index.html> Acesso em: 26 setembro 2013.
73
ORACLE
DATA
MINER.
“Apriori”,
2008.
Disponível
em:
<http://docs.oracle.com/cd/B28359_01/datamine.111/b28129/algo_apriori.htm
#BGBEFCBG>. Acesso em: 26 setembro 2013.
OLSON, D. L; DELEN, D. “Advanced Data Mining Techniques”. Springer,
2008.
POSTGRESQL. Disponível em: <http://www.postgresql.org.br/sobre>. Acesso
em: 04 setembro 2013.
QUINLAN, J.C. C4.5: “Programs for Machine Learning”. San Mateo:
Morgan Kaufmann 302p, 1993.
RONALDO, G.; EMMANUEL, P. “Data Mining - Um Guia Prático”. Rio de
janeiro: Elsevier, v. 1, 2005.
SANCHEZ, Rodrigo. “A redução da inadimplência começa pela análise de
crédito”. Revista Pequenas Empresas Grandes Negócios, 2010. Disponível
em:
<http://revistapegn.globo.com/Revista/Common/0,,ERT21163017141,00.html>. Acesso em: 03 setemebro 2013.
SILVA, E.M. “Avaliação do Estado da Arte e Produtos”. Data Mining. 2000.
Tese (Dissertação de Mestrado). Universidade Católica de Brasília.
SILBERSCHATZ, Abrahan; KORTH, F. Henry; SUDARSHAM, S. “Sistemas
de Banco de Dados”. São Paulo: MAKRON Books, 1999. ISBN:
85.346.1037-8.
SCHREIBER, August Th. et al. “Knowledge Engineering and Management:
the CommonKADS methodology”. MIT Press, Chapter 1, 2000.
WIRTH, R.; HIPP, J. “CRISP-DM: Towards a standard process modell for
data mining. In Proceedings of the 4th International Conference on the
Practical Applications of Knowledge Discovery and Data Mining”,
Manchester, UK, 2000.
WITTEN, I. H; FRANK, E. “Data Mining - Practical Machine Learning Tools
and Techniques”. Elsevier, 2005.
Download