Por que eu devo ler este artigo:Com o avanço das tecnologias, presenciamos um enorme crescimento na capacidade das pessoas em gerar e coletar dados. Esse grande volume de dados vem ultrapassando a capacidade humana de interpretar e compreender tanta informação. Isso impulsionou o desenvolvimento do processo para a descoberta de conhecimento em base de dados, que é baseado na busca, análise e interpretação de padrões úteis, retirados de grandes bases de dados. Uma das etapas principais dentro do Processo de Descoberta de Conhecimento é a aplicação da técnica de mineração de dados. Esta técnica é usada para transformar grandes volumes de dados em informações significativas para o planejamento, a gestão e a tomada de decisão.

Nesta primeira parte do artigo conheceremos algumas definições introdutórias na área de mineração de dados.

Na análise do grande volume de dados presente nas organizações nos dias atuais. Esta quantidade ultrapassou a capacidade humana de interpretar e compreender tanta informação. Para isso, é importante conhecer e saber como utilizar técnicas de mineração de dados.

Com o avanço das tecnologias, presenciamos um enorme crescimento na capacidade das pessoas em gerar e coletar dados, sejam esses dados administrados pelo governo, pela comunidade ou pelas entidades de pesquisa. Esse grande volume de dados vem ultrapassando a capacidade humana de interpretar e compreender tanta informação.

O enorme crescimento das empresas e a forte concorrência entre elas instiga a busca por um melhor aproveitamento das informações, fazendo com que a necessidade de novas ferramentas e técnicas para manipulação e armazenagem de dados sejam criadas. Nesse contexto, as empresas têm, ao seu alcance, uma enorme oportunidade para compreender, por meio de seu próprio repositório de dados, o andamento de seus negócios, visando melhorar a competitividade no mercado.

Isso impulsionou o desenvolvimento do processo para a descoberta de conhecimento em base de dados – KDD (Knowledge Discovery in Database), que é baseado na busca, análise e interpretação de padrões úteis, retirados de grandes bases de dados. Vários estudos estão sendo realizados nesta área, a fim de aprimorar este processo e tornar sua aplicação mais acessível, compreensível e eficaz, garantindo que a retirada de informações seja feita de forma consistente.

Com isso, surge na década de 80, a Data Mining, também chamada de Mineração de Dados, que é uma das etapas principais dentro do Processo de Descoberta de Conhecimento, originada de áreas como Estatística, Inteligência Artificial e Banco de Dados. A técnica é usada para transformar grandes volumes de dados em informações significativas para o planejamento, a gestão e a tomada de decisão.

A mineração de dados está sendo cada vez mais aplicada nas mais diversas áreas. Na medicina para prever paciente com maior probabilidade de contrair uma doença específica, com base nos dados históricos dos pacientes. Na telecomunicação, para identificar fraudes em ligações telefônicas, dentre um enorme número de ligações efetuadas pelos clientes. No mercado financeiro, para prever as ações que estarão em alta na bolsa de valores, em função do histórico de preços das ações e valores de índices financeiros.

Embora as aplicações mais comuns de mineração de dados se refiram a clientes, compras e vendas, esta área é ampla e tem sido aplicada no setor educacional. As instituições de ensino tiveram, nos últimos tempos, uma ampliação, tanto de cursos, quanto de vagas. Desta forma, os responsáveis precisam ter a preocupação de acompanhar a permanência desses alunos nos cursos ofertados. Para que o índice de conclusão de cursos aumente é necessário identificar os fatores que levaram ao insucesso dos estudantes. A mineração de dados trouxe uma grande contribuição para esse quesito, pois através de informações escondidas em bases de dados, é possível descobrir os principais fatores que influenciam a conclusão, a evasão, ou até mesmo o tempo médio para concluir um curso. Obtendo esse relatório geral dos problemas encontrados nas escolas, os responsáveis podem realizar medidas efetivas para melhorar o ensino em suas instituições e, consequentemente, em todo o país.

A aplicação do KDD e, especificamente da etapa de Data Mining, pode ser de enorme importância para todas as áreas que necessitem retirar informações de uma base forte e concreta de dados. Com isso, ao aplicar a técnica em uma base de dados institucional, é possível retirar das mesmas informações relevantes para tomada de decisões que ajudam na solução de um problema, ou aperfeiçoamento de técnicas já usadas para administrar recursos de qualquer ordem.

Nesta primeira parte do artigo conheceremos algumas definições introdutórias na área de mineração de dados.

Para isso, serão apresentados a partir de agora os conceitos relacionados ao processo de descoberta de conhecimento em bases de dados (KDD), com ênfase na etapa de mineração de dados. Será destacado também as ferramentas que servirão de apoio ao processo de descoberta de conhecimento em bases de dados, tais como Weka, Data Warehouses, Data Marts, e DTS.

Dados, Informação e Conhecimento

Dados, informação e conhecimento são um conjunto que tem sido um importante fator de competitividade, aumento da produtividade e da qualidade em diferentes tipos de organizações.

Os dados tratados isoladamente representam um ou mais itens que não podem transmitir mensagens úteis. Para que estes dados se tornem úteis, passando alguma informação, é necessário que as pessoas atuem sobre eles.

A informação são os dados tratados, que se forem devidamente processados são providos de um determinado significado e contexto para o sistema. A informação é um fluxo de mensagens e por meio dela não só se extrai, como também se constrói o conhecimento.

O conhecimento, além de ter um significado, também possui uma aplicação. Constitui um saber, produz ideias e experiências que as informações por si só não seriam capazes de mostrar.

O Processo de Descoberta de Conhecimento em Bases de Dados (KDD)

A extração de conhecimento em bases de dados - Knowledge Discovery in Databases (KDD) teve início nos anos 70, tendo como objetivo adquirir conhecimento das bases de dados acumuladas. O termo foi formalizado em 1989, englobando recursos de reconhecimento de padrões, estatística, máquinas de aprendizado e métodos de visualização. Uma das definições mais populares foi proposta em 1996, por um grupo de pesquisadores: “KDD é um processo, de várias etapas, não trivial, interativo e iterativo, para identificação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjuntos de dados.”

O KDD é usado na área financeira, telefonia, franquia de Fast-Food, ação social, educação, área médica, área financeira, arrecadação de impostos, área de seguros, área de produção e diversos outros tipos de bancos de dados. A Figura 1 mostra detalhadamente as etapas de KDD da fonte de dados inicial até o processo de extração de conhecimento.

Etapas do processo de extração do conhecimento
Figura 1. Etapas do processo de extração do conhecimento.

O processo KDD e suas etapas:

O processo de KDD pode ser dividido em três etapas operacionais: pré-processamento, mineração de dados e pós-processamento.

Uma breve descrição destas etapas é apresentada a seguir:

Pré-processamento

A etapa de pré-processamento compreende a obtenção, organização e tratamento dos dados. Inicia-se a seleção dos dados, ou seja, a partir de um critério definido pelo especialista do domínio faz-se a seleção de um conjunto de dados considerados importantes para a organização. Na maioria das vezes, os dados para análise encontram-se em um formato inadequado para realização do processo de KDD. Para solucionar esse problema é necessário aplicar métodos de tratamento para fazer a limpeza dos mesmos.

As principais funções de pré-processamento dos dados são:

  • Seleção de dados: É necessário efetuar nessa função a identificação de quais informações existentes na base de dados devem ser efetivamente consideradas durante o processo de KDD. Por exemplo, para uma aplicação cujo objetivo seja construir o modelo que preveja o comportamento de novos clientes quanto aos pagamentos de futuros créditos a eles concedidos, o nome do cliente é uma informação irrelevante. Por outro lado, a data de nascimento é fundamental em um modelo para estimar o valor de uma apólice de seguro para esse cliente. Ou seja, a seleção de dados pode ter dois enfoques distintos: a escolha de atributos ou a escolha de registros considerados no processo de KDD.

  • Limpeza de dados: É realizada uma espécie de tratamento sobre os dados, com o intuito de assegurar a qualidade relacionada à completude, veracidade e integridade sobre os mesmos, ou seja, informações errôneas ou inconsistentes nas bases de dados devem ser corrigidas, de forma a não comprometer o conhecimento a ser extraído no final do processo de KDD. Por exemplo, caso surgisse qualquer valor diferente dos definidos num intervalo de possíveis valores para um determinado atributo, o registro contendo esse dado poderia ser removido.

  • Codificação dos Dados: Operação responsável pela forma como os dados serão representados durante o processo de KDD. Os dados devem ser codificados de forma a atender às necessidades específicas dos algoritmos de mineração. Por exemplo, uma rede neural requer dados numéricos. Caso a base de dados a ser processada apresente valores nominais, esses devem ser codificados antes de serem submetidos à rede.

  • Enriquecimento dos dados: Agrega mais informações aos registros existentes, enriquecendo os dados, para que estes forneçam mais informações para o processo de KDD. Podem ser realizadas as pesquisas para complementação dos dados, as consultas às bases de dados externas, entre outras técnicas. Outro ponto importante a ser considerado na etapa de pré-processamento é que, em virtude das restrições de espaço em memória, ou tempo de processamento com relação ao número de exemplos e de atributos disponíveis para a análise, ocorrer inviabilização da utilização de algoritmos de extração de padrões, sendo necessária a aplicação de métodos de redução de dados antes de se iniciar a busca pelos padrões.

    Data Mining (Mineração de Dados)

    O processo será visto na próxima seção deste artigo.

    Pós-Processamento

    A etapa de pós-processamento compreende a visualização, análise e interpretação da etapa de mineração. Nessa etapa, o analista/especialista em KDD verifica os resultados obtidos na etapa anterior e faz uma análise para a transformação do conhecimento em novas alternativas de uso de informações. Os padrões extraídos podem ser simplificados, avaliados, visualizados ou simplesmente documentados para o usuário final.

    Um ponto importante a se destacar no pós-processamento é que o especialista no domínio da aplicação representa a pessoa ou o grupo de pessoas que conhece o assunto em que deverá ser realizada a aplicação de KDD. Em geral, pertencem a esta classe analistas de negócio interessados em identificar novos conhecimentos que possam ser utilizados em sua área de atuação. Costumam deter o chamado conhecimento prévio sobre o problema (background knowledge). As informações prestadas pelas pessoas deste grupo são de fundamental importância no processo de KDD, pois influenciam desde a definição dos objetivos do processo até a avaliação dos resultados.

    Data Mining

    Data Mining é a etapa do KDD que consiste na aplicação de algoritmos específicos que extraem padrões a partir dos dados. Originalmente, essa técnica deriva das áreas de estatística, inteligência artificial e banco de dados, e tem como objetivo explorar grande quantidade de dados na busca de padrões consistentes.

    Historicamente, a mineração de dados surgiu com a evolução dos bancos de dados, em meados dos anos 80 em diante, quando as organizações conseguiram armazenar grandes quantidades de dados. Nos anos 90 percebeu-se que esses dados estavam sendo subutilizados e, com isso, surgiu a ideia de usá-los de forma estratégica para a descoberta de novas informações. Essa, porém, não era uma tarefa fácil. As empresas têm bancos com trilhões de registros, com centenas de atributos, que devem ser analisados simultaneamente. Com isso, surgiu a técnica que recebeu o nome de mineração de dados.

    As técnicas da mineração de dados passaram a ser usadas como exploração desses dados, por vários motivos:

  • O volume de dados disponível atualmente é enorme: mineração de dados é uma técnica que necessita de grande volume de dados para calibrar seus algoritmos e extrair dos dados conclusões confiáveis. Grandes áreas como: empresas de telefonia, cartões de crédito, bancos, televisão por assinatura, comércio eletrônico, entre outras, geram a cada dia uma grande quantidade de dados sobre seus serviços e clientes. Estes dados são passíveis de análise por mineração;

  • Os dados estão sendo organizados: os dados de várias fontes estão sendo organizados e padronizados com a tecnologia de data warehouse. As técnicas de mineração de dados necessitam de bancos de dados limpos, com organização e padronizados;

  • Os recursos computacionais estão cada vez mais potentes: para operar seus algoritmos, a mineração de dados necessita de vários recursos computacionais, sobre grandes quantidades de dados. O aumento da potência computacional, conforme a queda dos preços dos computadores e ao grande avanço tecnológico, facilita o uso da mineração de dados atualmente. Outro fato que também auxiliou muito a mineração de dados é a construção de bancos de dados distribuídos;

  • A competição empresarial exige técnicas mais modernas de decisão: diversas empresas, tais como a área de finanças, telecomunicações e seguro, experimentam, a cada dia, mais competições. Como estas empresas sempre conservaram em seus bancos de dados uma enorme quantidade de informação, é natural que a mineração de dados tenha se iniciado dentro de seus limites. Atualmente, outras empresas buscam adquirir dados para analisar melhor seus caminhos futuros através dos sistemas de apoio à decisão. Com o fato de que as empresas precisam saber que serviço oferecer e a quem, a aquisição de dados é um fator importante. Para outras empresas, até a venda das informações pode ser um produto;

  • Programas comerciais de mineração de dados já podem ser adquiridos: as técnicas de mineração de dados, por mais que sejam antigas conhecidas da inteligência artificial, apenas recentemente saíram dos laboratórios para as empresas.

    Técnicas de Data Mining

    Com a mineração de dados, podem ser realizadas algumas tarefas, como:

    • Descrição (Description): essa tarefa é muito utilizada juntamente com as técnicas de análise exploratória de dados para comprovar a influência de determinadas variáveis no resultado obtido. Ela descreve padrões e tendências que são revelados pelos dados, oferecendo geralmente uma possível interpretação para os resultados obtidos;
    • Classificação (Classification): uma das tarefas mais comuns, ela identifica a qual classe pertence um determinado registro. Na classificação, o modelo irá analisar o conjunto de registros fornecidos, com cada registro já contendo a indicação de qual classe pertence, com a finalidade de “aprender” a classificar novos registros (aprendizado supervisionado). A tarefa de classificação pode ser aplicada como, por exemplo, nas seguintes situações:
      • detectar fraude em uma transação de cartão de crédito;
      • identificar em uma escola, qual a turma mais indicada para um determinado aluno;
      • diagnosticar onde uma determinada doença pode estar presente;
      • identificar quando uma pessoa pode ser uma ameaça para a segurança.
    • Estimação (Estimation) ou Regressão (Regression): a estimação é similar à classificação, porém é usada quando o registro é identificado não por um valor categórico, e sim por um valor numérico. Assim, pode-se estimar o valor de uma determinada variável analisando-se os valores das demais. Como exemplo, considere: vários registros contendo os valores mensais de acordo com os hábitos de cada consumidor e gastos. Após a análise dos dados, o modelo é capaz de dizer qual será o valor gasto por um novo consumidor. A tarefa de estimação pode ser usada, por exemplo, para as seguintes situações:
      • estimar a quantia a ser gasta com materiais escolares por uma família de quatro pessoas durante a volta às aulas;
      • estimar a pressão ideal de um paciente baseando-se na idade, sexo e massa corporal.
    • Predição (Prediction): a tarefa de predição é similar às tarefas de classificação e estimação; porém, visa descobrir o valor futuro de um determinado atributo. Exemplos:
      • predizer o valor de uma ação três meses adiante;
      • se a velocidade de uma rede aumentar, predizer qual o percentual que será aumentado de tráfego;
      • baseado nas comparações das estatísticas dos times, predizer qual o vencedor do campeonato.
    • Agrupamento (Clustering): a tarefa de agrupamento visa identificar e aproximar os registros similares. Um agrupamento (ou cluster) é formado por diversos registros similares entre si, mas diferentes dos outros registros nos demais agrupamentos. Esta tarefa é diferente da classificação, pois não necessita que os registros sejam previamente categorizados. Ela também não tem a pretensão de estimar, classificar ou predizer o valor de uma determinada variável, apenas identifica os grupos similares. Alguns exemplos são:
      • segmentação de mercado para um nicho de produtos;
      • separação de comportamentos suspeitos, para auditoria;
      • redução de registros com centenas de atributos para um conjunto de atributos similares.
    • Associação (Association): é uma das tarefas mais conhecidas devido aos bons resultados obtidos, principalmente nas análises das "Cestas de Compra”, onde identificamos quais produtos são levados juntos pelos consumidores.

    A tarefa de associação tem a finalidade de identificar quais atributos estão relacionados, e formar regras a partir dessas informações para que sejam utilizadas por um analista para geração de novos conhecimentos. As regras são representadas pela notação: SE atributo X ENTÃO atributo Y, onde X e Y são conjuntos de valores (sintomas de um paciente, artigos comprados por um cliente, entre outros). O objeto desta técnica é representar, com determinado grau de confiança, uma relação existente entre o antecedente e o consequente de uma regra de associação, ou seja, a regra contém no antecedente um subconjunto de atributos e seus valores e no consequente um subconjunto de atributos que decorrem do antecedente.

    Um exemplo: em um supermercado, uma regra de associação pode ser do tipo “50% dos clientes que compram pão também compram leite”.

    Produto=Pão 100 ==> produto=leite 50 conf:(0.50)

    Este símbolo ==> faz a divisão entre o antecedente e o consequente. O número que aparece antes do símbolo ==> indica o suporte da regra. O número que aparece no final da regra indica quantas vezes o consequente aparece para cada ocorrência do antecedente. E o número final, entre parênteses, é o valor da confiança, ou seja, em 100 compras em que o leite aparece, em 50 o pão é levado junto, então 50/100=0,5, representando 50% de confiança.

    Descobrir regras de associação entre produtos comprados em uma mesma compra pode ser útil para induzir a comprar mais, melhorar a organização das prateleiras, facilitar (ou dificultar) as compras do usuário.

    Algoritmo Apriori

    Algoritmos de associação podem ser utilizados como suporte à tomada de decisão. Esses algoritmos não pretendem apenas satisfazer um único objetivo específico. Através de uma fonte de dados, um gestor pode analisar o que caracteriza um bom cliente, determinar os produtos que certo tipo de cliente pode comprar, identificar produtos que influenciam a venda de outros produto ou, apenas, caracterizar os seus grupos de clientes.

    O algoritmo Apriori é um dos algoritmos mais usados para buscas em regras de associação.

    Definições necessárias:

    • K-itemsets são conjuntos com k itens que podem aparecer na base de dados;
    • Suporte mínimo é o valor mínimo do suporte para que um k-itemset seja considerado;
    • Confiança mínima é um limite para filtragem das associações descobertas pelo algoritmo.

    Para entender o algoritmo, imagine uma situação em que um gerente de um supermercado está interessado em conhecer os hábitos de compra de seus clientes. Por exemplo, quais os produtos que os clientes costumam comprar ao mesmo tempo, a cada vez que vêm ao supermercado. Com isso, ele poderá planejar melhor os catálogos do supermercado, os folhetos de promoções de produtos, as campanhas de publicidade, além de organizar melhor a localização dos produtos nas prateleiras do supermercado colocando próximos os itens frequentemente comprados juntos além de encorajar os clientes a comprar tais produtos conjuntamente. Esse gerente dispõe de uma mina de dados, que é o banco de dados de transações efetuadas pelos clientes. A cada compra de um cliente, são registrados neste banco todos os itens comprados. Para facilitar a representação dos produtos na tabela, vamos associar um número a cada produto do supermercado, como a da Tabela 1.

    Representação numérica de cada produto do supermercado
    Tabela 1. Representação numérica de cada produto do supermercado.

    Cada conjunto de itens comprados pelo cliente numa única transação é chamado de Itemset. Um itemset com k elementos é chamado de k-itemset. Suponha que o gerente decide que um itemset que aparece em pelo menos 50% de todas as compras registradas será considerado frequente. Por exemplo, se o banco de dados que ele dispõe é o ilustrado na Tabela 2, então o itemset {1,3} é considerado frequente, pois aparece em mais de 60% das transações. Suporte de um itemset é definido como sendo a porcentagem de transações onde este itemset aparece.

    Exemplo de um banco de dados de transações de clientes
    Tabela 2. Exemplo de um banco de dados de transações de clientes.

    A Tabela 3 contabiliza os suportes de diversos itemsets com relação ao banco de dados de transações da Tabela 2.

    Suporte de alguns itemsets
    Tabela 3. Suporte de alguns itemsets.

    O que identifica uma transação não é o identificador do cliente, mas sim o indicador da transação Cod_Vendas. O ItemSet {1,3} aparece em quatro transações no exemplo do banco de dados da Tabela 2, esse banco possui no total seis registros de vendas, então calculamos o valor do suporte em 4/6 = 0,6666.

    Se a exigência mínima do gerente para um itemset ser considerado frequente seja 50%, então os itemsets da Tabela 3 que serão considerados frequentes são: {1, 3}, {2, 9}.

    Uma regra de associação é uma expressão da forma A -> B, onde A e B são itemsets. Por exemplo, {pão, leite} -> {café} é uma regra de associação. Essa regra tem como ideia, que pessoas que compram pão e leite tendem a comprar café também, isto é, se alguém compra pão e leite então também compra café. Repare que esta regra é diferente da regra {café}->{pão,leite}.

    A toda regra de associação A -> B associamos um grau de confiança, denotado por conf(A -> B). Este grau de confiança é a porcentagem das transações que suportam B dentre todas as transações que suportam A, isto é: conf(A -> B) = número de transações que suportam (A U B) número de transações que suportam A.

    Ferramentas de Data Mining

    Para escolher uma ferramenta de descoberta de conhecimento, deve-se observar as seguintes características:

    • Facilidade de acesso em diferentes fontes de dados;
    • A possibilidade de incluir modelos de dados orientados a objetos ou modelos não padronizados;
    • O poder de processamento relacionado ao número máximo de tabelas/tuplas/atributos;
    • A capacidade de processamento relacionado ao tamanho do banco de dados;
    • Os diferentes tipos de atributos que a ferramenta pode manipular; e
    • Tipo de linguagem de consulta.

    Com base nas características citadas acima, algumas ferramentas foram pesquisadas, tais como Clementine, Enterprise Miner e Weka. A ferramenta Weka, que será apresentada a seguir, possui interface gráfica amigável, possibilita a utilização de recursos via API’s, é distribuída gratuitamente (característica que as outras ferramentas citadas não possuem), e é muito citada por diversos autores como uma excelente ferramenta de suporte à mineração de dados.

    Weka (Waikato Environment for Knowledge Analysis)

    Desenvolvido por um grupo de pesquisadores na universidade de Waikato (Nova Zelândia), em 1993, este software herdou seu nome da ave WEKA (Gallirallus australis). Inicialmente, os pesquisadores desenvolveram um software que visava a investigação de técnicas de aprendizagem de máquina. Sua aplicação inicial direcionou-se para agricultura, área base na economia da Nova Zelândia. Posteriormente, a ferramenta Weka permitiu que fossem implementados algoritmos de mineração de dados na linguagem C e TCL/TK. Em 1997, o código foi reescrito na linguagem JAVA e foram adicionados alguns algoritmos de modelagem de dados. Este software também é desenvolvido sob licença GNU (General Public Licence) e é facilmente usado por iniciantes pela sua interface gráfica. Grande parte dos seus recursos pode ser acessível pela sua GUI para interação com os arquivos de dados e capaz de produzir resultados visuais no formato de tabelas e curvas, e através de API`s os demais recursos podem ser utilizados na programação.

    Tem como principal característica ser portável; dessa forma, pode ser executado nas mais variadas plataformas e aproveitando os benefícios de uma linguagem orientada a objetos. Além disso, é de domínio público disponível para download em Weka 3: Machine Learning Software in Java.

    Tipo de Arquivo

    A ferramenta Weka tem como formato nativo o tipo ARFF (arquivo de atributo-relação), que consiste em duas partes. Na primeira estão os atributos nos quais devem ser definidos os tipos ou valores que eles podem representar, estes valores devem ser separados por vírgulas e entre “{}”. Na segunda parte encontramos os registros a serem minerados com os valores dos atributos, para cada instância, separados por vírgulas. Caso ocorra ausência de um registro, deve-se atribuir em seu lugar o símbolo “?”.

    Com isso, a ferramenta Weka permite o uso de planilhas eletrônicas e banco de dados, os quais permitem exportar os dados em um arquivo onde as vírgulas são os separadores. É necessário apenas carregar o arquivo em um editor de texto e adicionar o nome do conjunto de dados usando @relation+nome do conjunto de dados, para cada atributo usa @attribute, e após colocar uma linha com @data e logo em seguida os dados em si, salva-se então o arquivo com extensão arff.

    O arquivo ARRF é o padrão Weka, porém, o software interpreta também outros formatos de arquivos como CSV, C4.5 E C4.5 codificado, Database, JSON, LibSVM, Matlab, SVMlight, XRFF.

    A ferramenta WEKA é formada por um conjunto de implementações de algoritmos de diversas técnicas de mineração de dados, tais como: Apriori, FPGrowth, PredictiveApriori, Tertius (métodos de associação); EM, Cobweb, SimpleKMeans, DBScan, CLOPE (métodos de agrupamento); Regressão linear, Geradores de árvores modelo, Regressão local de pesos, Aprendizado baseado em instância, Tabela de decisão, Perceptron multicamadas (Métodos para predição numérica); Árvore de decisão induzida, Regras de aprendizagem, Naive Bayes, Tabelas de decisão, Regressão local de pesos, Aprendizado baseado em instância, Regressão lógica, Perceptron, Comitê de perceotrons, SVM (métodos de classificação).

    Ferramentas de apoio ao processo de descoberta de conhecimento

    Data Warehouse

    Data Warehouse (DW) ou armazém de dados é um sistema de computação utilizado para organizar, limpar e estruturar as atividades de uma organização, sendo úteis para revelar informações estratégicas que podem facilitar a tomada de decisão. O termo é definido como um depósito de dados orientado por assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões da gerência:

    • Orientado por assuntos: os dados estão organizados com foco nos assuntos mais importantes de uma organização. Vendas, Finanças, Empréstimos, Poupança são exemplos de assuntos de um DW;
    • Integrado: os dados podem ser carregados de diversas fontes de dados (planilhas, arquivos texto, bancos de dados), com esta integração, o DW adquire uma característica muito corporativa;
    • Não volátil: uma vez inseridos, os dados não podem ser alterados, embora possam ser excluídos;
    • Variável com o tempo: os dados recebem uma chave de tempo que determina que os dados não sejam atualizáveis e que eles possam ser comparados ao longo do tempo, possibilitando que os analistas de negócios façam análises de tendências e visualizem as informações ao longo do tempo. Cada ocorrência e cada mudança são consideradas como um novo registro, pois a informação histórica não é perdida.

    O conceito de armazém de dados surgiu com a necessidade de integrar dados provenientes de diversas origens sem causar impacto sobre as bases operacionais acessadas diariamente dentro da empresa como, por exemplo, sistemas administrativos, controle de estoque, sistemas de expedição, entre outros, e também de gerenciar um grande volume de dados.

    O Data Warehouse apoia o processo KDD, nele os dados são tratados de maneira que todos tenham os mesmos formatos, convenções, entre outras características. Por exemplo: o sexo pode ser descrito de várias maneiras, como "fem", "f", "masc", "m", tais dados são convertidos para "feminino" e "masculino", mantendo uma base de dados limpa, com dados consistentes.

    Data Mart

    Um data mart é um data warehouse de menor capacidade e complexidade usado para atender a uma unidade específica de negócios. Portanto, são tipicamente mais fáceis de construir e manter. Por ser menor, possibilita a análise multidimensional, com os cruzamentos de dados e visões previamente calculadas, com o objetivo de aumentar a velocidade na consulta das informações.

    Os data marts são subconjuntos de um data warehouse, basicamente deve-se extrair, transformar e integrar os dados pertinentes. Representa dados de um único processo de negócio.

    Modelo estrutural

    O modelo estrutural é a forma como o data warehouse ou o data mart é construído. Os modelos mais utilizados para a modelagem de um ambiente multidimensional são:

    • Estrela;
    • Join Star;
    • Floco de Neve.

    Os três modelos utilizam uma arquitetura composta de uma tabela fato e um conjunto de outras tabelas chamadas dimensões. O modelo Floco de Neve possui “subtabelas” dimensionais representando uma agregação maior dos dados que são referenciados unicamente pelas tabelas dimensão.

    O modelo Join Star possui diversas tabelas fatos ligadas às tabelas dimensionais, sendo que uma tabela dimensão pode ser referenciada por mais de uma tabela fato.

    Já o modelo Estrela, que é o mais utilizado, possui uma única tabela fato ligada às várias tabelas dimensionais.

    Data Transformation Services (DTS)

    O DTS (Data Transformation Services) é uma ferramenta que apoia a transferência e o tratamento dos dados entre a base operacional, e o data mart. Auxilia no processo de importação, transformação e carregamento dos dados, denominado ETL (Extraction, Transformation and Load), facilitando então o processo de extração de conhecimento. As fontes de dados que podem fazer parte do data mart são selecionadas através desta ferramenta. Estes dados são limpos, transformados e exportados para o repositório. É possível também selecionar as colunas que podem atravessar o processo de mineração.

    Conclusão

    As técnicas de mineração de dados estão sendo cada vez mais aplicadas e não há limite ou área específica. Tem como finalidade a melhoria ou resolução dos problemas e tomadas de decisões. Alguns exemplos de áreas de aplicação: marketing, vendas, educação, finanças, manufatura, saúde, energia, telefonia, franquia de fast-food, aplicações para o poder judiciário, entre outras.

    A seguir alguns exemplos de aplicações práticas do uso do data mining:

    • Telefonia: é realizada a classificação de clientes de uma grande empresa do ramo de telecomunicações, de acordo com seu potencial de compra de serviços. Para tanto, o banco de dados foi enriquecido com os questionários preenchidos pelos clientes, foi realizado o processo de clusterização e, logo após, as classes de clientes foram definidas. A partir desta definição, um classificador foi gerado e aplicado à base de dados completa caracterizando o potencial de compra dos clientes, ações de marketing específicas por clientes que puderam ser realizadas;
    • Franquia de Fast-Food: utilizou uma base de dados que continha informações das transações de vendas de itens realizadas durante um determinado período de captação de dados. Esse período de captação foi localizado, e definido de forma a refletir o comportamento comercial da loja em dias normais de venda;
    • Assistência Médica: para reavaliar os custos relativos a empregados e dependentes de sua carteira de assistência médica, foi construído um avançado sistema de data mining. O alvo de modelagem foram os centros de custos, divididos por áreas propensas à duplicação no ano seguinte;
    • Poder Judiciário: algumas aplicações data mining foram modeladas para avaliar um processo judiciário que envolvia a pena de morte. Correlacionando dados como opiniões pessoais e votos dados pela Suprema Corte de Justiça americana em referência com um caso específico que esteve em julgamento. O relatório final indicava que a escolha pela penalidade de morte estava sempre relacionada com a filiação do membro júri ao bloco conservador da Corte de Justiça; os votos geralmente eram ligados à raça do acusado;
    • Área Financeira: gerou um classificador para caracterizar clientes de acordo com seu perfil de inadimplência (pagam em dia, atrasam pagamento, não pagam). No projeto, considerou-se o histórico de pagamento de clientes de uma financeira que haviam recebido créditos durante algum definido período. O classificador gerado foi incorporado a um sistema de apoio de decisão na análise de novas solicitações de crédito recebidas na central de atendimento da financeira referida;
    • Educação: as escolas do estado do Rio de Janeiro responderam a questionários contendo mais de 600 perguntas referentes à sua gestão durante o ano de 2001. Para fonte de outro projeto de KDD foram utilizadas grandes bases de dados com as respostas desse questionário. O objetivo foi buscar caracterizar perfis de escolas, de forma a descobrir, dentre várias questões, porque várias escolas têm alto índice de evasão, porque determinadas escolas tem maior índice de procura, e assim por diante.

    Como se pode observar, existem diferentes áreas em que podemos obter os benefícios do uso de técnicas de mineração de dados. No próximo artigo desta série daremos continuidade a esta discussão com a aplicação prática de técnicas de mineração para a área de dados educacionais.