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.