Data Miner - JLN Software
Transcrição
Data Miner - JLN Software
Data Miner Manual do Usuário © Copyright 2006 - Todos os direitos reservados Índice 1) Introdução ................................................................................................................................................1 Funcionalidades ........................................................................................................................................1 2) Definição e cenário de Uso da Solução Data Miner.................................................................................2 3) Requisitos de Hardware/Software ............................................................................................................6 4) Instalação do Sistema ...............................................................................................................................7 4.1) Data Miner –Instalação do MSAgent ...............................................................................................7 4.2) Data Miner –Instalação ....................................................................................................................8 4.3) DataMiner - Desinstalação ..............................................................................................................12 5) Uso do sistema .......................................................................................................................................14 5.1) Tela Inicial do sistema.....................................................................................................................14 5.2) Funcionalidade de Novo Projeto .....................................................................................................16 5.3) Funcionalidade de Abrir Projeto .....................................................................................................17 5.4) Funcionalidade de Salvar Projeto....................................................................................................18 5.5) Ajuda interativa através do MSAgent .............................................................................................19 5.6) Funcionalidade de Origens de Dados (Data Sources) .....................................................................21 5.7) Funcionalidade de Regras de Associação (AssociationRules) ........................................................26 Criando um novo modelo ...................................................................................................................26 Treinando o modelo............................................................................................................................32 Visualizando o modelo treinado .........................................................................................................33 Removendo o modelo .........................................................................................................................35 5.8) Funcionalidade de Clustering (Clustering)......................................................................................36 Criando um novo modelo ...................................................................................................................36 Treinando o modelo............................................................................................................................38 Visualizando o modelo treinado .........................................................................................................40 Removendo o modelo .........................................................................................................................41 5.9) Funcionalidade de Árvores de Decisão (DecisionTree) ..................................................................42 Criando um novo modelo ...................................................................................................................42 Treinando o modelo............................................................................................................................45 Visualizando o modelo treinado .........................................................................................................46 Removendo o modelo .........................................................................................................................48 Avaliando um modelo ........................................................................................................................48 Simulando um modelo........................................................................................................................50 6) Revisão da Literatura .............................................................................................................................53 1) Introdução A solução Data Miner é um sistema para mineração de dados (“ Data Mining” ) que permite encontrar conhecimentos gerais a partir de dados provenientes de diversas fontes. Funcionalidades Organizado em projetos. Interface intuitiva baseada em wizards e com help online do Microsoft Agent. Suporta múltiplas origens de dados por projeto. Aceita origem de dados a partir de banco de dados padrão OLEDB, arquivos CSV ou arquivos XML. Suporte a múltiplos modelos de mineração, baseados nas seguintes técnicas: o Regras de Associação o Clustering o Árvores de Decisão Permite avaliar e simular novos dados nos modelos treinados pelo sistema. 1 2) Definição e cenário de Uso da Solução Data Miner Data Mining Data Mining ou Mineração de Dados é a procura de relações e padrões globais que existem em bancos de dados, mas que estão escondidos pela vasta quantidade de informações, como um relacionamento entre dados de um paciente e seu diagnóstico médico. Estes relacionamentos representam conhecimento de valor sobre bancos de dados e objetos do banco de dados, podendo ser utilizados para decisões estratégias ou comerciais. Por exemplo, tarefas como: - identificar o perfil dos clientes compradores potenciais de determinados tipos de produtos. - descobrir produtos que freqüentemente são comprados juntos. - encontrar grupos distintos de clientes com características semelhantes. Existem inúmeras técnicas descritas na literatura da área que permitem obter conhecimento de bases de dados. No sistema Data Miner, optou-se pelo uso de 3 técnicas de características distintas, descritas a seguir: Árvores de Decisão - É um sistema de classificação, ou seja, que permite classificar um dado a partir de outros dados. - Exemplo: A partir das informações: idade, sexo, classe social, cidade, estado civil e outros dados, classificar o perfil de compra dos clientes. - Para obter um modelo de classificação, deve-se fornecer dados do passado (como transações financeiras realizadas pelos clientes nos últimos 6 meses) para que o sistema possa “ induzir”um padrão geral nos dados que será representado pela saída de execução. - A saída da execução é uma árvore que representa na forma de galhos os critérios que são utilizados para classificar os registros. - Exemplo: - Se idade=entre 20 e 40 anos - Se Sexo=masculino 2 - Se estado civil=casado Perfil de compra=ótimo - A partir de uma árvore de decisão gerada, é possível aplicá-la em novos dados para verificar a sua taxa de acerto, ou seja, o qual verdadeiras as regras propostas são, ou simular a partir de novos dados qual seria a resposta da árvore. Clustering - Permite agrupar os dados em conjuntos homogêneos. O número de conjuntos não precisa ser fornecido, de tal forma que o sistema tentará encontrar de forma automática os possíveis agrupamentos nos dados. - Cada agrupamento será depois descrito pelas suas principais características, que permitirá fornecer “ rótulos”aos grupos, como por exemplo: “ Grupo dos clientes que compram determinados produtos”ou “ Grupo dos clientes com perfil diferenciado de compra” . Regra de Associação - É uma das aplicações mais “ clássicas”de Data Mining. - Regras de Associação encontram padrões entre dados binários, expressos a partir e regras no formato SE... ENTÃO. - As regras são obtidas a partir de um determinado nível de relevância mínimo pré-estabelecido (graus de suporte e confiança). - O caso mais comum é a “ Basket Data Analysis” , que visa encontrar itens que são freqüentemente comprados juntos pelos clientes. - Exemplo: Se um cliente compra cerveja então compra fraldas (Suporte: 3% Confiança: 80%) - O exemplo acima corresponde a um caso real aonde um supermercado descobriu que clientes que são casados, pais e novos costumam comprar fraldas e cervejas. Em posse deste conhecimento, um supermercado pode decidir colocar os produtos próximos ou oferecer promoções na compra conjunta. - Entretanto, regras de associação não servem somente para analisar produtos que são comprados em conjunto, podendo ser aplicadas para encontrar padrões quaisquer entre dados que ocorrem de forma conjunta. Cenário de Uso 3 A solução Data Miner é utilizada no seguinte cenário: O primeiro passo para utilizar a solução é configurar uma origem de dados que aponte para o banco de dados a ser utilizado, ou seja, é definir de onde os dados a serem minerados serão obtidos. Depois de configurar as origens de dados, pode-se optar por um dos tipos de mineração de dados existentes e criar um modelo. Cada modelo pode ser de um dos seguintes tipos: Árvores de Decisão, Clustering e Regras de Associação. A criação dos modelos é interativa e feita através de wizards. 4 Depois de criado, um modelo precisa ser treinado. Treinar um modelo é o processo de extrair o conhecimento dos dados. O processo de treinamento pode ser demorado, de acordo com o volume de dados e complexidade do tipo de mineração sendo utilizado. Depois de treinar o modelo, é possível visualizá-lo, sendo que a visualização dependerá do tipo do modelo. Para modelos de classificação, é possível ainda simular novas entradas ou avaliar o modelo em novos dados. 5 3) Requisitos de Hardware/Software Computador Pentium 3 500Mhz com no mínimo 256 Mb de memória RAM. Placa de Vídeo SVGA com a resolução mínima de 1024x768. Sistema Operacional Windows 2000 Professional ou superior com o Framework .Net 1.1 instalado. 6 4) Instalação do Sistema Para instalar o sistema, deve-se obter o cd de instalação, contendo o setup de instalação. O conteúdo do CD é: A pasta FW11 contém a versão redistribuível do .Net Framework 1.1. A pasta Licenciamento possui o software para requisição e instalação da licença de uso. A pasta Manual possui o manual e uma apresentação do sistema. A pasta MDAC contém a biblioteca ” Microsoft Data Access Components”para instalação de drivers OLEDB para importação/exportação de dados do sistema. A pasta MSAgent possui o componente Microsoft Agent, utilizado no sistema de help interativo do sistema. A pasta Setup contém o setup do sistema PaperData. Nota Importante! Antes de instalar o sistema, garanta as seguintes condições: - Que o Framework .Net 1.1 foi instalado no computador. - Que o pacote MDAC foi instalado no computador. 4.1) Data Miner –Instalação do MSAgent Antes de instalar o sistema, é necessária a instalação do componente MSAgent. O conteúdo da pasta MSAgent é: Clicar sobre o programa MSAgent.exe: 7 Clicar no botão “ Yes” . Deixar a instalação prosseguir. Clicar sobre o programa Clicar Merlin.exe: Deixar a instalação prosseguir. 4.2) Data Miner –Instalação 8 O conteúdo da pasta Setup é: Para instalar o sistema, clicar duas vezes sobre o arquivo Setup.exe: O programa irá então exibir a tela inicial do setup: Clicar no botão “ Next” . 9 Informar a pasta de instalação do sistema, ou manter a sugestão inicial. Selecionar a opção “ Everyone”para que o sistema seja acessível a todos os usuários da máquina. Clicar no botão “ Next” . Clicar no botão “ Next” . 10 O sistema será instalado no disco rígido do computador. Clicar no botão “ Next” . Clicar no botão “ Close” . 11 Após finalizar o programa de setup, o sistema DataMiner já está disponível no menu “ Iniciar”do Windows, na opção “ DataMiner” . Ao clicar sobre o ícone ” DataMiner” , o sistema é iniciado. O sistema apresenta uma tela informando que o sistema deve ser licenciado. Contacte a JLN Software para obter uma licença de uso do sistema. 4.3) DataMiner - Desinstalação Para desinstalar o sistema, acesse a opção Painel de Controle->Adicionar ou remover programas. Selecione o programa “ Data Miner” . 12 Clique no botão “ Remover” . Clique em OK. O sistema será desinstalado. 13 5) Uso do sistema 5.1) Tela Inicial do sistema Após licenciar o sistema, a seguinte tela é apresentada ao clicar no ícone “ DataMiner” : O sistema DataMiner é organizado em Projetos. Cada projeto é composto de uma lista de “ Data Sources” , e modelos nos tipos de mineração de dados “ AssociationRules” ,“ Clustering”e “ DecisionTree” . Desta forma, cada projeto do sistema pode conter múltiplas origem de dados e múltiplos modelos de cada tipo. Como padrão, o sistema apresenta um projeto novo. Caso deseje-se abrir um projeto existente, verificar o tópico “ 5.3) Funcionalidade de Abrir Projeto” . Os projetos do sistema DataMiner são representados por arquivos no formato XML. O menu do sistema apresenta as seguintes opções: 14 Existe também uma árvore no lado esquerdo superior que disponibiliza as informações do projeto atual, bem como as ações possíveis . As informações disponibilizadas são: Corresponde ao projeto atual do sistema. Corresponde as origem de dados do projeto. Permite criar um novo modelo de mineração do tipo “ Regras de Associação”(clicando sobre o nó “ AssociationRules” ) e visualizar os modelos já criados deste tipo abaixo deste nó (como o exemplo “ Teste” ). Permite criar um novo modelo de mineração do tipo “ Clustering”(clicando sobre o nó “ Clustering” ) e visualizar os modelos já criados deste tipo abaixo deste nó (como o exemplo “ Teste” ). Permite criar um novo modelo de mineração do tipo “ Árvores de Decisão”(clicando sobre o nó “ DecisionTree” ) e visualizar os modelos já criados deste tipo abaixo deste nó (como o exemplo “ Teste” ). Na parte esquerda inferior da tela, existe uma Caixa de Propriedades exibindo as informações do objeto selecionado na árvore: 15 Projetos já configurados tipicamente apresentam diversas origens de dados e diversos modelos de cada tipo, como o exemplo visto abaixo: 5.2) Funcionalidade de Novo Projeto Selecionando-se a opção de “ Menu Geral->Novo Projeto” , a seguinte caixa de diálogo é apresentada: 16 Deve-se preencher o nome do novo projeto, e selecionar um caminho para armazenamento do arquivo do projeto, clicando-se no botão “ Procurar” : Depois, clicar no botão “ Salvar” . Clicar no botão “ OK” . 5.3) Funcionalidade de Abrir Projeto Selecionando-se a opção de “ Menu Geral->Abrir Projeto”ou clicando-se no botão “ Abrir Projeto”na tela inicial do sistema, a seguinte caixa de diálogo é apresentada: 17 Clicar sobre o botão “ Procurar” : Selecionar o arquivo de projeto desejado. Clicar no botão “ Abrir” . Clicar no botão “ OK” . O projeto selecionado será carregado. 5.4) Funcionalidade de Salvar Projeto Selecionando-se a opção de “ Menu Geral->Salvar Projeto”para um novo projeto, a seguinte caixa de diálogo é apresentada: ] Clicar no botão “ Procurar”e selecionar o caminho para salvar o projeto: 18 Clicar no botão “ Salvar” . Clicar no botão “ OK” . Selecionando-se a opção de “ Menu Geral->Salvar Projeto”para projeto que tenha sido aberto de um arquivo existente, o sistema apresenta somente a tela de aviso que o projeto foi salvo: Clicar no botão “ OK” . 5.5) Ajuda interativa através do MSAgent Em diversos pontos, o sistema apresenta uma ajuda interativa que fornece informações adicionais dos conceitos necessários para compreensão do sistema. Quando a ajuda interativa estiver disponível, o ícone é exibido. Por exemplo, durante o treinamento de um modelo, é possível invocar a ajuda: 19 Ao clicar no botão de ajuda, o personagem Merlin é apresentado. Clicando com o botão direito sobre o personagem, este exibe os tópicos de ajuda disponíveis: Clicando sobre o tópico desejado, o personagem fala o texto relacionado com a ajuda: 20 5.6) Funcionalidade de Origens de Dados (Data Sources) A funcionalidade de origens de dados permite configurar múltiplas origens de dados a serem utilizadas no projeto para realizar processos de mineração de dados. Para criar uma nova origem de dados, deve-se clicar sobre o nó “ Data Sources”do projeto. O seguinte wizard será apresentado: 21 Deve-se fornecer um nome para a origem de dados, e selecionar o seu tipo. Estão disponíveis os tipos: - Database: obtém dados de um banco de dados padrão OLEDB, tais como: SQL Server, Microsoft Access ou Oracle. - XML: obtém dados de um arquivo XML. - CSVFile: obtém dados de um arquivo CSV. - Kankei: obtém dados do sistema Kankei. Clicar no botão “ OK” . Exemplo: obtendo dados de uma base SQL Server 22 Clicar em Next. Clicar no botão “ ...” : 23 Selecionar o provider “ Microsoft OLEDB Provider for SQL Server” . Clicar no botão “ Avançar” . Preencher o nome do servidor, selecionar a opção “ Usar nome de usuário e senha específicos” , preencher o nome do usuário e senha, marcar a opção “ Permitir salvamento de senha”e selecionar o banco de dados a ser utilizado. Clicar no botão “ OK” . 24 Selecionar o modo de obtenção dos dados. No modo tabela, o sistema permite obter todos os dados de uma determinada tabela. No modo consulta, o sistema permite informar uma consulta SQL para obtenção dos dados. Dica! O modo consulta é recomendado para casos aonde os dados a serem utilizados estão disponíveis em múltiplas tabelas, ou requerem algum tipo de pré-tratamento. Selecionar a opção “ tabela”e clicar no botão “ Next” . Selecionar a tabela desejada. Selecionar somente os campos relevantes da tabela que serão importantes no processo de mineração de dados. Clicar no botão Next. A nova origem de dados foi configurada. Depois de criar uma origem de dados, a mesma aparece na árvore abaixo do nó “ Data Sources” . Clicando sobre um elemento, é possível visualizar os detalhes da origem de dados: 25 Caso deseje-se reconfigurar a origem de dados, utilizar o botão “ Configurar” . 5.7) Funcionalidade de Regras de Associação (AssociationRules) A funcionalidade de Regras de Associação permite criar processos de mineração de dados do tipo “ Regras de Associação” . Criando um novo modelo Para criar um novo modelo, clicar sobre o nó : 26 Clicar em Next. Informar o nome, descrição e origem de dados do modelo. Clicar em Next. 27 O sistema apresenta as colunas de dados existentes na origem de dados. Deve-se marcar as colunas de dados a serem utilizadas neste modelo utilizando a caixa de marcação ( ). Para cada coluna, é exibido: - tipo: o tipo de dado original da origem de dados (não alterar em casos normais). - formatação: indica o tipo de formatação a ser aplicada nos dados. A formatação é útil em casos aonde deseja-se alterar o formato original dos dados visando definir o nível de detalhe. Por exemplo, para campos decimais, pode-se utilizar a formação “ {0:0.00}” , que formata os números com duas casas decimais. Para datas, pode-se utilizar formatos como {0:dd/MM/yyyy} que formata a data no padrão dia (2 dígitos), mês (2 dígitos) e ano (4 dígitos), ou mesmo formatos generalizados, como {0:mm/yyyy}, que indica que deve se considerado somente o mês e ano da data. - Tipo DM: indica o tipo de dado entendido pelo sistema de mineração de dados. Os tipos de dados de mineração disponíveis são: - discreto: indica que esta coluna deve ser tratada como uma lista enumerável de valores. Exemplo: sexo (masculino ou feminino) ou estado civil (casado, solteiro, desquitado, divorciado, viúvo ou outros). - contínuo: indica que esta coluna deve ser tratada como um número real, podendo receber qualquer valor válido. Exemplo: Valor de um pedido ou Horas de um projeto. Nota Importante! 28 O tipo de mineração de dados Regras de Associação só aceita colunas do tipo discreto. Caso tente-se utilizar uma coluna com tipo contínuo, a seguinte mensagem é exibida: Depois de configurar as colunas adequadamente, clicar no botão Next. O modelo já foi criado. Entretanto, o sistema apresenta um segundo wizard que pede parâmetros específicos do tipo de mineração de dados “ Regras de Associação” : 29 Deve-se selecionar os tipos dos dados a serem tratados. São oferecidos dois tipos: - Dados de Cesta: indica que os dados em questão correspondem a compras, e que deseja-se fazer uma análise de itens comprados freqüentemente. Neste caso, deve-se informar a coluna que contém a identificação da compra e a coluna que indica o produto adquirido. Esta forma de mineração assume que a origem de dados possui múltiplos registros para cada compra, da seguinte forma: - Dados gerais Indica que serão utilizados dados gerais, não contendo transações na forma de “ dados de cesta” , e que os padrões de regras de associações descobertos serão expressos pela combinação das colunas dos dados que ocorrem freqüentemente. Exemplo: 30 Neste caso, padrões como os existentes nas linhas 1 e 4 (masculino, casado, alto consumo) serão considerados pelo sistema caso ultrapassem os valores mínimos de relevância especificados. Selecionar o tipo desejado e clicar em Next. Deve-se informar os parâmetros utilizados na obtenção das regras de associação. Os parâmetros a serem informados são: - Suporte Mínimo: O suporte corresponde ao percentual do número total de registros do banco de dados atingidos pela regra. Valores muito baixos de suporte podem gerar muitas regras pouco significativas, além de aumentarem muito o tempo de treinamento do modelo. - Confiança mínima: A confiança corresponde ao percentual do grau de validade da regra, ou seja, em quantos casos que a implicação descrita pela regra é verdadeira. Valores muito baixos 31 de confiança geram regras de pouca validade, e que portanto contém um conhecimento de pouco valor. Selecionar os parâmetros desejados e clicar em Next. Um novo modelo do tipo Regras de Associação foi criado no sistema. Treinando o modelo Para treinar um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Treinar” : O sistema exibe a seguinte caixa de diálogo: Clicar sobre o botão “ Clique aqui para iniciar o treinamento” : 32 O sistema realizará então o treinamento. O tempo necessário para realizar o treinamento depende do tipo de mineração de dados utilizado, seus parâmetros e também da quantidade de dados a serem analisados. Quando o treinamento é finalizado, o sistema apresenta a seguinte tela: Visualizando o modelo treinado 33 Para visualizar um modelo, basta clicar sobre o nó da árvore correspondente ao modelo. Caso tente-se visualizar um modelo ainda não treinado, a seguinte mensagem é exibida: Caso o modelo já esteja treinado, a tela de visualização de regras de associação é exibida: Clicando no botão Filtrar, todas as regras de associação encontradas são visualizadas: 34 As regras são exibidas no formato SE-ENTÃO, significando que: SE a premissa for verdadeira, ENTÃO as conseqüências também serão, considerando os níveis de suporte (número de registros atingidos no banco de dados pela regra) e confiança (o quão verdadeira é a implicação). Caso existam muitas regras, ou regras de pouca relevância, pode-se alterar os valores de suporte e confiança e clicar novamente no botão “ Filtrar” . Removendo o modelo Para remover um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Remover” : O modelo será removido do projeto. 35 5.8) Funcionalidade de Clustering (Clustering) A funcionalidade de Clustering permite criar processos de mineração de dados do tipo “ Clustering” . Criando um novo modelo Para criar um novo modelo, clicar sobre o nó : Clicar em Next. 36 Informar o nome, descrição e origem de dados do modelo. Clicar em Next. O sistema apresenta as colunas de dados existentes na origem de dados. Deve-se marcar as colunas de dados a serem utilizadas neste modelo utilizando a caixa de marcação ( ). Para cada coluna, é exibido: - tipo: o tipo de dado original da origem de dados (não alterar em casos normais). - formatação: indica o tipo de formatação a ser aplicada nos dados. A formatação é útil em casos aonde deseja-se alterar o formato original dos dados visando definir o nível de detalhe. Por exemplo, para campos decimais, pode-se utilizar a formação “ {0:0.00}” , que formata os números com duas casas decimais. Para datas, pode-se utilizar formatos como {0:dd/MM/yyyy} que formata a data no padrão dia (2 dígitos), mês (2 dígitos) e ano (4 dígitos), ou mesmo formatos generalizados, como {0:mm/yyyy}, que indica que deve se considerado somente o mês e ano da data. - Tipo DM: indica o tipo de dado entendido pelo sistema de mineração de dados. Os tipos de dados de mineração disponíveis são: - discreto: indica que esta coluna deve ser tratada como uma lista enumerável de valores. Exemplo: sexo (masculino ou feminino) ou estado civil (casado, solteiro, desquitado, divorciado, viúvo ou outros). - contínuo: indica que esta coluna deve ser tratada como um número real, podendo receber qualquer valor válido. Exemplo: Valor de um pedido ou Horas de um projeto. 37 Depois de configurar as colunas adequadamente, clicar no botão Next. O modelo foi criado. Treinando o modelo Para treinar um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Treinar” : O sistema exibe a seguinte caixa de diálogo: Clicar sobre o botão “ Clique aqui para iniciar o treinamento” : 38 O sistema realizará então o treinamento. O tempo necessário para realizar o treinamento depende do tipo de mineração de dados utilizado, seus parâmetros e também da quantidade de dados a serem analisados. Em particular, o tipo de mineração Clustering é especialmente demorado e requer bastante memória disponível caso o número de registros a serem processados seja alto. Quando o treinamento é finalizado, o sistema apresenta a seguinte tela: 39 Visualizando o modelo treinado Para visualizar um modelo, basta clicar sobre o nó da árvore correspondente ao modelo. Caso tente-se visualizar um modelo ainda não treinado, a seguinte mensagem é exibida: Caso o modelo já esteja treinado, a tela de visualização de clustering é exibida: Deve-se inicialmente verificar o número de agrupamentos encontrados nos dados, clicando sobre a caixa “ Agrupamentos” : 40 Ao selecionar cada agrupamento, a caracterização do agrupamento é exibida: A caracterização do agrupamento determina a distribuição de valores para cada dado utilizado na mineração. Para dados de natureza discreta, cada valor contido no agrupamento é apresentando, com o seu respectivo percentual. Para dados de natureza continua, são apresentados os valores máximos, mínimos e médios naquele agrupamento. Pode-se fornecer um nome que defina o agrupamento na caixa “ Nome” , clicando no botão “ OK” : Removendo o modelo 41 Para remover um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Remover” : O modelo será removido do projeto. 5.9) Funcionalidade de Árvores de Decisão (DecisionTree) A funcionalidade de Árvores de Decisão permite criar processos de mineração de dados do tipo “ Árvores de Decisão” . Criando um novo modelo Para criar um novo modelo, clicar sobre o nó : Clicar em Next. 42 Informar o nome, descrição e origem de dados do modelo. Clicar em Next. O sistema apresenta as colunas de dados existentes na origem de dados. Deve-se marcar as colunas de dados a serem utilizadas neste modelo utilizando a caixa de marcação ( ). Para cada coluna, é exibido: - tipo: o tipo de dado original da origem de dados (não alterar em casos normais). 43 - formatação: indica o tipo de formatação a ser aplicada nos dados. A formatação é útil em casos aonde deseja-se alterar o formato original dos dados visando definir o nível de detalhe. Por exemplo, para campos decimais, pode-se utilizar a formação “ {0:0.00}” , que formata os números com duas casas decimais. Para datas, pode-se utilizar formatos como {0:dd/MM/yyyy} que formata a data no padrão dia (2 dígitos), mês (2 dígitos) e ano (4 dígitos), ou mesmo formatos generalizados, como {0:mm/yyyy}, que indica que deve se considerado somente o mês e ano da data. - Tipo DM: indica o tipo de dado entendido pelo sistema de mineração de dados. Os tipos de dados de mineração disponíveis são: - discreto: indica que esta coluna deve ser tratada como uma lista enumerável de valores. Exemplo: sexo (masculino ou feminino) ou estado civil (casado, solteiro, desquitado, divorciado, viúvo ou outros). - contínuo: indica que esta coluna deve ser tratada como um número real, podendo receber qualquer valor válido. Exemplo: Valor de um pedido ou Horas de um projeto. Depois de configurar as colunas adequadamente, clicar no botão Next. Deve-se então fornecer a coluna que será a classe. A classe é o objetivo principal de um processo de classificação, ou seja, qual das colunas deve ser prevista a partir dos demais. Selecionar a classe desejada. 44 Clicar no botão Next. O modelo foi criado. Treinando o modelo Para treinar um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Treinar” : O sistema exibe a seguinte caixa de diálogo: Clicar sobre o botão “ Clique aqui para iniciar o treinamento” : 45 O sistema realizará então o treinamento. O tempo necessário para realizar o treinamento depende do tipo de mineração de dados utilizado, seus parâmetros e também da quantidade de dados a serem analisados. Quando o treinamento é finalizado, o sistema apresenta a seguinte tela: Visualizando o modelo treinado 46 Para visualizar um modelo, basta clicar sobre o nó da árvore correspondente ao modelo. Caso tente-se visualizar um modelo ainda não treinado, a seguinte mensagem é exibida: Caso o modelo já esteja treinado, a tela de visualização de árvores de decisão é exibida: A visualização apresenta o nome e descrição do modelo, bem como a árvore de decisão induzida a partir dos dados. A árvore de decisão possui troncos e folhas. Os troncos são representados com o ícone , e as folhas com o ícone . 47 Os troncos representam condições sobre atributos, ao passo que as folhas representam as classes (objetivo do processo de classificação), com a sua freqüência de ocorrência simbolizada entre parênteses. Pode existir mais de uma classe para um determinado galho da árvore. No processo de avaliação/simulação, o sistema considerará a classe de resposta como sendo a classe com maior freqüência. Removendo o modelo Para remover um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Remover” : O modelo será removido do projeto. Avaliando um modelo Para avaliar um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Avaliar” : Caso o modelo não tenha sido treinado ainda, a seguinte mensagem será apresentada: No caso contrário, o sistema apresenta a tela de avaliação de árvores de decisão: 48 Selecionar a origem de dados a ser avaliada. Clicar no botão “ Clique aqui para iniciar a validação” . Caso a origem de dados selecionada não seja compatível com os dados utilizados para treinar a árvore de decisão, o sistema apresenta a seguinte mensagem: Caso a avaliação seja possível, o sistema apresenta os resultados da avaliação: 49 Os resultados da avaliação são compostos de: - uma lista com cada linha de dados da origem de dados selecionada, acrescido da coluna “ Predição” , que corresponde ao valor previsto pela árvore de decisão e a coluna “ Correto” , que indica se a previsão da árvore de decisão foi correta ou não. - taxa de acerto: corresponde ao percentual de registros previstos corretamente pela árvore de decisão. - total de linhas: corresponde ao total de registros na avaliação. Simulando um modelo Para simular um modelo, deve-se clicar sobre o modelo com o botão direito e selecionar a opção “ Simular” : Caso o modelo não tenha sido treinado ainda, a seguinte mensagem será apresentada: 50 No caso contrário, o sistema apresenta a tela de simulação de árvores de decisão: Para simular uma árvore de decisão, deve-se fornecer os valores dos dados. Para dados de natureza discreta, o sistema permite selecionar o valor desejado a partir de uma lista: Para dados de natureza contínua, o sistema permite a digitação de um número real: 51 Clicar no botão Executar. O sistema apresenta então o resultado da classificação a partir dos dados simulados na caixa “ Classe” , que indica a classe mais provável de classificação a partir dos dados fornecidos. 52 6) Revisão da Literatura O que é KDD e Data Mining? Segundo [1], existe uma confusão sobre o significado exato dos termos “ KDD”e “ Data Mining” , e muitos autores consideram os dois termos sinônimos. Na primeira conferência internacional de KDD, em Montreal(1995), foi proposto que o termo “ KDD” seria empregado para descrever todo o processo de extração de conhecimento (relações e padrões entre elementos) de dados. Foi também proposto que o termo “ Data Mining” seria empregado exclusivamente para descrever a etapa de descobrimento do processso KDD. O KDD é um campo de pesquisa multi-disciplinar: envolve aprendizado de máquina, estatística, tecnologia de banco de dados, sistemas especialistas e visualização de dados. Segundo [2], Data Mining é a procura de relações e padrões globais que existem grandes bancos de dados, mas que estão escondidos pela vasta quantidade de dados, como um relacionamento entre dados de um paciente e seu diagnóstico médico. Estes relacionamentos representam conhecimento de valor sobre bancos de dados e objetos do banco de dados e, se o banco de dados for um bom espelho, do mundo real registrado no banco de dados. Data Warehouse Segundo [1] em uma organização normal, são encontrados banco de dados muito grandes em operação para transações diárias normais. Estes tipos de bancos de dados são chamados de bancos de dados operacionais, e na maioria dos casos não foram projetados para armazenar dados históricos ou responder a consultas, mas simplesmente suportar todas as aplicações para transações diárias. O segundo tipo de banco de dados encontrados em organizações é o data warehouse. O data warehouse foi projetado para suporte estratégico a decisões e é construído principalmente pelos bancos de dados operacionais. A característica básica de um “ data warehouse”é conter vasta quantidade de dados. Data warehouses menores são chamados de datamarts. Existem regras que governam um data warehouse, tais como: Dependência do tempo: Em um data warehouse, sempre existe uma conexão entre as informações e o tempo em que elas entram na base. 53 Não- volátil: Os dados de um data warehouse nunca são atualizados; são usados somente para consulta. Isto significa que um data warehouse é formado por dados históricos. Orientados a motivo: Nem todas as informações existentes em um banco de dados operacional são úteis em um data warehouse, pois um data warehouse é projetado especificamente para suporte estratégico a decisão enquanto bancos de dados operacionais contém informações de uso diário. Integrado: Em um data warehouse, é essencial a integração e a consistência da informação: somente um nome deve existir para descrever cada entidade individual, ao contrário dos bancos de dados operacionais, que podem conter aplicações que usam diferentes nomes para as mesmas entidades. Ao configurar uma data warehouse, o administrador deve acessar todas as informações nas tabelas e nos atributos. Ele deverá conhecer informações como: Aonde os dados estão localizados. Que dados existem. Qual o formato dos dados. Como este dado esta relacionado com outros dados em outros bancos de dados. De onde os dados são e para quem eles pertencem. Diferentes formas de conhecimento Segundo [1], existem 4 formas de conhecimento: Conhecimento Superficial: São informações que podem ser facilmente extraídas de bancos de dados usando ferramentas de consulta como o SQL. Conhecimento Multi-dimensional: São informações que podem ser analisadas através de ferramentas OLAP. As ferramentas OLAP têm a capacidade de rapidamente analisar todos os tipos de agrupamentos e ordenações dos dados, mas tudo que uma ferramenta OLAP pode fazer também pode ser feito através do SQL. A vantagem das ferramentas OLAP é que estas são otimizadas para este tipo de procura e operação de análise. Entretanto, OLAP não é tão poderoso quanto mineração de dados: ele não pode procurar por melhores soluções. Conhecimento Escondido: São as informações que podem ser encontradas de modo relativamente fácil usando algoritmos de reconhecimento de padrões ou aprendizado de máquina. É possível utilizar SQL para encontrar estes padrões, mas seria uma tarefa extremamente demorada. Um algoritmo de reconhecimento de padrões 54 encontra em minutos ou horas o que gastaria meses usando SQL para obter os mesmos resultados. Conhecimento Profundo: São as informações que somente podem ser localizadas se existir alguma dica de aonde procurar. Conhecimento profundo é tipicamente o resultado de um espaço de busca contra um pequeno mínimo local, sem indicação de elevações na vizinhança. Um exemplo seria uma informação criptografada armazenada no banco de dados, que é impossível de ser decifrada se a chave não puder ser obtida. Etapas do KDD Segundo [1], o KDD consiste, a princípio, em 6 estágios: Seleção dos dados Limpeza dos dados Enriquecimento dos dados Codificação dos dados Mineração dos Dados (Data Mining) Relatando resultados A trajetória não é linear, ou seja , pode ser necessário voltar uma ou mais fases durante o processo. Por exemplo: quando o minerador de dados está na fase de codificação ou de mineração dos dados, pode-se chegar a conclusão que a fase de limpeza está incompleta. Seleção dos Dados Compreende a seleção de dados operacionais que serão utilizados no ambiente de KDD. Na maioria dos casos, os dados são armazenados em bancos de dados operacionais. Entretanto, obter estas informações em um banco de dados centralizados não é uma tarefa fácil, pois envolve conversão de dados de baixo nível, como arquivos simples para tabelas relacionais, ou sistemas hierárquicos para sistemas relacionais. Limpeza dos Dados Existem vários tipos de processos de limpeza; alguns podem ser executados antecipadamente, enquanto outros são utilizados somente quando poluição é detectada no processo de descoberta. Existem dois tipos básicos de poluição: 55 duplicação dos registros: Em um banco de dados normal, registros podem estar duplicados, resultado de negligência de digitadores ou pela presença de dados desatualizados. Um algoritmo de remoção de duplicação usando técnicas de reconhecimento de padrões pode ser usado para identificar a situação e apresentá-la ao usuário, que fará a decisão pelo registro a ser utilizado. falta de consistência de domínio: Refere-se a algum dado com domínio inválido, como uma data presente em um registro indicando primeiro de janeiro de 1901, data em que a companhia em questão provavelmente não existia. Este tipo de poluição é particularmente danosa, por ser difícil de rastrear, e em contrapartida, influencia grandemente os tipos de padrões detectados na mineração de dados. Um dado inválido pode ser transformado em um campo nulo, para evitar a geração de padrões incorretos. Em bancos de dados pequenos, é possível analisar os dados para verificar as possibilidades de poluição nos dados. Em bancos de dados grandes, deve-se selecionar alguns exemplos aleatoriamente e analisá-los para ter uma idéia geral do que esperar de poluição. Na maioria das vezes, os dados vitais de uma organização são armazenados corretamente. Se, por exemplo, a data de nascimento dos clientes de uma determinada empresa não for vital para a sua operação, estes dados podem estar em branco ou corrompidos. Logo, não será possível descobrir padrões baseados na idade dos clientes. Enriquecimento dos dados Consiste da adição de novos dados as informações existentes, para melhora no processo de mineração dos dados. Um exemplo seria quando companhias trocam dados para coordenarem suas operações de marketing. Coordenar a integração do banco de dados de uma empresa com bancos de dados comprados pode ser uma tarefa difícil. Se a companhia em questão adquiriu bases de dados sobre dados demográficos de pessoas que vivem em uma determinada área, esta informação somente tem valor se for possível reconstituir as relações familiares entre indivíduos que estão no banco de dados da companhia e na base adquirida. Codificação dos dados Consiste em selecionar somente aqueles registros que contém informação de valor suficiente. Apesar de ser difícil dar regras detalhadas para este tipo de operação, esta é uma situação que ocorre freqüentemente na prática. Na maioria das tabelas coletadas de bancos de dados operacionais, uma grande quantidade de dados desejáveis está perdida, e são impossíveis de serem recuperados. É necessário 56 tomar-se então a decisão de rever o registro ou removê-lo. Uma regra geral diz que qualquer remoção deve ser uma decisão consciente, depois de uma análise das possíveis conseqüências. Neste momento, as informações no banco de dados são muito detalhadas para serem usadas com entrada para algoritmos de reconhecimento de padrões. Um exemplo seria dados que contém informações de endereços. Informações de endereços são muito detalhadas para algoritmos de reconhecimento de padrões. Neste caso, poderiase recodificar endereços como códigos regionais. Codificação é então uma atividade criativa que deve ser realizada repetidamente para obter os melhores resultados. Dados que contenham datas, por exemplo são, novamente, muito detalhados. Podese, por exemplo, utilizar somente os números dos meses. Entretanto, poderíamos estar interessados na influência das estações do ano e não em séries cronológicas. Neste caso, poderíamos recodificar as datas como códigos de estações e tentar encontrar padrões nestes dados. Mineração de Dados (Data Mining) A etapa de descobrimento no processo de KDD é fascinante. A mineração de dados não é somente uma técnica que parte do princípio que existe mais conhecimento escondido nos dados que a superfície apresenta. Qualquer técnica que ajude a extrair mais dos dados é útil. Não existe um método considerado melhor para aprendizado de máquina ou de reconhecimento de padrões: diferentes tarefas pressupõem diferentes técnicas. Deste modo, as ferramentas de mineração de dados são um grupo bastante heterogêneo. Algumas técnicas de Mineração de Dados são: Ferramentas de consulta (SQL) Técnicas de Visualização Clustering OLAP - Online analytical processing K-vizinhos mais próximos Árvores de decisão Regras de Associação Redes Neurais Algoritmos genéticos Relatando resultados 57 Relatar resultados na mineração de dados pode ser feito de muitas formas. Em geral, pode-se usar um gerador de relatórios ou uma ferramenta gráfica para fazer os resultados mais acessíveis. Este estágio apresenta duas funções diferentes: - analisar os resultados de algoritmos de reconhecimento de padrões. - aplicação de resultados de algoritmos de reconhecimento de padrões em novos dados. Varias técnicas de visualização de dados estão emergindo, variando deste simples diagramas mostrando diferentes agrupamentos em um modo bidimensional, até complexos ambientes interativos que permitem voar através de cenários contendo informações sobre conjuntos de dados. Ferramentas de mineração Nos tópicos seguintes, serão detalhadas algumas das mais conhecidas ferramentas de mineração. Ferramentas de consulta (SQL) O primeiro passo em um projeto de Mineração de Dados sempre é uma análise superficial dos dados utilizando ferramentas de consulta tradicionais. Apenas aplicando simples consultas SQL no conjunto dos dados possibilita a extração de informações ricas. Este processo é útil para conhecer alguns aspectos básicos e estruturas do conjunto de dados. Técnicas de Visualização Técnicas de visualização são um método muito útil de descobrimento de padrões em conjuntos de dados e devem ser utilizadas no início do processo de mineração de dados. Possibilidades interessantes são oferecidas por conjuntos de ferramentas tridimensionais e por técnicas gráficas de realidade virtual. Uma técnica elementar que pode ter grande valor é o conhecido diagrama “ scatter” ; nesta técnica, as informações de dois atributos são visualizadas no espaço cartesiano. Existem outras razões para visualizar registros como pontos em um espaço de dados multi-dimensionais. Utilizando-se esta metáfora, é possível determinar a distância entre dois registros; registros próximos uns dos outros são semelhantes, registros distantes apresentam muito pouco em comum. Visto que uma etapa correta de codificação dos dados já normalizou os valores dos atributos, os dados já estão escalonados na mesma ordem de magnitude, de modo a obter uma medida de distância confiável entre registros. Já que os registros são pontos no espaço multidimensional, é possível visualizar nuvens de dados e identificar agrupamentos por 58 mera inspeção visual. Na maioria dos casos, são necessários programas mais avançados de procura para descobrir agrupamentos e predições interessantes. Clustering Segundo [3], o processo de agrupar objetos físicos ou abstratos em classes de objetos similares é chamado clustering ou classificação não-supervisionada. Como tarefa de mineração de dados, o clustering agrupa dados. de acordo com a medição de distâncias em um conjunto de dados multi-dimensional. Em um grande conjunto de pontos multi-dimensionais de dados, o espaço de dados não é uniformemente ocupado por pontos de dados. O Clustering identifica espaços esparços e cheios, e em conseqüência descobre os padrões de distribuição do conjunto de dados. O Clustering é um estudo em estatística, aprendizado de máquina, bancos de dados espaciais e mineração de dados com diferentes ênfases. Segundo [2], o clustering é realizado da seguinte forma: primeiro, o sistema descobre subconjuntos de objetos no conjunto de treinamento, e então encontra descrições que descrevem estes subconjuntos. Para ilustrar a complexidade do aprendizado nãosupervisionado, será calculado o número de possíveis agrupamentos em um banco de dados com n-tuplas. Se existem m agrupamentos no banco de dados, o conjunto de ntuplas é particionado em m conjuntos disjuntos e não-vazios. Vamos utilizar P(N,m) como sendo o número de possibilidades em que isto possa ser feito. Deste modo, o número de modos de particionar N elementos em subconjuntos é dado por: 1 m P( N , m) m! j 0 m j N 1 m j j P(N,m) é uma função que cresce de forma exponencial em N. O número total de modos no qual um banco de dados de n-tuplas pode ser agrupado, denotado por C(M) é: C ( N ) P( N , m ) m1 m1 N N 1 m m! j 0 m j N 1 m j j 59 Por exemplo, para N=8. temos: M 1 2 P(8,m 1 3 4 5 6 7 127 966 170 105 266 28 ) 1 8 total 1 414 0 0 Claramente, o processo de mineração de dados apresenta sucesso somente se o número de classes em um banco de dados for pequeno. Entretanto, mesmo que seja assumido que o número de classes que são esperadas no banco de dados é pequena, se comparada ao tamanho do banco de dados, por exemplo, 10 agrupamentos, o número de possibilidades ainda é muito grande. Segundo [4], o objetivo do clustering é classificar registros baseados na proximidade entre registros em um número relativamente pequeno de classes. Esta classificação é feita baseada na medida de similaridade ou proximidade entre registros. Considerando: x –conjunto de pontos de dados, sendo que cada ponto é composto de n atributos. d(i,j) –matriz de proximidade de dois itens do conjunto de dados. A proximidade entre os pontos pode ser expressa pela distância Euclidiana ou distância de Manhattan, utilizando os n atributos dos dois itens fornecidos. Ck –um cluster qualquer Temos os seguintes conceitos: Centróide de um cluster O centróide de um cluster k é expresso pela fórmula: S (n ,k ) 1 C| k | x C x k Ou seja, o centróide é um ponto de dado cujos atributos são a média dos atributos existentes nos pontos de dados que pertencem ao cluster,. Variação intra-cluster A variação intra-cluster de um cluster k é dada pela fórmula: e k 1 x C d (X m, C| K | k k ) Ou seja, a variação intra-cluster representa média das distâncias de todos os pontos pertencentes ao cluster até o centróide. Tensão entre clusters 60 A tensão de um cluster k é dada pela fórmula: E K 1 Km a x (e 1 ) e K k 1 k Ou seja, a tensão de um cluster é a média das variações intra-cluster normalizada pelo máximo valor de todas as variações intra-clusters. ek e Ek são valores entre 0 e 1. Quanto mais próximo o valor da tensão entre clusters for de 0, melhor será a qualidade do cluster. Algoritmo do k-médio Iniciar com um conjunto de pontos associados a K clusters. Computar o centróide mk para cada cluster para k=1,...,K. Para cada ponto x no conjunto, encontrar o cluster mais próximo do ponto x. Adiciona o ponto x no cluster mais próximo, se o ponto já não estiver ali. Remove o ponto x do cluster anterior, caso o ponto estivesse em um cluster anteriormente Recomputar o centróide mk para cada cluster para k=1,...,K. Repetir os passos 2 até 5 até nenhum ponto mudar de cluster durante um passo completo ou o número de máximo de passos for ultrapassado. Regras de Associação Segundo [5], regras de associação são uma classe de regularidades em bancos de dados binários. Uma regra de associação é uma expressão X=>Y, onde X e Y são conjuntos de atributos, significando que nas colunas do banco de dados onde os atributos em X tem o valor verdadeiro, também os atributos em Y tendem a ter o valor verdadeiro. Aplicações são inúmeras. Uma área de aplicação típica é a análise do comportamento do consumidor comprando: quais itens os consumidores compram juntos freqüentemente em um supermercado? Qualquer dado pode ser visto como uma relação entre atributos binários: cada transação é uma coluna no banco de dados que contém valores 1 para atributos correspondendo a itens presentes na transação. Data um conjunto de itens X, o suporte s(X) de X é o número de transações que contém todos os itens de X. Dado um limiar de suporte , pode-se dizer que um conjunto de itens X é grande se s(X)>= , sendo especificado pelo usuário como a mínima fração do banco de dados que 61 permanece interessante. A confidência da regra de associação X=>Y é s(Y)/s(XY), ou seja, a probabilidade que uma transação com itens X também contenha itens Y. Todas as regras de associação X=>Y com s(XY)>= podem ser encontradas em duas fases. Na primeira fase, o banco de dados é percorrido visando buscar por todos os conjuntos de itens grandes, ou seja, conjuntos de itens que ocorram juntos no mínimo em transações no banco de dados. Na segunda fase, regras de associação são geradas destes grandes itens de dados. Segundo [3], regras com alta confidência e suporte forte são chamadas de regras fortes(“ strong rules” ). A tarefa de minerar regras de associação é essencialmente descobrir regras de associação fortes em grandes bancos de dados. Deve-se notar que a performance geral das regras de associação é determinada no primeiro passo. Depois que todos os conjuntos de itens grandes são identificados, as regras de associação correspondentes podem ser derivadas de uma maneira simples. Algoritmo Apriori Considere as transações de exemplo na figura acima. Em cada iteração, o algoritmo Apriori constrói um grupo de conjuntos de itens grandes candidato, contando o número de ocorrência de cada conjunto de itens candidato, e então determina conjuntos de itens grandes baseado em um suporte mínimo pré-determinado. Na primeira iteração, Apriori simplesmente percorre todas as transações para contar o número de ocorrências de cada item. O conjunto de candidatos de 1 item, C1, obtido é mostrado na figura abaixo. Assumindo que o suporte mínimo requerido é 2 (40%), o grupo de conjuntos de 1 item grandes L1, composto de conjuntos de 1 item candidatos com o mínimo de suporte requerido pode ser determinado. Para descobrir o grupo de conjuntos de 2 itens grandes, levando em conta que qualquer sub-conjunto de um conjunto de itens grande deve ter também suporte mínimo, Apriori usa L1 * L1 para gerar um grupo de conjuntos de itens candidato C2 onde * é a operação de | L1 2 concatenação. C2 consiste de | conjuntos de 2 itens. A seguir, as 4 transações em D são percorridas e o suporte de cada conjunto de itens candidato em C2 é 62 contado. O grupo de conjuntos de 2 itens grande L2, é determinado baseado no suporte de cada conjunto de 2 itens candidato em C2. O grupo de conjunto de itens C3 candidato é gerado de L2 do seguinte modo: de L2, dois conjuntos de 2 itens grandes com o mesmo primeiro item, como em {BC} e {BE} são identificados primeiro. Então, Apriori testa se o conjunto de 2 itens {CE} , que consiste dos seus segundos itens, constitui um conjunto de 2 itens grande ou não. Partindo do pressuposto que {CE} é um conjunto de itens grande, sabe-se que todos os sub-conjuntos de {BCE} são grandes e então {BCE} se torna um conjunto de 3 itens candidato. Não existe outro conjunto de 3 itens candidato em L2. Apriori então procura por todas as transações e descobre o grupo de conjuntos de 3 itens grande L3. Visto que não existe nenhum candidato a conjunto de 4 itens para ser constituído de L3, Apriori termina o processo de descobrir conjuntos de itens grandes. Classificadores Segundo [3], classificação de dados é o processo que encontra propriedades comuns em um conjunto de objetos em um banco de dados e classificá-los em diferentes categorias denominadas classes, gerando um modelo de classificação. Para construir um modelo de classificação, um banco de dados exemplo E é tratado como um conjunto de treinamento, no qual cada tupla consiste no mesmo conjunto de atributos 63 como as tuplas em um banco de dados grande W, e adicionalmente, cada tupla tem uma classe identidade conhecida associada a ela. O objetivo da classificação é primeiro analisar os dados de treinamento e desenvolver descrições apuradas ou um modelo para cada classe usando as características disponíveis nos dados. Descrições de classes são então usadas para classificar futuros dados de teste no banco de dados W ou para desenvolver uma descrição melhor para cada classe no banco de dados. Aplicações para classificação incluem diagnóstico médico, predição de performance, marketing seletivo, para citar algumas. Classificação baseada em árvores de decisão Segundo [2] e [3], uma árvore de decisão é uma representação simples de conhecimento que foi usada com sucesso em sistemas de aprendizado de máquina supervisionado, no sistema ID-3 de Quinlan. O ID-3 adota a irrevogável estratégia topdown, que procura somente uma parte do espaço de busca. Isto garante que uma simples, mas não necessariamente mais simples árvore é encontrada. Nodos na árvore são nomeados com nomes de atributos e bordas são nomeadas como os possíveis valores para este atributo, e as folhas são nomeadas com diferentes classes. A qualidade da árvore depende tanto da eficiência da classificação e do tamanho da árvore. Algoritmo: Gerando a árvore de decisão (C4.5) Segundo [7], o algoritmo de geração de árvores de decisão do C4.5 é baseado no algoritmo de Hunt. Dado um conjunto T de casos de treinamento e chamando {c1,...,cn) o conjunto de classes, existem 3 possibilidades: T contém um ou mais casos pertencentes a uma mesma classe. Neste caso, T é uma folha que identifica a respectiva classe. T não contém nenhum caso. T. Neste caso, T também é uma folha, porém a classe identificada por T deve ser inferida por outras informações, e assume-se que T é a classe mais freqüente no nó pai desta folha. senão, T contém casos pertencentes a mais de uma classe. Neste caso, deve-se refinar T em subconjuntos que devem convergir a uma única classe. Isto é feito da seguinte forma: T é particionado de acordo com um atributo em n partes, correspondentes aos possíveis valores deste atributo, ou no caso deste ser contínuo, em intervalos. A escolha do referido atributo é feita utilizando-se o critério de razão de ganho, definido pela teoria da informação. 64 Critério de razão de ganho Seja C um conjunto de treinamento, pode-se definir: freq(Ci,S): número de casos de S que pertençam a classe Ci. |S|: número total de casos em S. Desde modo, pegando-se um caso do conjunto T e considerando que ele pertença a uma classe de problema Cj, essa mensagem possui uma probabilidade dada por: freq (C j ,T ) T | | e desse modo, a informação carregada pela mensagem é dada por: ) freq (C j,T log T | | Para encontrar a informação esperada de uma mensagem pertencente a uma determinada classe, é somada a informação carregada pelas mensagens dessa classe na proporção de suas freqüências em T, calculadas por: in f o (T ) k freq (C j,T ) j 1 T| | ) freq (C j,T x lo g T | | que calcula a média de informação necessária para identificar uma classe em T(também chamado de entropia de T). Agora, considere uma medição semelhante após T ter sido particionado em n subconjuntos, de acordo com as n saídas de um determinado atributo X. A informação necessária de T pode ser calculada como a soma ponderada das informações necessárias de cada subconjunto de T, ou seja: inf ox(T ) i 1 n | Ti | x inf o(Ti ) |T | E a quantidade: gain( X ) inf o(T ) inf ox (T ) corresponde ao ganho de informação que é conseguido através da partição de T pelo atributo X. O critério de ganho então seleciona o atributo que maximiza gain(X) para realizar a partição. O problema com o critério de razão de ganho é que este possui uma forte tendência para atributos com muitas saídas. Para retificar a tendência do critério de ganho, pode ser realizada uma normalização que ajuste o aparente ganho conseguido com uma partição de acordo com o número de saídas do atributo levado em consideração. Para 65 isso, considere que agora a informação carregada por uma mensagem não indica a classe do problemas, mas sim a saída do atributo correspondente. Deste modo infox(T) seria escrito como: n |T | split inf o( X ) i x log2 i 1 |T | | Ti | T | | que representa a informação potencial gerada pela divisão de T de acordo com o atributo X. Assim, gain( X ) gainratio( X ) split inf o( X ) representa a proporção de informação gerada pela partição que realmente é útil, ou seja, que parece ajudar na classificação. O problema agora é que, se splitinfo for muito pequeno, o ganho aparente da informação se tornará muito grande, não importando o ganho real conseguido. Para evitar isso, o C4.5 escolhe somente os atributos que possuam um valor de gain maior ou igual à média dos valores de gain de todos os atributos. Referências Bibliográficas [1] Adriaans, Pieter ; Zantinge,Dolf. Data Mining [2] Holsheimer,Marcel; Siebes,Arno. Data Mining: The Search for Knowledge in Database [3] Chen, Ming-Syan; Han,Jiawei; Yu,Philip S. . Data Mining: An Overview from Database Perspective [4] Pentakalos, Odysseas I.; Menascé, Daniel A.; Yesha, Yelena. Automated Clustering-Based Workload Characterization [5] Holsheimer, M.; Kersten, M.; Mannila, H.; Toivonen, H. . A perspective on databases and data mining [6] Microsoft ODBC 3.0 Programmer’ s Reference, Volume 1 [7] Santos, Alexandre Denes dos; Relatório sobre C4.5 –Projeto GIR 66