Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Curso de Especialização em Sistemas de Banco de Dados GUILHERME LUCAS MOREIRA MATTOS Medidas de interesse de regras associativas: estudo de caso com dados de clientes de créditos bancários Belém 2007 ii Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Curso de Especialização em Sistemas de Banco de Dados GUILHERME LUCAS MOREIRA MATTOS Medidas de interesse de regras associativas: estudo de caso com dados de clientes de créditos bancários Monografia apresentada à Universidade Federal do Pará como requisito parcial para obtenção do grau de Especialista em Sistemas de Banco de Dados. Professora Orientadora: Campos Serra Domingues. Belém 2007 MSc. Miriam Lúcia iii Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Curso de Especialização em Sistemas de Banco de Dados Monografia apresentada para obtenção do título de Especialista em Sistemas de Banco de Dados. Atribuo conceito ______________________à Monografia (Especialista em Sistemas de Banco de Dados) apresentada pelo aluno Guilherme Lucas Moreira Mattos no dia 20 de novembro de 2007, intitulado Medidas de interesse de regras associativas: estudo de caso com dados de clientes de créditos bancários. Belém, 20 de novembro de 2007. _________________________________________________________ Orientadora: Profª MSc. Miriam Lúcia Domingues iv Sumário Sumário............................................................................................................................ iv Lista de Tabelas ............................................................................................................... vi Lista de Figuras .............................................................................................................. vii Resumo .......................................................................................................................... viii Abstract ............................................................................................................................ ix 1. Introdução ................................................................................................................... 10 1.1. Motivação ............................................................................................................ 11 1.2. Objetivos do trabalho .......................................................................................... 12 1.3. Metodologia ......................................................................................................... 12 1.4. Organização do trabalho ...................................................................................... 12 2. Revisão de Literatura .................................................................................................. 14 2.1. Conceito ............................................................................................................... 14 2.2. Aplicações ........................................................................................................... 15 2.3. Medidas de interesse............................................................................................ 17 2.4. Etapas .................................................................................................................. 17 2.4.1. Definição do domínio ................................................................................... 19 2.4.2. Seleção de dados ........................................................................................... 20 2.4.3. Limpeza ........................................................................................................ 21 2.4.4. Codificação dos dados .................................................................................. 22 2.4.5. Enriquecimento dos dados ............................................................................ 22 2.4.6. Normalização de dados ................................................................................. 23 2.4.7. Construção de atributos ................................................................................ 24 2.4.8. Correção de prevalência ............................................................................... 24 2.5. Mineração ............................................................................................................ 24 2.5.1. Classificação ................................................................................................. 25 2.5.2. Agrupamento ................................................................................................ 25 2.5.3. Associação .................................................................................................... 26 2.6. Pós-processamento .............................................................................................. 26 3. Regras Associativas .................................................................................................... 28 3.1. Regras de associação quantitativas ...................................................................... 29 3.2. Medidas de interesse objetivas ............................................................................ 29 v 3.2.1 Suporte ........................................................................................................... 30 3.2.2. Confiança ...................................................................................................... 30 3.2.3. Lift ................................................................................................................ 31 3.2.4. Leverage ....................................................................................................... 31 3.2.5. Convicção ..................................................................................................... 32 3.2.6. Cobertura ...................................................................................................... 32 3.3. Análise das métricas ............................................................................................ 32 4. Estudo de Caso ........................................................................................................... 34 4.1. Compreensão do domínio .................................................................................... 34 4.2. Compreensão dos dados ...................................................................................... 34 4.3. Pré-processamento ............................................................................................... 36 4.3.1. Seleção e Limpeza ........................................................................................ 37 4.3.2. Integração ..................................................................................................... 38 4.3.3. Formatação ou Transformação ..................................................................... 40 4.4. Mineração ............................................................................................................ 43 4.4.1. A ferramenta Weka....................................................................................... 43 4.4.2. Carga dos dados ............................................................................................ 44 4.4.3. Análise das regras associativas geradas........................................................ 47 5. Conclusão ................................................................................................................... 53 5.1. Trabalhos futuros ................................................................................................. 53 6. Glossário ..................................................................................................................... 55 7. Referências ................................................................................................................. 57 vi Lista de Tabelas Tabela 1 - Categorização do campo Idade...................................................................... 40 Tabela 2 - Categorização original do campo Estado Civil ............................................. 41 Tabela 3 - Categorização criada para o campo Estado Civil .......................................... 41 Tabela 4 - Categorização original do campo Escolaridade ............................................ 41 Tabela 5 - Categorização criada para o campo Escolaridade ......................................... 42 Tabela 6 - Categorização criada para o campo Renda Bruta .......................................... 42 Tabela 7 - Categorização do campo Média de créditos efetivados ................................ 42 Tabela 8 - Categorização do campo Média de saldo aplicado (operações) .................... 43 Tabela 9 - Medidas de interesse das regras selecionadas – base de adimplentes ........... 49 Tabela 10 - Medidas de interesse das regras selecionadas – base de inadimplentes ...... 51 vii Lista de Figuras Figura 1 - Processo de DCBD, segundo Fayyad (1996). ............................................... 18 Figura 2 - Modelo CRISP-DM para DCBD, segundo Chapman (2000) ........................ 19 Figura 3 - Estrutura de dados inicial do estudo de caso ................................................. 35 Figura 4 - Estrutura das tabelas com os dados a serem minerados................................. 39 Figura 5 - Erro de execução por memória insuficiente .................................................. 45 Figura 6 - String SQL para carga dos dados pelo Weka (inadimplentes) ...................... 46 Figura 7 - String SQL para carga dos dados pelo Weka (adimplentes) ......................... 46 viii Resumo A presente monografia revisa a literatura relacionada à Descoberta de Conhecimento em Bases de Dados (DCBD), com enfoque em regras associativas e medidas de interesse objetivas para a identificação de padrões. Apresenta também um estudo de caso da prática do processo de DCBD sobre dados de clientes de uma instituição financeira, seus recebimentos de créditos mensais e respectiva situação de adimplência de suas operações. Os objetivos foram, além de pôr em prática a teoria sobre o processo de DCBD, apurar a qualidade das regras associativas obtidas utilizando diversas medidas de interesse, assunto esse de bastante interesse na literatura atual. Concluiu-se que o uso de diversas medidas de interesse objetivas, além do suporte e confiança, auxilia na seleção de regras associativas relevantes. Palavras-chave: Descoberta de Conhecimento em Bases de Dados, Banco de Dados, Mineração de Dados, Regras Associativas, Medidas de Interesse de Padrões. ix Abstract This work reviews the literature related to the Knowledge Discovery in Databases (KDD), in other words, association rules and objective measures of pattern interestingness. It is also a case study of a complete practice of the KDD process concerning to clients data’s within a financial institution, theirs receipt of monthly credits and respective situation of payment incomes in finance operations. The main goals were to put into practice the whole KDD process and to survey the quality of association rules acquired by different measures of pattern interestingness, for the reason that this subject is present in the actual literature. The conclusion is that the use of different measures of pattern interestingness, besides support and confidence, helps to set the selection of relevant association rules. Palavras-chave: Knowledge Discovery in Databases, Databases, Data Mining, Association Rules, Measures of Pattern Interestingness. 10 1. Introdução A evolução da tecnologia da informação e das telecomunicações, em conjunto com a redução dos custos e da ampliação do acesso a esses recursos, estão possibilitando que cada vez mais e mais pessoas tenham acesso e possam produzir dados. No mundo empresarial isso ganha proporções ainda maiores. Para Romão (2000) e Souza (2003), movimentações financeiras, logística, pesquisa e desenvolvimento, gestão de pessoas, produção, ambiental, espacial, etc., geram gigantescos volumes de dados, armazenados em repositórios para controle operacional e gerencial, mas dificilmente podem ser analisados mais profundamente com técnicas convencionais de confecção de relatórios. A Descoberta de Conhecimento em Base de Dados (DCBD) ou Knowledge Discovery in Databases (KDD) surgiu como forma de aumentar ou produzir valor analisando dados que “contam” a história de uma empresa, de um produto, de uma pesquisa, por exemplo. Ou seja, aplicando técnicas de DCDB sobre dados já existentes, é possível se extrair um dos bens mais preciosos da era do capitalismo digital: conhecimento, que é uma evolução da informação por si só. Esse conhecimento pode ser decisivo para a sobrevivência de empresas, diante do constante acirramento da competição. Pode significar ganhar, manter ou perder um cliente, que é um dos pontos mais críticos das estratégias empresariais atuais (Moutella, 2003; Sanches, 2003). Pode significar a criação de um novo produto, de um novo medicamento, de nova forma de otimizar recursos e reduzir custos, ou de uma nova oportunidade de negócio. Uma das etapas do processo de DCBD é a mineração de dados, na qual algoritmos de Aprendizado de Máquina são aplicados para a extração de padrões dos dados. Dentre as principais tarefas de mineração de dados, a associação é uma das mais conhecidas. A literatura a respeito é significativa, contemplando síntese de diversos algoritmos para geração de regras associativas. 11 1.1. Motivação Uma seção importante da mineração de dados está voltada à descoberta de relações interessantes entre diferentes itens ou atributos de uma base de dados. Uma boa técnica para a identificação de relações entre dados é a associação. Relações extraídas de grandes bases de dados através do uso de técnicas de associação são muito úteis na identificação de tendências contidas nos dados analisados. A descoberta de relações importantes pode ser feita através da geração de regras associativas. Com o uso dessas regras, é possível descobrir quais os itens ou instâncias de diferentes atributos costumam ocorrer juntos em um mesmo registro. Uma regra associativa pode ter sua importância mensurada a partir de várias medidas de interesse objetivas e subjetivas. Dentre as objetivas, as mais comuns são suporte e confiança, onde o suporte indica o percentual de transações da base de dados onde todos os itens da regra (A => B) estão presentes, e a confiança indica a chance do lado direito (B) da regra ocorrer dado que o lado esquerdo (A) ocorre1. Na geração de regras associativas o usuário, geralmente, determina valores mínimos para suporte e confiança e, então, são geradas somente as regras que superam os valores mínimos para estas duas medidas de interesse. Uma aplicação muito comum para estas técnicas está na descoberta de relações interessantes entre registros de transações de consumidores. Neste caso, são analisados hábitos de consumo, com o objetivo de determinar associações entre os diferentes itens adquiridos pelos clientes. As tendências encontradas podem ser de grande utilidade na elaboração de catálogos, em estratégias de venda e até mesmo no planejamento da disposição física de produtos. No entanto, a utilidade desse tipo de técnica é muito mais ampla, podendo ser aplicada em diversos domínios. 1 Assumindo que A ≠∅, B ≠∅ e A ∩ B = ∅, ou seja A e B são conjuntos não vazios e distintos 12 1.2. Objetivos do trabalho Tendo em vista a importância e complexidade do assunto, até mesmo para a área de tecnologia da informação, será objetivo deste trabalho realizar todo o processo de DCBD sobre dados de clientes e movimentações bancárias, utilizando técnicas para geração de regras associativas. Além disso, serão analisadas as medidas de interesses objetivas das regras mais relevantes encontradas, visando demonstrar a aplicabilidade e a importância dessas no processo de análise do resultado da mineração. 1.3. Metodologia A metodologia aplicada no presente estudo foi uma combinação do Cross Industry Process Model For Data Mining (CRISP-DM) (Chapman, 2000), com o modelo de Goldschmidt (2005) incluindo as fases que foram realmente necessárias, desde a compreensão do domínio da aplicação até a fase de aplicação, onde os resultados obtidos são apresentados como conhecimento útil e não trivial. 1.4. Organização do trabalho No capítulo 2, será realizada a revisão de literatura levantando todos os conceitos importantes da área de DCBD que serão necessários para o presente trabalho. No terceiro capitulo serão abordadas as regras associativas geradas pelos algoritmos de mineração de dados, bem como as diversas métricas para aferimento da qualidade dessas regras, além das já conhecidas medidas chamadas de Suporte e Confiança. O quarto capítulo relatará o desenvolvimento do estudo de caso, com todos os detalhes e tarefas que foram executadas para obtenção das regras associativas. 13 Já o quinto capítulo sintetiza as conclusões obtidas, analisando os dados e o metaconhecimento adquirido na execução do processo de DCBD, bem como serão indicados trabalhos futuros. 14 2. Revisão de Literatura Neste capítulo serão levantados os conceitos acerca da descoberta de conhecimento em bases de dados. 2.1. Conceito A Descoberta de Conhecimento em Bases de Dados (DCBD) ou Knowledge Discovery Databases (KDD) foi definida por Fayyad (1996) como sendo: “... o processo não trivial de identificação de padrões válidos, novos, potencialmente úteis e compreensíveis, embutidos nos dados”. Esse processo de descoberta de informações relevantes ou padrões, tais como associações, mudanças, anomalias e estruturas, é implementado sobre banco de dados ou depósitos de informações, mesmo de sistemas legados, tanto para fins comerciais ou científicos. A Descoberta de Conhecimento é uma área multidisciplinar que incorpora técnicas utilizadas em diversas áreas como Banco de Dados, Inteligência Artificial e Estatística. Desse modo, as técnicas utilizadas em DCBD não devem ser vistas como substitutas de outras formas de análise, como o OLAP, por exemplo, mas, sim, como práticas para melhorar os resultados das explorações feitas com as ferramentas atualmente usadas (Zambon, 2001). Além disso, dada a complexidade do processo, o nível de automação é razoavelmente pequeno. A experiência e o senso crítico dos analistas são imprescindíveis para a execução das tarefas de DCBD (que vão desde a formulação do problema, preparação dos dados, análises dos resultados e avaliações). Por isso, DCBD é um processo altamente interativo. Às máquinas, são incumbidos os processamentos exaustivos das pesquisas sobre as grandes massas de dados. E mesmo aqui, é fundamental o monitoramento humano de forma a buscar soluções mais otimizadas com resultados de forma mais rápida e precisa. 15 Uma diferença significante entre DCBD e outras ferramentas de análise está na maneira como exploram as inter-relações entre os dados. As diversas ferramentas de análise disponíveis utilizam um método baseado na verificação, isto é, o usuário constrói hipóteses sobre inter-relações específicas e então verifica ou refuta, através do sistema. Esse modelo torna-se dependente da intuição e habilidade do analista em propor hipóteses interessantes, em manipular a complexidade do espaço de atributos, e em refinar a análise baseado nos resultados de consultas ao banco de dados, potencialmente complexas. Já o processo de DCBD fica responsável pela geração de hipóteses, garantindo mais rapidez, acurácia e completude aos resultados. 2.2. Aplicações Segundo Philip Kotler (apud Moutella, 2003), conquistar novos clientes custa entre 5 a 7 vezes mais do que manter os já existentes. A manutenção do cliente passa pela sua fidelização. E para fidelizar, é preciso conhecer esse cliente. Suas necessidades, suas preferências, seus padrões de consumo. Esta necessidade comercial fomentou e projetou o ramo de DCBD para além das fronteiras dos campi acadêmicos, assim como ocorreu com outras tecnologias como dos próprios computadores e da internet. Essa tendência das empresas atuais, de possuir clientes leais através de um relacionamento maior entre empresa e cliente, implica em buscar a identificação dos clientes cujos valores e necessidades sejam compatíveis com o uso prolongado de seus produtos, e nos quais é válido o risco de investir com descontos, pacotes, brindes e outras formas de criar essa relação personalizada. Essa mudança de postura requer altos investimentos, e por isso, tem que ser fundamentada em argumentos sólidos e mais objetivos possíveis. O processo de DCBD pode subsidiar o alto comando das empresas com conhecimento que mesmos os mais experientes e competentes executivos jamais poderiam obter com as formas tradicionais de análise de informação. Para ilustrar, segue alguns exemplos da aplicação de DCBD no meio corporativo, conforme Arbex (2005): 16 • Wall-Mart: A cadeia americana de hipermercados identificou um hábito curioso dos consumidores. Há cinco anos, ao procurar eventuais relações entre o volume de vendas e os dias da semana, o software de data mining apontou que, às sextas-feiras, as vendas de cervejas cresciam na mesma proporção que as de fraldas. Estranharam, pois aplicando a lógica de forma dissociada do bom senso chegou-se à conclusão que crianças estavam bebendo cerveja. Porém, uma análise mais detalhada revelou que, ao comprar fraldas para seus bebês, os pais aproveitavam para abastecer o estoque de cerveja para o final de semana. • Bank of América: Há quem consiga detectar fraudes, cortar gastos ou aumentar a receita da empresa. O Bank of America usou essas técnicas para selecionar entre seus 36 milhões de clientes aqueles com menor risco de inadimplência ao contratar empréstimos. A partir desses relatórios, enviou cartas oferecendo linhas de crédito para os correntistas cujos filhos tivessem entre 18 e 21 anos e, portanto, precisassem de dinheiro para ajudá-los a comprar o próprio carro, uma casa ou arcar com os gastos da faculdade. Conseguiram assim em três anos, lucrar mais de 30 milhões de dólares somente com essa ação. • Telecomunicações: Devido à recente expansão dos serviços de telecomunicações, cresceram também os crimes nestes serviços, cujo o principal é a “clonagem”. Técnicas de DCBD podem ser utilizadas para detectar hábitos dos usuários de celulares. Quando um telefonema efetuado for considerado pelo sistema como uma exceção, o programa faz uma chamada para confirmar se foi ou não uma tentativa de fraude. • Medicina: A aplicação de DCBD em base de dados de pacientes e seus prontuários permite identificar padrões de reação aos medicamentos, permitindo assim prescrever de forma otimizada e com minimização de riscos. Além disso, pode-se usar o conhecimento já existente, e com base nas informações de um novo paciente, classificá-lo para que lhe seja receitado o melhor tratamento para seus sintomas e características. • Governo: O governo dos EUA se utiliza de DCBD já há bastante tempo para identificar padrões de transferências de fundos internacionais que se parecem com lavagem de dinheiro do narcotráfico. Aqui, o processo de DCBD é usado para identificar fraudes. 17 2.3. Medidas de interesse Medidas de interesse são mecanismos para avaliação do conhecimento descoberto. Durante o processo de DCBD, um volume grande de informações pode ser gerado, e as medidas de interesse são mecanismos para avaliação se tais informações realmente são conhecimentos relevantes. As medidas de interesse podem ser (Han & Kamber, 2006 apud Domingues, 2007): • Objetivas: quando baseadas na estrutura dos padrões descobertos e na sua estatística (modelos matemáticos). Como exemplo, temos o suporte e a confiança, que são medidas de interesse objetivas para avaliação de regras associativas. • Subjetivas: as medidas objetivas, por si só não garantem a relevância do conhecimento descoberto, precisando que sejam aplicadas em conjunto com as medidas subjetivas. No caso das regras associativas, são fundamentais para o descarte de regras bem avaliadas nas medidas objetivas, mas que não representam conhecimento útil ou inédito. Por se basearem no conhecimento heurístico dos responsáveis por analisar o resultado do DCBD, e imprescindível que esses especialistas tenham sensibilidade para reconhecer padrões interessantes e inesperados. 2.4. Etapas O processo de DCBD é caracterizado como sendo um processo interativo e iterativo, composto por várias etapas interligadas (Fayyad, 1996). As principais etapas desse processo, conforme se vê na Figura 1, são: a definição do domínio do problema, a seleção, preparação e transformação dos dados, a mineração de dados, etapa onde padrões são “descobertos”, a interpretação e a apresentação dos padrões minerados e analisados para tornarem-se conhecimento útil. 18 Figura 1 - Processo de DCBD, segundo Fayyad (1996). É importante mencionar que hoje em dia, é comum as empresas possuírem repositórios de dados que podem ser utilizados como apoio ao Processo de Descoberta de Conhecimento, como Data Warehouses e Data Marts que são Data Warehouses departamentais. Italiano & Esteves (2004) mencionam que os dados neles contidos já foram selecionados, de acordo com um domínio específico, além de limpos, corrigidos e adequados. Assim, é possível “saltar” algumas etapas da fase de pré-processamento, das quais comentaremos a seguir. Nem sempre as etapas são executadas na ordem relacionada adiante, ou até mesmo, algumas são desnecessárias principalmente de acordo com a origem dos dados e do algoritmo minerador que será utilizado. Considerando que não existe uma forma correta e única de trabalhar a DCBD, diversos autores criam pacotes das funções existentes, adaptados para diversas circunstâncias de tempo, recursos e dados disponíveis. Goldschmidt (2005) preferiu mesclar os modelos Fayyad (1996), Chapman (2000) e Han (2001) derivando em uma proposta com as seguintes etapas: • Pré-processamento: que incluiria as tarefas de seleção de dados, limpeza, codificação, enriquecimento, normalização, construção de atributos, correção de prevalência e partição dos conjuntos de dados. • Mineração de dados: onde são aplicados um ou mais algoritmos de mineração de dados existentes. • Pós-processamento: quando os resultados obtidos são transformados em modelos mais didáticos ou até mesmo mais simples, para que o conhecimento descoberto seja mais facilmente absorvido por não especialistas em mineração. 19 Figura 2 – Modelo CRISP-DM para DCBD, segundo Chapman (2000). Fonte: www.crisp-dm.org. Enquanto que Chapman (2000) propôs um processo cíclico, ilustrado na Figura 2, que divide o processo de DCBD em compreensão do domínio, compreensão dos dados, preparação dos dados, modelagem, avaliação e aplicação. Esse modelo também prevê iteratividade entre as etapas, de modo a refinar e melhorar os resultados obtidos. Neste trabalho, receberão enfoque as tarefas que foram mais importantes ou que consumiram mais tempo no desenvolvimento do estudo de caso proposto, baseado nos dois modelos anteriormente apresentados. 2.4.1. Definição do domínio É a primeira etapa dentro do processo; é a compreensão e definição de um domínio, e está intrinsecamente ligada ao que se espera obter do processo de DCBD. Ou seja, quando se inicia o projeto de DCBD, é fundamental se determinar, mesmo que de forma 20 subjetiva e ampla, os objetivos daquela pesquisa e qual será o escopo. Por exemplo, tem-se: • Analisar o movimento de faturamento do ano anterior (escopo) para identificar os melhores mix de produtos de forma a potencializar a rentabilidade para o ano atual (objetivo) • Detectar tentativas de ataques/crimes cibernéticos (objetivo) analisando o log´s de serviços web e conexões de telecomunicações (escopo) • Analisar um data warehouse com dados de prontuários medidos de doentes cardíacos (escopo) procurando identificar padrões que ajudem na detecção precoce do problema e nas melhores formas de tratamento (objetivo) É importante ressaltar que, conforme a complexidade do projeto de DCBD, deve-se realizar um planejamento para diagnosticar a quantidade de especialistas no negócio que serão necessários para acompanhar o processo e analisar os resultados. Também é importante avaliar os recursos computacionais, visto que muitas vezes o processo terá que manipular grandes volumes de dados e necessitará de um grande poder de processamento. 2.4.2. Seleção de dados Uma vez definido o domínio sobre o qual se pretende executar o processo de descoberta, o próximo passo é selecionar e coletar o conjunto de dados que serão usados. Nas aplicações corporativas, principalmente, pode-se pensar que todos os dados armazenados são utilizados. Porém, é fundamental a seleção dos dados que realmente tenham algum vínculo semântico com o domínio definido no passo anterior. Além disso, alguns dados podem estar armazenados em sistemas legados, necessitando assim sofrer algum processo de recuperação e conversão para protocolos de armazenamentos mais atuais. Como exemplo, poderíamos citar dados armazenados em backup, fitas DAT ou arquivos em mainframes codificados com métodos compactação proprietários. 21 “Em geral, o processo de KDD pressupõe que os dados sejam organizados em uma única estrutura tabular bidimensional contendo casos e características do problema a ser analisado” (Goldschmidt, 2005) Apesar de parecer simples, este requisito pode consumir uma parcela considerável do processo, pois para se gerar dados nesse formato, muitas vezes é necessário relacionar dados de várias fontes, tomando cuidado para que essa união não prejudique a integridade das informações (Batista, 2003). 2.4.3. Limpeza Nesta a atividade, procura-se remover os ruídos, dados incompletos ou inconsistentes. “os dados são considerados incompletos se há informação ausente para determinados atributos ou ainda se há dados pouco detalhados. Dados ruidosos são dados errados ou que contenham valores considerados divergentes, denominados outliers, do padrão normal esperado. Dados inconsistentes são aqueles que contêm algum tipo de discrepância semântica entre si” (Goldschmidt, 2005). Não proceder a limpeza dos dados, pode implicar em resultados distorcidos gerados na fase de mineração. Porém, esta atividade deve ser executada com o devido acompanhamento do especialista do domínio da aplicação, para assegurar que toda intervenção no conjunto de dados deve manter a sua completude, veracidade e integridade. O procedimento mais simples para a limpeza é definir intervalos ou conjuntos de valores válidos de cada atributo. As ocorrências divergentes devem ser excluídas. Existe também a possibilidade de exclusão dos registros que possuam atributos não informados ou com dados inconsistentes (um cliente com duzentos anos de idade, por exemplo), bem como a exclusão dos outliers (nos milhares registros de venda de uma loja de calçados, existe uma venda – verídica – de um tênis número 50). 22 2.4.4. Codificação dos dados Dependendo do algoritmo de mineração a ser utilizado, os dados devem ser formatados de uma maneira específica. Uma rede neural, por exemplo, requer que os dados de entrada estejam numa representação numérica. Sendo assim, uma base de dados contendo valores nominais precisa ser codificada antes de ser submetida a esse tipo de algoritmo. A forma como se codifica os dados influencia fortemente a qualidade e a quantidade de conhecimento gerada pelo processo de DCBD. Por isso, muitas vezes um mesmo conjunto de dados é codificado várias vezes, de diversas formas, até que o resultado da mineração apresente resultados satisfatórios. As formas de codificação são duas: • Numérica – Categórica: Consiste na substituição de valores numéricos por valores categóricos. Engloba o mapeamento direto, onde cada valor numérico passa a ser um categórico e o mapeamento em intervalos ou discretização, onde um valor categórico representará uma faixa (intervalo) de valores numéricos. • Categórica – Numérica: Consiste na substituição de valores categóricos por valores numéricos. Pode ser aplicada atribuindo-se um numérico seqüencial para cada categórico encontrado, ou pode-se criar uma tabela ordenada de valores possíveis, principalmente quando os valores categóricos possuem alguma relação ou hierarquia. Por exemplo, ao invés de codificarmos (presidente – 4; diretor – 1; gerente – 3; supervisor – 2), poderíamos codificar (presidente – 1; diretor – 2; gerente – 3; supervisor – 4) para facilitar a compreensão hierárquica e suas possíveis relações durante a mineração. 2.4.5. Enriquecimento dos dados Informações não existentes previamente no conjunto de dados podem ser incorporadas de forma a melhorar os resultados obtidos na mineração. Aqui também é importante o 23 acompanhamento do analista do negócio, para que a qualidade dos dados não seja afetada. Diferentemente da limpeza de dados, que se restringe a preencher informações ausentes, com o enriquecimento, novas informações, geralmente de origem externas, são agregadas. Como exemplo, pode-se citar um processo de DCBD sobre uma base de clientes, na qual existe a informação de sua cidade. Poder-se-ia, então, agregar informações como IDH, renda per cápita, crescimento econômico, distância para a loja; de cada cidade, de forma analisar o impacto desses fatores nos negócios da empresa. 2.4.6. Normalização de dados Normalizar dados consiste no ajuste dos valores de um determinado atributo para um pequeno intervalo, que pode ser por exemplo, de 0 a 1. Essa etapa é importante para evitar que alguns atributos influenciem de forma tendenciosa o algoritmo de mineração, por possuir uma escala de valores maior que os demais atributos (Goldschmidt, 2005). As principais formas de normalização são: • Normalização linear: onde os valores mínimos e máximos são convertidos para valores fixos, e os demais valores são convertidos através de regra de três; • Normalização por desvio padrão: baseia-se na posição média que cada valor possui na escala do atributo. Dessa forma, não é necessário conhecer de antemão os valores mínimos e máximos; • Normalização pela soma de elementos: cada valor é divido pelo somatório de valores do atributo; • Normalização pelo valor máximo dos elementos: cada valor é divido pelo maior valor dentre os existentes no atributo; • Normalização por escala decimal: desloca-se o ponto decimal dos valores do atributo. O número de casas depende do maior valor absoluto do atributo; 24 2.4.7. Construção de atributos A partir de atributos existentes, pode-se construir atributos derivados, visando simplificar ou extrair dados mais relevantes. Um exemplo comum é criar um atributo “idade” com base no atributo data de nascimento. Dessa forma o algoritmo irá manipular uma estrutura de dados mais simples, e o resultado será de mais fácil compreensão. 2.4.8. Correção de prevalência Essa etapa, segundo Goldshmidt (2005), é importante principalmente quando os dados estiverem sendo submetidos a algoritmos de classificação. Ela consiste em corrigir um eventual desequilibro na distribuição de registros com determinadas características. Como exemplo, em uma base de dados onde somente 1% seja de clientes inadimplentes, os modelos de classificação para novos clientes poderão ser tendenciosos devido a pouca ocorrência de inadimplentes na base de dados de treinamento. A redução de dados horizontal (exclusão de registros) ou a replicação aleatória de registros são técnicas usadas para efetivar a correção de prevalência. 2.5. Mineração A principal etapa do processo de DCBD é a mineração de dados. Nesse momento os dados preparados nas etapas anteriores são submetidos ao algoritmo de mineração. Pode-se considerar que a mineração de dados é a transformação de dados em informações. De acordo com o propósito da tarefa, agora é necessário se definir a técnica e o algoritmo a serem utilizados. 25 Existem várias classes de problemas de mineração de dados. Para cada classe, existem vários algoritmos para mineração. Sendo assim, é possível que vários algoritmos (tarefas de mineração de dados) sejam aplicados para uma melhor análise dos dados. 2.5.1. Classificação A tarefa de classificação tem por objetivo alocar elementos em classes pré-existentes. O objetivo é utilizar uma função para mapear os elementos em classes pré-definidas (associar elementos a classes). As classes devem ter sido definidas através de suas características. O mecanismo de classificação então compara as características do elemento candidato com as características das classes existentes, que foram geradas através da análise de um conjunto de dados de treinamento. Isto é chamado de aprendizagem indutiva. Como resultado, tem-se um ranking das classes mais prováveis, dado pelo grau de pertinência do elemento na classe. É possível associar o elemento em mais de uma classe ou então tomar a primeira do ranking como a classe resultante. 2.5.2. Agrupamento Segundo Silva (2004), “agrupamento é a tarefa de segmentar uma população heterogênea em vários subgrupos mais homogêneos ou clusters”. A diferença primordial para a tarefa de classificação é a inexistência de classes predefinidas e nem exemplos. Os registros se agrupam com base na auto-semelhança. Comumente, tarefas de agrupamentos são realizadas nas etapas de pré-processamento visando a identificação de grupos correlatos, para servirem de ponto de partida para futuras explorações. 26 2.5.3. Associação É uma das mais conhecidas tarefas de Mineração de Dados, introduzida por Agrawal et al. (1993). Foi esta tarefa que permitiu descobrir um dos achados mais famosos na cadeia de supermercados Wall-Mart, comentado na seção 2.2. deste trabalho. A tarefa de regras associativas verifica se existe algum controle ou influência entre atributos ou valores de atributos (Han, 2001). O objetivo então é encontrar dependências entre atributos ou valores através da análise de probabilidades condicionais. Em geral, os resultados são apresentados na forma de regras X Y, que significa que “se X está presente, então Y tem chances de estar presente também”. O primeiro elemento X pode ser uma combinação de atributos ou valores, formando assim regras mais complexas. As regras possuem dois graus associados: a confiança e o suporte. O suporte é o número de casos onde a regra foi encontrada (onde X e Y aparecem juntos). A confiança é a probabilidade condicional da regra, ou seja, quais as chances do segundo elemento estar presente. É calculada pela divisão do número de casos onde X e Y aparecem juntos (o suporte absoluto), pelo número de casos onde somente X aparece (Mattos, 2006). 2.6. Pós-processamento Em estudos complexos, com grandes volumes de dados e atributos, muitas vezes a etapa de mineração gera também uma grande quantidade de informações, que podem, e muitas precisam, ser refinadas. Esse pós-processamento pode ser incluído no algoritmo minerador, porém algumas vezes é vantajoso implementá-lo separadamente. Em geral, a principal meta dessa etapa é melhorar a compreensão do conhecimento encontrado pelo algoritmo minerador, validando-o através de medidas de qualidade da solução e da percepção do analista de dados do negócio. 27 No caso de geração de regras associativas, por exemplo, é comum realizar uma filtragem, como forma de diminuir o número de regras geradas, excluindo aquelas menos interessantes. 28 3. Regras Associativas Agrawal, Imielisnki e Swami (Agrawal et al. 1993) desenvolveram o arcabouço matemático para descrever o problema das regras associativas, bem como propuseram algoritmos para a sua resolução. Para ilustrar, os autores usaram como exemplo uma base de dados de transações de clientes em um supermercado. Após o processamento, chegaram a regras como esta: Macarrão => Tomate [suporte = 2%, confiança = 65%] Onde suporte corresponde ao percentual de transações com o item macarrão dentro de toda a base de transações, ou seja, 2% de todas as vendas incluíam o produto macarrão. Já a confiança determina o percentual de transações que possui o produto tomate (lado direito da regra) dentre as que atendiam o lado esquerdo da regra, portanto, todas as vendas que incluíam macarrão (Pelegrin et al., 2006). Dessa forma, suporte e confiança são os principais balizadores para a geração de regras associativas. Sendo assim, o processo de definição dessas regras pode ser dividido em duas etapas, em função destes requisitos: a) Buscar todos os conjuntos de itens (itemsets) cuja freqüência no conjunto total de transações seja igual ou superior a um suporte mínimo pré-definido. b) A partir dos itemsets gerados, simular regras associativas e selecionar apenas as que satisfaçam a um índice de confiança mínimo. Existem diversos algoritmos para geração de regras associativas, diferindo principalmente na forma de determinar os itemsets freqüentes. Esse primeiro passo é crucial para eficiência do algoritmo, porque é necessário que a base de dados seja lida várias vezes, determinando assim o desempenho global do algoritmo. O primeiro trabalho sobre regras associativas aplicadas em mineração de 29 dados foi apresentado por Agrawal et al. (1993), e desde então, vários algoritmos foram propostos, sendo o Apriori o mais conhecido, descrito por Agrawal et al. (1993) e Agrawal et al. (1994). Silva (2004) comenta que a partir do Apriori, foram desenvolvidos estudos que produziram diversas variantes, otimizadas para determinados tipos de dados. 3.1. Regras associativas quantitativas Grande parte dos algoritmos que tratam de regras associativas não são adaptados para atributos numéricos. Sirikant (1996, apud Silva, 2004) propôs um método para geração de regras associativas, tratando de forma diferenciada os atributos numéricos. Na maioria dos trabalhos sobre regras associativas quantitativas, os atributos numéricos são transformados em intervalos categóricos, com o objetivo de fazer que as regras geradas com atributos numéricos possam atingir o suporte mínimo com mais facilidade. Um exemplo de regra de associação quantitativa seria: Salário (1000 – 1600) => Operações de crédito (3000 – 4500) [suporte = 4%, confiança = 75%] Que pode ser interpretado da seguinte forma: dado um cliente com salário entre R$ 1000,00 e R$ 1600,00, existe uma probabilidade de 75% (confiança) de que ele contrate operações de crédito variando de R$ 3000,00 a R$ 4500,00. Sendo que essa regra está presente em 4% (suporte) das operações analisadas. 3.2. Medidas de interesse objetivas As medidas de interesse objetivas são utilizadas para apurar a importância de uma regra, verificando a existência de fatores desejáveis ou não. Suporte e confiança são as principais medidas de interesse objetivas aplicadas às regras associativas, porém, 30 dependendo dos dados ou do objetivo ou das técnicas de mineração utilizados, pode-se usar outras medidas de interesse não tão conhecidas, com por exemplo o Lift e o Leverage, que serão descritas a seguir (Silva, 2004). Para melhor assimilação dos conceitos, os exemplos serão aplicados sobre uma base de dados hipotética com as seguintes características: • base de dados com total de 1000 transações; • um itemset X presente em 250 transações; • um itemset Y presente em 150 transações; • um itemset Z presente em 400 transações; • os itemsets X e Y ocorrem juntos em 50 transações 3.2.1 Suporte Também conhecido por freqüência, representa o percentual de transações em que todos os itens contidos na regra estão presentes. Suporte (X => Y) = P(X, Y) = 50 / 1000 = 0,05 Suporte de 5% 3.2.2. Confiança A confiança expressa a força da regra, ou seja, a chance de acerto da regra. Indica a probabilidade do lado direito da regra ocorrer dado que o lado esquerdo ocorre. Confiança (X => Y) = P(X, Y) / P(X) = suporte(X => Y) / suporte(X) = 0,05 / 0,25 = 0,2 Confiança de 20% Enquanto o suporte geralmente é utilizado para gerar os itemsets freqüentes, a confiança é utilizada para filtrar as regras mais fortes. Porém, essa métrica é muito sensível ao suporte do lado direito da regra (Y). Dessa forma, um suporte muito alto de Y pode gerar uma confiança alta da regra, mesmo que os itemsets X e Y não sejam dependentes. 31 3.2.3. Lift Conforme Silva (2004), o lift de uma regra associativa é a confiança dividida pelo percentual de transações que são cobertas pelo lado direito da regra. Isso indica quão mais freqüente é o lado direito da regra quando o lado esquerdo está presente. Lift (X => Y) = P(X, Y) / (P(X)P(Y)) = confiança(X => Y) / suporte(Y) = 0,05 / (0,25 * 0,15) = 1,333 Lift da regra é de 1,33 Quando o lift obtido é maior que 1, pode-se dizer que o lado direito da regra ocorre com mais freqüência nas transações em que o lado esquerdo ocorre. Quando o lift é menor que 1, o lado direito ocorre com mais freqüência nas transações em que o lado esquerdo não ocorre. Dessa forma, as regras que possuem lift maior que 1 são mais interessantes que as demais, sendo o lift diretamente proporcional à relação entre os dois lados da regra. 3.2.4. Leverage O leverage representa o número de transações adicionais cobertas pelos lados direito e esquerdo, além do esperado, caso os dois lados fossem independentes um do outro. Leverage (X => Y) = P(X, Y) – (P(X) P(Y)) = Suporte(X=>Y) – (Suporte(X) Suporte(Y)) = 0,05 – (0,25 * 0,15) = 0,0125 Leverage de 1,25% Quando o leverage obtido é maior que zero, há a indicação de que os dois lados da regra ocorreram juntos, em número de transações maior que o esperado, caso os itens analisados sejam completamente independentes. Se o leverage for menor que zero, os dois lados ocorrem juntos em número menor que o esperado. Para leverage igual a zero, os dois lados da regra ocorrem juntos, exatamente o esperado. Isso significa que ambos provavelmente são independentes. 32 3.2.5. Convicção Essa unidade de medida cobre uma falha da confiança, quando um item com suporte muito alto pode influenciar na geração de itemsets de confianças significantes. Convicção(X => Y) = (1 - suporte(Y)) / (1 – confiança(X => Y)) = (1 – 0,15) / (1 – 0,2) = 1,0625 Convicção de 1,0625 Quando a convicção de uma regra é igual a 1, pode-se dizer que os itemsets não possuem relação. Quanto maior a convicção, maior a relação entre X e Y. Uma convicção menor que 1 implica em relação negativa entre os itemsets, ou seja, quando X ocorre, Y tende a não ocorrer. Um exemplo que poderia ser evidenciado através da análise da convicção é o seguinte: Se 80% dos clientes de um supermercado compram leite, e 2% compram vinho, existe uma grande chance de encontrarmos a regra (vinho => leite) com confiança significativa. Porém, isto acontece porque o leite é um item muito freqüente, e não porque os itens tenham alguma relação. 3.2.6. Cobertura A cobertura representa o percentual de transações que são cobertos pelo lado esquerdo da regra. Cobertura(X => Y) = P(X) = suporte(X) = 0,25 Cobertura de 25% 3.3. Análise das métricas Analisando as medidas de interesse objetivas apresentadas, pode-se notar que o lift, o leverage e a convicção, tentam verificar, cada uma ao seu modo, a existência ou não de uma relação entre os itens da regra. O lift e o leverage verificam a ocorrência de relação entre os itens através da diferença entre o suporte da regra e o suporte esperado caso os 33 itens da regra fosse independentes (Silva, 2004). A convicção define se existe relação ou não entre os itens verificando a existência do lado esquerdo quando o lado direito da regra não está presente, objetivando determinar se a regra existe devido a uma relação entre os itens ou devido o lado direito da regra apresentar um suporte muito elevado (Arbex, 2005). A cobertura é uma métrica que indica o número de transações em que a regra poderia ser aplicada. Considerando que praticamente todas as regras possuem confiança inferior a 100%, a cobertura destaca os casos para os quais a regra “falharia”. Da mesma forma que a maior parte das propostas de geração de regras associativas não leva em conta os atributos quantitativos, a maior parte das medidas de interesse objetivas não apresentam nenhum tratamento especial para os atributos numéricos. 34 4. Estudo de Caso Conforme já comentado na seção 2.4, o desenvolvimento do presente estudo de caso mesclou as orientações de Chapman (2000) e seu modelo CRISP-DM com a proposta de Goldschmidt (2005), lembrando que ambos também foram inspirados no modelo de Fayyad (1996). Sendo assim, o estudo de caso também será explanado de forma segmentada de forma a possibilitar uma melhor assimilação do conceito. 4.1. Compreensão do domínio Os dados usados neste estudo de caso são de clientes de uma instituição financeira nos Estados do Pará e Amapá. Foram acumulados com objetivo de acompanhar o índice de inadimplência de maio de 2005 a abril de 2006, tendo em vista que seu controle fazia parte da estratégia de negócio dessa instituição. Tais dados consistiam em armazenar o valor que o cliente estava recebendo (crédito), e o saldo de todas suas operações e das operações vencidas (se existissem) no dia do crédito. Em alguns casos, dada a regularidade e periodicidade dos créditos, tinha-se uma série histórica do cliente, pois havia uma “fotografia” dos saldos a cada dia que recebia um ou mais créditos. Considerando que o gerenciamento e redução da inadimplência fazem parte da estratégia da grande maioria das empresas, vislumbrou-se aí uma oportunidade de buscar conhecimento oculto nos dados (Fayyad, 1996), com uso de técnicas de DCBD. 4.2. Compreensão dos dados Quando iniciamos um processo de DCBD, temos a disposição uma grande coleção de dados, na maioria das vezes na forma de tabelas em banco de dados relacionais. Nesta 35 fase, é imprescindível a compreensão do domínio de estudo, para que os dados selecionados possuam alguma relação. Caso contrário, o resultado não trará conhecimento útil, sendo necessário reiniciar o ciclo, desde a primeira fase. Após retirar as tabelas com dados que não pertenciam ao escopo do assunto a ser estudado, a estrutura de dados inicial do presente estudo de caso é exibida pela Figura 3. Figura 3 - Estrutura de dados inicial do estudo de caso. Tabela DadosClientes: registra os atributos dos clientes como data de nascimento, sexo, estado civil, escolaridade, ocupação, renda, cargo e nível funcional. Os campos com prefixo “Cat” são atributos derivados da categorização de atributos numéricos2. Já os atributos com sufixo “Ajust” são derivados do tratamento do domínio do respectivo campo original3. Os clientes desta tabela, aproximadamente 58 necessariamente possuíam registros na tabela PagtosCreditos. 2 3 Procedimento comentado na seção 4.3 – Pré-processamento. Idem mil, não 36 Tabela PagtosCreditos: registra cada lançamento de crédito para um determinado cliente, informando o seu valor, a situação do crédito, a data de pagamento, o momento em que foi consultado, o saldo aplicado do cliente (total de operações de empréstimos), o saldo em atraso (saldo das operações de empréstimo que estavam com parcelas vencidas), um sinalizador da ocorrência de adiantamento à depositante (limite da contacorrente excedido) e saldo on-line da conta corrente no momento em que houve a consulta do lançamento. Os campos MCIPagador, remessa e produto identificam o tipo de crédito que o cliente estava recebendo, sendo em grande parte, proventos salariais. Já o campo “Favorecido” continha o nome do cliente. Esta tabela possui 2.732.460 registros. Tabela Conceito: armazena o conceito de cerca de 129mil clientes. O conceito de cada cliente foi atribuído pelos mecanismos de avaliação de clientes da instituição financeira, cuja metodologia é confidencial. O domínio do atributo conceito de crédito é composto pelos valores “excelente”, “bom”, “ruim” e “péssimo”. Todos os registros da tabela DadosClientes possuíam correspondentes nesta tabela. 4.3. Pré-processamento O pré-processamento foi uma fase que consumiu muito tempo, pois várias consultas são necessárias para certificar a qualidade dos dados, tanto no âmbito de atributos quanto no de registros inteiros. Essa fase foi executada utilizando as ferramentas disponíveis no gerenciado de banco de dados Access 2000 da Microsoft. Tal escolha foi fundamentada pelo fato de já haver uma considerável experiência prévia no seu uso, e também pelo fato da base de dados inicial possuir um volume expressivo de registros, da ordem de milhões de linhas. 37 4.3.1. Seleção e Limpeza Estas duas etapas serão comentas em conjunto, porque na prática, acabaram sendo executas paralelamente. Assim, a seguir estão relacionadas as ações aplicadas em cada tabela do banco de dados objeto de estudo: Na tabela PagtosCreditos: • Os registros dos meses de maio de 2005 e abril de 2006 foram excluídos por contemplarem a totalidade do mês. Considerando que grande parte desses créditos correspondiam a pagamentos de salários, que geralmente se concentram em determinados dias do mês, poderia haver distorções devido à sazonalidade destes créditos (redução de dados horizontais). Restaram assim os registros referentes ao período de junho/2005 a março/2006; • Foram excluídos os registros com situação “BLQ” (bloqueado) e “CAN” (cancelado) • Créditos de valores inferiores a R$ 50,00 também foram excluídos. Na tabela DadosClientes: • Registros que possuíam atributos não informados, salvo exceção abaixo descrita, foram excluídos; • Em casos que através da informação do cargo, pudesse se inferir o grau de escolaridade (exemplo: escolaridade não informada, para registros cuja ocupação era “advogado”, foi alterada para “Superior”); • Eliminação direta de atributo (Goldschmidt, 2005) que tinham função de identificação das instâncias, como CPF e MCI; • O atributo “cargo” possuía cerca de 7 mil valores distintos, para os cerca de 57 mil registros, caracterizando assim ponto de inconsistência, decorrente principalmente, da grande incidência de erros de digitação. Considerando que a correção seria muito onerosa, e que o atributo “ocupação” já possui uma informação com um certo nível de correlação com a função, descartou-se o referido atributo; 38 • O atributo nível também foi descartado por não estar informado em cerca de 35% dos registros • Para os registros em que a renda não estivesse informada, em alguns casos utilizou-se a técnica de preenchimentos com medidas estatísticas, visando preservar uma quantidade razoável de registros. Os clientes de ocupação professor, sem renda cadastrada, receberam a média da renda dos demais professores. Essa tática foi aplicada para as principais ocupações que possuem um pequeno desvio padrão no atributo renda, como professores, carteiros, garçons, porteiros, motoristas, etc. • Registros de clientes com menos de 18 ou mais de 100 anos também foram excluídos, pois seriam considerados outliers, podendo distorcer os resultados da mineração. Após a limpeza dos dados, restaram 2.339.619 créditos, 57.967 clientes, 32.931 clientes com vínculos na tabela de créditos, gerando uma projeção de 270.486 registros na relação clientes => créditos. 4.3.2. Integração Nesta etapa, foram criadas duas tabelas: uma para armazenar os créditos efetuados quando o cliente possuía inadimplência e outra com os créditos efetivados para clientes adimplentes. Nessas tabelas os lançamentos foram agrupados por cliente (agência e conta, como campos chave), e a estrutura e relacionamentos são mostrados na Figura 4. 39 Figura 4 - Estrutura das tabelas com os dados a serem minerados. Tabela Pagtos Adimpl 2: consolida por cliente, todos os créditos efetivados quando o cliente estava adimplente com suas operações (empréstimos) no dia em que recebeu o crédito. Os campos com prefixo “Med” correspondem à média dos créditos recebidos, do saldo aplicado (total de operações do cliente) e do saldo atrasado (operações com parcelas vencidas). O campo QteDias totaliza a quantidade de dias em que houve esses créditos e o campo QteDiasInad é a replicação do campo QteDias da tabela PagtosInad2. Já os campos com o prefixo “Cat” são derivados dos processos de categorização dos respectivos campos numéricos4. Tabela Pagtos Inad 2: consolida por cliente, todos os créditos efetivados quando o cliente estava inadimplente com alguma de suas operações (empréstimos), no dia em que recebeu o crédito. A estrutura dessa tabela é uma réplica da tabela “PagtosAdimpl2”, exceto pelo fato que esta tem um campo derivado a mais: “CatMedSldAtraso”, visto que na outra, por não clientes inadimplentes, não houve a 4 Procedimento comentado na seção 4.3 – Pré-processamento. 40 necessidade de categorizar tal média. Já o campo QteDiasAdimpl é uma replicação do campo QteDias da tabela PagtosAdimpl2. Ao final desse processamento, a tabela PagtosInad2 possuía 150.032 registros, e a tabela PagtosAdimpl2 com 279.725 registros. 4.3.3. Formatação ou Transformação Nesta etapa, construíram-se novos campos, discretizados (codificação numérica → categórica), visando verificar se tal complementação iria ajudar ou não na obtenção de conhecimento sobre esta base de dados. O campo data de nascimento foi transformado no campo idade, tendo como data base o dia 01/06/2006, pois esta informação, no formato que estava, seria de pouca utilidade durante a fase de mineração de dados. Além disso, através deste campo “idade”, criouse uma representação categórica, conforme mostra a Tabela 1: Tabela 1 - Categorização do campo Idade Atributo: CatIdadeAjust Até 25 De 26 a 40 De 41 a 55 A partir de 56 Frequência 2.369 20.021 20.497 15.080 O atributo EstadoCivil possuía uma grande quantidade de categorias, havendo um certo nível hierárquico entre os valores. Aplicar a redução de valores nominais, segundo Goldschmidt (2005), pode proporcionar um melhor desempenho a diversos algoritmos de mineração, principalmente naqueles baseados em manipulações simbólicas e comparações lógicas de dados. A Tabela 2 mostra os valores do domínio desse atributo. 41 Tabela 2 - Categorização original do campo Estado Civil Atributo: EstadoCivil CAS REGIME MISTO OU ESPECIAL CASADO(A) - REGIME DOTAL CASADO(A)-COMUNHAO PARCIAL CASADO(A)-COMUNHAO UNIVERSAL CASADO(A)-PART.FINAL AQUESTOS CASADO(A)-SEPARACAO DE BENS DIVORCIADO(A) SEPARADO(A) JUDICIALMENTE SOLTEIRO(A) VIUVO(A) Frequência 49 37 7.062 14.879 22 393 1.484 1.533 28.425 4.083 Podemos observar na Tabela 2 que havia diversas modalidades de casamento, que agrupamos em apenas uma. As modalidades “divorciado”, “separado judicialmente” e “viúvo” também foram agrupadas. O resultado pode ser conferido na Tabela 3. Tabela 3 - Categorização criada para o campo Estado Civil Atributo: EstadoCivilAjust CASADO SEPARADO/DIVORCIADO/VIUVO SOLTEIRO Frequência 22.442 7.100 28.425 Na Tabela 4, vemos as informações originais para o campo Escolaridade, que também foi agrupado em apenas cinco categorias, mostradas na Tabela 5. Tabela 4 - Categorização original do campo Escolaridade Atributo: Escolaridade ANALFABETO DOUTORADO ENSINO FUNDAMENTAL ENSINO MEDIO MESTRADO NÃO INFORMADO POS GRADUADO SUPERIOR COMPLETO SUPERIOR EM ANDAMENTO SUPERIOR INCOMPLETO Frequência 1.266 63 20.035 22.972 146 3.412 361 7.586 933 1.193 42 Tabela 5 - Categorização criada para o campo Escolaridade Atributo: EscolaridadeAjust ANALFABETO ENSINO FUNDAMENTAL ENSINO MEDIO POS GRADUAÇÃO SUPERIOR Frequência 1.266 23.447 22.972 570 9.712 A informação da renda bruta do cliente é um dado numérico e contínuo. Alguns algoritmos de mineração não admitem a entradas neste formato. Criou-se então uma categoria para contornar esta situação, conforme mostra a Tabela 6. Tabela 6 - Categorização criada para o campo Renda Bruta Atributo: CatRendaBrutaAjust Até 500 De 501 a 1500 De 1501 a 3000 Acima de 3000 Frequência 21.368 19.294 11.712 5.593 A descoberta de conhecimento em base de dados é um processo interativo e iterativo (Fayyad, 1996), implicando assim em constante manipulação e transformação de dados. Envolve também estratégias de integração destes, para se obter o máximo dos algoritmos de pesquisa a serem aplicados. Por isso, optou-se por trabalhar a tabela de créditos inicial segmentada em duas: uma com os créditos efetivados para clientes adimplentes e outra para os créditos efetivados para clientes inadimplentes. Na Tabela 7, é mostrada a concentração de registros por categoria definida para o campo CatMedCredito (categorização da média de créditos recebidas pelo cliente) em ambas tabelas: Tabela 7 - Categorização do campo Média de créditos efetivados Atributo: CatMedCredito Abaixo de 0,7mil Acima de 2mil De 0,7 a 1,2mil De 1,2 a 2mil Frequência Adimplentes Inadimplentes 164.309 96.537 35.959 12.494 42.700 23.760 36.757 17.241 43 E, na Tabela 8, são mostradas as categorias e respectivas quantidades de registros, do atributo CatMedSldAplicado (categorização da média de saldo aplicado – operações de empréstimo). Tabela 8 - Categorização do campo Média de saldo aplicado (operações) Atributo: CatMedSldAplicado Abaixo de 0,1mil De 0,1 a 0,7mil De 0,7 a 1,5mil De 1,5 a 4mil Acima de 4mil Frequência Adimplentes Inadimplentes 100.177 15.445 73.066 53.900 37.049 30.639 36.015 25.766 33.418 24.282 Durante a fase de mineração de dados, comentada na próxima seção, o atributo Ocupação também possuía um domínio muito amplo, cerca de 231 valores, com extrema concentração em cinco categorias: Servidores públicos federais, estaduais, municipais, comerciários, pensionistas – que concentravam cerca de 65% dos clientes estudados. Essa concentração se deve ao perfil de clientes que recebem as modalidades de créditos usadas no estudo. Após analisar as similaridades entre as ocupações, criou-se um atributo de OcupaçãoAjust com um domínio de 75 valores, sendo que 18 tinham um suporte mínimo de 10% dentre o universo de clientes. 4.4. Mineração Finalizado o pré-processamento dos dados, chegamos à etapa de mineração propriamente dita. Aqui será executado o Apriori, que é um dos algoritmos de mineração de dados mais conhecidos, para descoberta de regras associativas, disponíveis no aplicativo Weka. 4.4.1. A ferramenta Weka. 44 A ferramenta WEKA (Waikato Enviroment for Knowledge Analysis), foi utilizada por ser simples, bastante difundida e com licença livre (GNU). Desenvolvida na linguagem Java, pela Universidade de Waikato na Nova Zelândia, esta ferramenta é de domínio público e trabalha com diversas técnicas de Mineração de Dados (Witten & Frank, 2005). Ela é composta de dois pacotes que podem ser embutidos em outros programas escritos em Java, permitindo que um desenvolvedor possa criar seu próprio Data Mining Explorer (Silva M., 2004). Os dados foram carregados para o Weka diretamente do banco de dados MS-Access. Isso possibilitou maior flexibilidade e agilidade para manipular os dados, e poupou tempo por não haver a necessidade de conversão de arquivos. Os passos necessários foram os seguintes (Witten & Frank, 2005): • Criação de uma conexão ODBC do sistema operacional, mapeando o banco de dados onde os dados estavam armazenados. • Extração de um arquivo chamado “DatabaseUtils.props” que vem no pacote instalação, caso ele não exista na pasta onde o Weka foi instalado. Em algumas versões ele é um componente da parte experimental do Weka, e por isso não é extraído automaticamente pelo instalador. • Inclusão das linhas “jdbcDriver=sun.jdbc.odbc.JdbcOdbcDriver” e “jdbcURL=jdbc:odbc:dbname” nesse arquivo. 4.4.2. Carga dos dados Para se familiarizar com os recursos da ferramenta e poder estimar o tempo de processamento dos algoritmos, carregou-se pequenos fragmentos dos dados que seriam analisados. A segmentação aleatória consistia em filtrar clientes pelo último dígito do número da conta. Isso garantia aleatoriedade e a certeza de que cada um dos dez segmentos possíveis teria uma quantidade praticamente idêntica de componentes. 45 Porém, no momento da mineração propriamente não foi possível carregar toda a base dados, com cerca de 28 mil registros na tabela de inadimplentes e 26 mil na de adimplentes, pois algumas vezes o Weka foi finalizado por necessitar de quantidade de memória superior à disponibilizada pelo sistema operacional, conforme ilustrado na Figura 5. C:\Weka-3-4>java -Xmx768m -classpath ";weka.jar" weka.gui.GUIChooser Added driver: sun.jdbc.odbc.JdbcOdbcDriver Added driver: sun.jdbc.odbc.JdbcOdbcDriver Connecting to jdbc:odbc:wekaaccess GenericObjectEditor: Problem making backup object java.io.NotSerializableException: sun.jdbc.odbc.JdbcOdbcConnection Executing query: SELECT * from 05adimplentes Connecting to jdbc:odbc:wekaaccess Getting metadata... Completed getting metadata... Creating instances... Creating header...es Disconnecting from jdbc:odbc:wekaaccess Exception in thread "Thread-116" java.lang.OutOfMemoryError: Java heap space at weka.gui.AttributeVisualizationPanel$BarCalc.run(Unknown Source) displayed message: Not enough memory. Please load a smaller dataset or use larger heap size. - initial JVM size: 4.9MB - total memory used: 762.1MB - max. memory avail.: 762.1MB Note: The Java heap size can be specified with the -Xmx option. E.g., to use 128MB as heap size, the command line looks like this: java -Xmx128m -classpath ... Figura 5 - Erro de execução por memória insuficiente. A carga e o processamento dos dados não consumiam muita memória, mas a sua interface de pré-processamento consumia por tentar gerar sumarizações e gráficos dos dados carregados. Para não comprometer a homogeneidade dos testes nas minerações, foram carregados quatro segmentos (dígitos finais da numeração de conta), correspondendo assim a 40% do universo de estudo. A Figura 6 mostra a instrução SQL da consulta usada pelo Weka para carregar os dados da tabela de inadimplentes, onde na cláusula where filtra-se os clientes cujas contas terminam nos dígitos 0, 3, 4 ou 7. 46 SELECT [PAGTOS INAD 2].CatMedSldAplicado, [PAGTOS INAD 2].CatQteDias AS CatQteDiasInad, [PAGTOS INAD 2].CatQteDiasAdimpl, DADOSCLIENTES.sexo, DADOSCLIENTES.EstCivilAjust, DADOSCLIENTES.EscolaridadeAjust, DADOSCLIENTES.CatRendaBrutaAjust2, DADOSCLIENTES.CatIdadeAjust, DADOSCLIENTES.OcupacaoAjust, CONCEITO.Conceito, [PAGTOS INAD 2].Agencia FROM [PAGTOS INAD 2] INNER JOIN (DADOSCLIENTES INNER JOIN CONCEITO ON (DADOSCLIENTES.Agencia = CONCEITO.Agencia) AND (DADOSCLIENTES.Conta = CONCEITO.conta)) ON ([PAGTOS INAD 2].Agencia = DADOSCLIENTES.Agencia) AND ([PAGTOS INAD 2].Conta = DADOSCLIENTES.Conta) WHERE (((Right([PAGTOS INAD 2]![Conta],1)) In (0,3,4,7))); Figura 6 - String SQL para carga dos dados pelo Weka (inadimplentes). Já a Figura 7 mostra a instrução SQL da consulta que é usada pelo Weka para carregar os dados da tabela de adimplentes, onde na cláusula where filtra-se os clientes cujas contas terminam nos dígitos 0, 3, 4 ou 7. SELECT [PAGTOS ADIMPL 2].CatMedSldAplicado, [PAGTOS ADIMPL 2].CatQteDiasInad, [PAGTOS ADIMPL 2].CatQteDias AS CatQteDiasAdimpl, DADOSCLIENTES.sexo, DADOSCLIENTES.EstCivilAjust, DADOSCLIENTES.EscolaridadeAjust, DADOSCLIENTES.CatRendaBrutaAjust2, DADOSCLIENTES.CatIdadeAjust, DADOSCLIENTES.OcupacaoAjust, CONCEITO.Conceito, [PAGTOS ADIMPL 2].Agencia FROM ([PAGTOS ADIMPL 2] INNER JOIN DADOSCLIENTES ON ([PAGTOS ADIMPL 2].Conta = DADOSCLIENTES.Conta) AND ([PAGTOS ADIMPL 2].Agencia = DADOSCLIENTES.Agencia)) INNER JOIN CONCEITO ON (DADOSCLIENTES.Agencia = CONCEITO.Agencia) AND (DADOSCLIENTES.Conta = CONCEITO.conta) WHERE (((Right([PAGTOS ADIMPL 2]![Conta],1)) In (0,3,4,7))); Figura 7 - String SQL para carga dos dados pelo Weka (adimplentes). 47 4.4.3. Análise das regras associativas geradas Primeiramente, serão comparados os valores das métricas das medidas de interesse objetivas das regras geradas, considerando o padrão X => Y, onde X corresponde ao conjunto de condições à esquerda do sinal “ => ” e Y ao conjunto da direita. A regra a seguir foi gerada pelo algoritmo Apriori executado sobre 11542 registros da tabela de adimplentes: CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 sexo=F CatIdadeAjust=De 41 a 55 430 ==> Conceito=RUIM 344 conf:(0.8) Suporte(X) = 430 / 11542 = 0,037255 Suporte (X => Y) = 344 / 11542 = 0,029804 Suporte(Y) = 3831 / 11542 = 0,331918 Confiança(X =>Y) = 0,029804 / 0,037255 = 0,8 = 80% Lift (X => Y) = confiança(X=>Y) / suporte(Y) = 0,8 / 0,331918 = 2,41023 Levarege(X=>Y) = suporte(X=>Y) – (suporte(X)*suporte(Y)) = 0,029804 – (0,037255 * 0,331918) = 0,017439 ou 1,74% Convicção(X=>Y) = (1-suporte(Y)) / (1-confiança(X=>Y)) = (1-0,331918) / (1-0,8) = 3,340409 Cobertura(X=>Y) = suporte(X) = 0,037255 = 3,73% O lift da regra maior que 1 evidenciou um certo nível de relação entre X e Y, porém o Leverage ficou próximo de zero, podendo ser interpretado que em apenas 1,74% dos 11.542 clientes, os dois lados da regra ocorreriam juntos acima do esperado. Já a convicção dessa regra apresentou um valor significativo, ratificando a confiança de 80% obtida. Todavia, esses dados puramente não permitem avaliar se essa regra é suficientemente importante e relevante. Para isso, é importante compará-la, através das suas medidas de interesse, com outras regras geradas. Muitas regras foram geradas na busca de relações não óbvias e relevantes. Isso acontecia principalmente pelo fato de alguns campos serem derivados de outros campos do mesmo registro. O campo conceito, por exemplo, possuía relação direta com os campos DiasInad e DiasAdimpl. Isso gerava uma grande quantidade de regras onde 48 esses dois campos estavam no lado esquerdo da regra, e o campo conceito no lado direito. Outra dificuldade encontrada, e até mesmo uma certa decepção, foi o campo Ocupação, pois por possuir um domínio muito grande, com extrema concentração em determinados valores, poucas regras relevantes foram geradas o envolvendo, mesmo havendo um retorno à fase de pré-processamento para agrupar os valores correlatos em valores mais genéricos e abstratos. Em um primeiro momento, sobre a carga de 11 mil registros da base de adimplentes foram analisadas 900 regras com suporte mínimo a partir de 1,5% e confiança mínima de 65%. As doze regras mais importantes são listadas a seguir: A1: CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 EstCivilAjust=SOLTEIRO EscolaridadeAjust=ENSINO MEDIO 445 ==> Conceito=RUIM 356 conf:(0.8) A2: CatMedSldAplicado=De 0,7 a 1,5mil CatQteDiasAdimpl=De 1 a 3 sexo=F 466 ==> Conceito=PÉSSIMO 373 conf:(0.8) A3: CatQteDiasInad=De 4 a 7 EstCivilAjust=SOLTEIRO OcupacaoAjust=PENSIONISTA 346 ==> sexo=F Conceito=PÉSSIMO 279 conf:(0.81) A4: CatQteDiasAdimpl=De 4 a 7 EstCivilAjust=CASADO Conceito=PÉSSIMO 477 ==> CatQteDiasInad=De 4 a 7 394 conf:(0.83) A5: sexo=M EstCivilAjust=CASADO Conceito=EXCELENTE 348 ==> CatQteDiasInad=Nenhum CatQteDiasAdimpl=A partir de 8 288 conf:(0.83) A6: CatQteDiasInad=De 4 a 7 EscolaridadeAjust=ENSINO FUNDAMENTAL OcupacaoAjust=PENSIONISTA Conceito=PÉSSIMO 378 ==> sexo=F 315 A7: OcupacaoAjust=CONSTRUCAO CIVIL 244 ==> sexo=M 232 conf:(0.83) conf:(0.95) A8: CatQteDiasAdimpl=A partir de 8 EstCivilAjust=SOLTEIRO Conceito=BOM 340 ==> CatQteDiasInad=De 1 a 3 336 conf:(0.99) A9: CatQteDiasAdimpl=A partir de 8 CatRendaBrutaAjust2=De 1501 a 3000 CatIdadeAjust=De 41 a 55 OcupacaoAjust=SERVIDOR PUBLICO FEDERAL Conceito=EXCELENTE 122 ==> CatQteDiasInad=Nenhum 122 conf:(1) 49 A10: CatQteDiasInad=De 4 a 7 CatQteDiasAdimpl=De 1 a 3 sexo=F EstCivilAjust=SOLTEIRO EscolaridadeAjust=ENSINO MEDIO CatRendaBrutaAjust2=De 501 a 1500 123 ==> Conceito=PÉSSIMO 123 conf:(1) A11: CatQteDiasAdimpl=A partir de 8 CatRendaBrutaAjust2=Acima de 3000 Conceito=EXCELENTE 241 ==> CatQteDiasInad=Nenhum 241 conf:(1) A12: CatQteDiasInad=Nenhum CatQteDiasAdimpl=A partir de 8 EscolaridadeAjust=SUPERIOR 304 ==> Conceito=EXCELENTE 304 conf:(1) Na Tabela 9, foram relacionadas as medidas de interesse objetivas calculadas para as doze regras selecionadas do resultado da aplicação do algoritmo Apriori na base de dados de adimplentes. Essas regras foram selecionadas empiricamente, com base no conhecimento prévio do assunto estudado, onde assumi o papel de analista de negócio dos dados pesquisados. Um ponto importante é o fato destas regras possuírem um suporte relativamente baixo. Isso se deve ao fato de as regras com suporte mais elevado não trazerem um conhecimento relevante, e sendo assim, foram descartadas. Tabela 9 - Medidas de interesse das regras selecionadas – base de adimplentes Regra Sup(X) Sup(Y) Sup(X=>Y) Conf(X=>Y) Lift(X=>Y) Lev(X=>Y) Conv(X=>Y) A1 3,86% 33,19% 3,08% 80,00% 2,4102 1,80% 3,3404 A2 4,04% 36,50% 3,23% 80,04% 2,1929 1,76% 3,1818 A3 3,00% 36,50% 2,42% 80,64% 2,2091 1,32% 3,2792 A4 4,13% 33,41% 3,41% 82,60% 2,4724 2,03% 3,8270 A5 3,02% 24,79% 2,50% 82,76% 3,3387 1,75% 4,3623 A6 3,27% 52,19% 2,73% 83,33% 1,5967 1,02% 2,8685 A7 2,11% 47,81% 2,01% 95,08% 1,9888 1,00% 10,6124 A8 2,95% 39,49% 2,91% 98,82% 2,5025 1,75% 51,4330 A9 1,06% 18,46% 1,06% 100,00% 5,4162 0,86% - A10 1,07% 36,50% 1,07% 100,00% 2,7396 0,68% - A11 2,09% 18,46% 2,09% 100,00% 5,4162 1,70% - A12 2,63% 11,45% 2,63% 100,00% 8,7373 2,33% - 50 O fato da regra A6 possuir o maior suporte(Y), pouco contribuiu para elevar a confiança dela, que é calculada pela relação de suporte(X=>Y) por suporte(X). Além disso, seu lift foi o menor dentre as doze regras, tendo em vista que o suporte(Y) é denominador na relação com a confiança(X=>Y) para obtenção do seu valor. As regras A9 à A12 apresentam confiança de 100%, porém, possuem suportes menores que os das demais regras. O fato relevante se deve à regra A12 que obteve o maior leverage das doze regras, devido possuir a menor diferença entre os suportes(X) e suporte (X=>Y) para o suporte(Y). Essa característica também contribuiu para que essa regra também alcançasse o maior lift do grupo. Já a convicção dessas quatro últimas regras tende ao infinito (positivo) já que essa métrica se baseia na relação onde o denominador é composto por 1 menos a Confiança(X=>Y). Com esse último termo tendendo a 1, o denominador tende a zero, gerando um valor infinitamente elevado. Sendo assim, para as regras com confiança de 100% não é possível se considerar o valor de sua convicção. Em seguida, foram analisados cerca de 10,5 mil registros da base de dados de inadimplentes, repetindo o suporte mínimo de 1,5% e confiança mínima de 65%. As doze principais regras obtidas foram: I1: CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 EscolaridadeAjust=ENSINO FUNDAMENTAL CatRendaBrutaAjust2=De 1501 a 3000 274 ==> Conceito=RUIM 234 conf:(0.85) I2: CatMedSldAplicado=De 0,1 a 0,7mil CatQteDiasInad=De 4 a 7 sexo=F CatRendaBrutaAjust2=Até 500 305 ==> Conceito=PÉSSIMO 261 conf:(0.86) I3: CatMedSldAplicado=De 0,7 a 1,5mil CatQteDiasAdimpl=De 1 a 3 OcupacaoAjust=SERVIDOR PUBLICO MUNICIPAL 337 ==> Conceito=PÉSSIMO 292 conf:(0.87) I4: CatQteDiasAdimpl=De 4 a 7 OcupacaoAjust=SERVIDOR PUBLICO FEDERAL Conceito=PÉSSIMO 360 ==> CatQteDiasInad=De 4 a 7 319 conf:(0.89) I5: EstCivilAjust=CASADO EscolaridadeAjust=ENSINO FUNDAMENTAL CatRendaBrutaAjust2=De 1501 a 3000 CatIdadeAjust=A partir de 56 241 ==> sexo=M 216 conf:(0.9) 51 I6: CatQteDiasInad=De 4 a 7 EstCivilAjust=SOLTEIRO OcupacaoAjust=PENSIONISTA Conceito=PÉSSIMO 299 ==> sexo=F 282 conf:(0.94) I7: CatQteDiasAdimpl=A partir de 8 EscolaridadeAjust=SUPERIOR Conceito=BOM 227 ==> CatQteDiasInad=De 1 a 3 223 conf:(0.98) I8: CatQteDiasAdimpl=A partir de 8 CatIdadeAjust=De 26 a 40 Conceito=BOM 226 ==> CatQteDiasInad=De 1 a 3 222 conf:(0.98) I9: CatMedSldAplicado=Acima de 4mil CatRendaBrutaAjust2=De 1501 a 3000 Conceito=BOM 224 ==> CatQteDiasInad=De 1 a 3 223 conf:(1) I10: sexo=F EstCivilAjust=CASADO Conceito=BOM 218 ==> CatQteDiasInad=De 1 a 3 218 conf:(1) I11: sexo=F CatRendaBrutaAjust2=De 501 a 1500 Conceito=BOM 225 ==> CatQteDiasInad=De 1 a 3 225 conf:(1) I12: CatQteDiasInad=De 4 a 7 CatQteDiasAdimpl=De 1 a 3 EstCivilAjust=SOLTEIRO EscolaridadeAjust=ENSINO MEDIO 429 ==> Conceito=PÉSSIMO 429 conf:(1) Tabela 10 - Medidas de interesse das regras selecionadas – base de inadimplentes Regra Sup(X) Sup(Y) Sup(X=>Y) Conf(X=>Y) Lift(X=>Y) Lev(X=>Y) Conv(X=>Y) I1 2,55% 41,91% 2,17% 85,40% 2,0380 1,11% 3,9795 I2 2,83% 45,49% 2,43% 85,57% 1,8810 1,14% 3,7784 I3 3,13% 45,49% 2,71% 86,65% 1,9046 1,29% 4,0820 I4 3,35% 38,21% 2,96% 88,61% 2,3193 1,69% 5,4258 I5 2,24% 47,92% 2,01% 89,63% 1,8704 0,93% 5,0207 I6 2,78% 52,08% 2,62% 94,31% 1,8109 1,17% 8,4280 I7 2,11% 49,43% 2,07% 98,24% 1,9873 1,03% 28,6967 I8 2,10% 49,43% 2,06% 98,23% 1,9871 1,02% 28,5703 I9 2,08% 49,43% 2,07% 99,55% 2,0139 1,04% 113,2699 I10 2,03% 49,43% 2,03% 100,00% 2,0229 1,02% - I11 2,09% 49,43% 2,09% 100,00% 2,0229 1,06% - I12 3,99% 45,49% 3,99% 100,00% 2,1982 2,17% - Na Tabela 10, foram relacionadas as medidas de interesse calculadas para as doze regras selecionadas do resultado da aplicação do algoritmo Apriori na base de dados de 52 inadimplentes. Assim como na tabela anterior, essas regras também foram selecionadas empiricamente, com base no conhecimento prévio do assunto estudado. Aqui também os suportes das regras selecionadas são baixos, porém os lift das regras foram mais homogêneos, não apresentando grandes desvios em relação à média. O mesmo vale para os leverages obtidos. Em termos de lift, a melhor regra seria a I4, que apresentou também o segundo melhor leverage. Semanticamente, ela também é importante por determinar a faixa de dias de inadimplência de um cliente a partir da categoria da quantidade de dias em que estava adimplente, da sua ocupação e do seu conceito. E a regra I12, que obteve os maiores suportes de X, de X=>Y, e maior leverage, também pode ser considerada de relevante por ratificar o conceito do cliente a partir da sua escolaridade, estado civil e categorias de quantidade de dias adimplentes e inadimplentes. 53 5. Conclusão As vantagens proporcionadas pela Descoberta de Conhecimento em Bases de Dados a consolida como novo paradigma para análise de dados. Relatórios sumarizados ou simples cubos não atendem mais nossas necessidades de conhecimento, bem como pouco exploram este conhecimento difuso e imerso nas atuais gigantescas bases de dados. O domínio e a divulgação das técnicas de DCBD são relevantes, e o presente estudo mostrou simples exemplos de padrões descobertos em uma pequena base de dados. Apesar de algumas limitações técnicas para o processamento da mineração, e pelo fato da base de dados não possuir muitos atributos independentes5, a execução de todo o ciclo, exercitando sua interatividade e iteratividade foi um aprendizado de grande valor. O profundo conhecimento do cálculo, do uso e de diversas das medidas de interesse propicia uma análise mais objetiva das regras associativas geradas no processo de mineração. Isso gera maior confiabilidade ao resultado, além de permitir comparações mais ricas com outros processos realizados, com os mesmos dados ou não. Ficou evidente que suporte e confiança não devem balizar, sozinhas, a seleção de regras importantes e relevantes, apesar de continuarem sendo papel vital como primeiro “filtro” sobre as regras encontradas. 5.1. Trabalhos futuros O horizonte de estudos nessa área é ilimitado. A realização deste trabalho envolveu o estudo comparativo das principais medidas de interesse das regras associativas. A partir disso, relaciono a seguir alguns assuntos que poderão ser pesquisados em maior profundidade: 5 Cujo valor não dependa ou seja derivado do valor de outro atributo. 54 • Baseado nas medidas de interesse deste estudo, comparar a qualidade das regras geradas pelo algoritmo Apriori com o PredictiveApriori e o Tertius, por exemplo. • Apurar o impacto da categorização dos atributos numéricos na qualidade das regras associativas geradas, testando inclusive várias técnicas para tal tarefa de pré-processamento. • Aplicar medidas de interesse para avaliar regras associativas generalizadas, onde um atributo pode ser uma sub-categorização de outra instância desse mesmo atributo. • Estudo de regras associativas quantitativas (Silva, 2004), onde algoritmos de técnicas de associação são adaptados para manipular atributos numéricos (não categóricos). 55 6. Glossário Adimplência Situação de regularidade das operações de crédito do cliente. Crédito Valor referente a uma ordem de pagamento que será creditada na conta corrente do cliente. Data Mart Subconjunto ou seção de um Data warehouse. Data warehouse Armazém ou depósito de dados. Sistema de informações que armazenam dados consolidados, visando favorecer a análise de grandes volumes de dados. DCBD Acrônimo para Descoberta de Conhecimento em Base de Dados. IDH Índice de desenvolvimento Humano. Medida comparativa de qualidade de vida. Inadimplência Situação de irregularidade das operações de crédito do cliente, por haver(em) parcelas vencidas não liquidadas. Itemset Conjunto não vazio de um ou mais atributos com o seu(s) respectivo(s) valores determinados, a fim de se estabelecer uma regra de associação. KDD Correspondente de DCBD em inglês. Knowledge Discovery in Database. Mainframe Computador de grande porte. Apesar do custo elevado em relação às tecnologias de arquitetura mais recentes, ainda é utilizado principalmente em grandes empresas (bancos, indústrias, universidades, etc.). OLAP Acrônimo de Online Analytical Processing. Processamento analítico de dados. Abordagem tecnológica para geração rápida de respostas à consultas de natureza tipicamente dimensional. Operação (crédito) Empréstimo que um cliente contrata em uma instituição financeira. Saldo Aplicado Saldo das operações de empréstimo que um cliente tem na instituição financeira. O temo “aplicado” deriva do fato de que, 56 para a instituição, trata-se de uma operação ativa, ou aplicação de seus recursos. Saldo Atrasado Saldo total da operação que apresenta ao menos uma parcela vencida e não liquidada, num dado momento. SQL Structured Query Language. Linguagem usada para manipular (consultar, incluir, alterar e excluir) dados em Banco de Dados Relacionais. 57 7. Referências AGRAWAL, Rakesh; IMIELINSKI, Tomasz; SWAMI, Arun. Mining Association Rules between Sets of Items in Large Databases. In: ACM SIGMOD Int. Conference on Management of Data, 1993. Proceedings... Washington, D.C.: ACM Press, 1993. p.207-216. AGRAWAL, Rakesh; SRIKANT, Ramakrishnan. Fast Algorithms for Mining Association Rules in Large Databases. In: Int. Conference on Very Large Databases, 20.,1994. Proceedings... Santiago: Morgan Kaufmann, 1994. p. 487499. ARBEX, Eduardo Compasso; SABOREDO, Alexandre de Paiva; MIRANDA, Dhalila. Implementação e Estudo de caso do algoritmo Apriori para Mineração de Dados. 2005. Artigo. Associação Educacional Dom Bosco. Disponível em: <http://www.aedb.br/seget/artigos04/193_artigo_SEGET.doc>. Acesso em 11/03/06. Resende-RJ. BATISTA, Gustavo Enrique de Almeida Prado Alves. Pré-Processamento de Dados em Aprendizado de Máquina Supervisionado. 2003.Tese. Doutorado em Ciência da Computação. Universidade Federal de São Carlos. CHAPMAN, Pete; CLINTON, Julian; KERBER, Randy; KHABAZA, Thomas; REINARTZ, Thomas; WIRTH, Rüdiger; Shearer, Colin. The CRISP-DM Process Model. CRISP-DM consortium, 2000. Disponível em: http://www.crispdm.org/Process/index.htm. Acessado em: maio/2006. DOMINGUES, Miriam L. Mineração de Dados: notas de aula. Belém-PA: CESBD da UFPA, 2007. Disponível em: http://www2.ufpa.br/miriam/mineracaodedados.htm #material. Acessado em 14/11/07. FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMYTH, P. The KDD process for extracting useful knowledge from volumes of data. In: COMMUNICATIONS OF THE ACM, New York, v. 39, n. 11, p. 27-34, Nov, 1996. GOLDSCHMIDT, Ronaldo; PASSOS, Emanuel. Data Mining – um guia prático. Ed. Campus. 2005. HAN, Jiawei; KAMBER, Micheline. Data Mining: concepts and techniques. 2001. San Franciso: Morgan Kaufmann. ITALIANO, I. C.; ESTEVES, L. A. Modelagem de Data Warehouses e Data Marts – 2004. Parte 1. SQL Magazine - Ed.13 - Ano1. MATTOS, Guilherme L. M.. Estudo de caso: Aplicando técnicas de descoberta de conhecimento em banco de dados de operações de crédito. 2006. Artigo. Pósgraduação em sistemas de banco de dados. UFPA. 58 MOUTELLA, Cristina. Fidelização de clientes como diferencial competitivo. 2003.Artigo. Disponível em: <http://www.portaldomarketing.com.br/Artigos/Fidelizacao%20de%20clientes%20 como%20diferencial%20competitivo.htm>. Acessado em abril/2006. PELEGRIN, Diana Colombo; MATTOS, Merisandra Côrtes de; SIMÕES, Priscyla Waleska Targino de Azevedo; BETTIOL, Jane. As tarefas de associação e classificação na Shell de data mining Orion. 2006. Universidade do extremo sul catarinense (UNESC). Criciúma – SC. ROMÃO, Wesley, PACHECO, Roberto, NIEDERAUER, Calos. Planejamento em C&T: Uma abordagem para descoberta de conhecimento relevante em banco de dados de grupos de pesquisa. 2000. Artigo. UFSC. SANCHES, André Rodrigo. Uma Visão Geral sobre Mineração de Dados. 2003. Monografia. Pós-graduação em Informática. Universidade de São Paulo. SILVA, Alexandre Procaci da. Regras de associação quantitativas em intervalos não contínuos. 2004. Dissertação (Mestrado em Ciência da Computação). UFMG. Belo Horizonte. SILVA, Marcelino P. Santos. Mineração de dados – conceitos, aplicações e experimentos com Weka. 2004. Artigo. Instituto Nacional de Pesquisas Espaciais (INPE). São José dos Campos – SP. SOUZA, Michel. Data Mining. 2003. Artigo – portal iMasters. Disponível em: <http://www.imasters.com.br/artigo.php?cn=1482&cc=59>. Acessado em 15/06/06. WITTEN, Ian H.; and FRANK, Eibe (2005) Data Mining: Practical machine learning tools and techniques, 2005. 2nd Edition, Morgan Kaufmann, San Francisco. ZAMBON, A.C.,MEIRELLES, J.L. A Evolução do Processo Decisório e as novas Ferramentas de Apoio à Decisão:Data Warehouse, Olap e Data Mining. 2001. Programa de Mestrado em Engenharia de Produção, São Carlos