Segundo constantes avanços na área de TI tem viabilizando o armazenamento de grandes e múltiplas bases de dados. A análise de grandes quantidades de dados pelo homem é inviável sem o auxílio de ferramentas computacionais adequadas, tornando-se necessário o desenvolvimento de ferramentas computacionais que auxiliem o homem de forma automática e inteligente, na tarefa de analisar, interpretar e relacionar esses dados a fim de desenvolver e selecionar estratégias de ação em cada contexto de aplicação.
Diante desta necessidade surge uma nova área denominada Descoberta de Conhecimentos em Bases de Dados (Knowledge Discovery in Databases – KDD).
Figura 6: Uma visão geral das etapas que compõem o processo de KDD Fonte: Adaptado de Fayyad et al. (1996)
Segundo Fayyad et al. (1996), o processo KDD refere-se ao processo global de descoberta de conhecimentos úteis a partir de dados, o mesmo é composto por 5 etapas, como pode ser visualizado na Figura 6, a mineração de dados refere-se a quarta etapa deste processo.
Estas etapas para Fayaad (1996) são distribuídas em 3 grupos: pré- processamento (seleção de dados, pré-processamento e tratamento de dados), mineração de dados e pós-processamento (interpretação e avaliação). Para melhor entendimento sobre estas etapas, as mesmas serão descritas abaixo:
Seleção de dados: esta etapa do processo de seleção é bastante complexa, uma vez que os dados podem vir de uma série de fontes diferentes (data warehouses, planilhas, sistemas legados) e podem possuir os mais diversos formatos.
Pré-processamento: esta etapa visa eliminar os dados que não se adéquam às informações, com base em algoritmos específicos verifica-se a existência de dados não padronizados, um problema bastante comum nesta fase é a ausência de valores para determinadas variáveis, ou seja, registro com dados incompletos seja por falhas no processo de seleção ou de revisão, então se procura atribuir um valor padrão ou descartá-lo.
Transformação dos dados: nesta etapa os dados já existentes poderão ser transformados em novos dados mediante a consolidação ou desdobramento dos mesmos de acordo com o alvo que se deseja alcançar.
Mineração de dados: nesta etapa poderá ser utilizado um conjunto de ferramentas que, através do uso de algoritmos de aprendizado ou baseada em redes neurais e estatística, permite buscar em um determinado conjunto de dados por padrões/relações e regularidades. Para o autor, data mining é a etapa-chave no processo de descoberta de conhecimento em bases de dados.
Interpretação e/ou Avaliação: nesta etapa verifica-se a qualidade do conhecimento descoberto, procurando identificar se o mesmo auxilia a resolução do problema originalmente proposto para a realização do processo de KDD.
Os pesquisadores desta área do conhecimento buscam produzir técnicas, metodologias e instrumentos que apoiem a descoberta de conhecimento inédito e acrescentem informações a um domínio de aplicação específica. A extração de conhecimento de bases de dados é uma área multidisciplinar que visa incorporar e relacionar técnicas adotadas em diversas áreas do conhecimento.
De acordo com Fayyad et al. (1996), o processo de descoberta de conhecimento em bases de dados evoluiu, e continua evoluindo, através da interseção de vários campos de pesquisa: aprendizado de máquina, reconhecimento de padrões, bancos de dados, estatística, inteligência artificial, aquisição de conhecimento para sistemas especialistas, visualização de dados, e computação de alto-desempenho. Desse modo, as técnicas utilizadas em KDD não devem ser vistas como substitutas de outros métodos de análise, mas sim como aplicações que buscam melhorar os resultados das explorações feitas com ferramentas convencionais.
Para Tan, Steinbach e Kumar (2009), uma quantidade de outras áreas também desempenham papéis chave, como a computação de alto desempenho (paralela) e a computação distribuída, conforme visualizado na Figura 7. Segundo os mesmos autores, as técnicas de computação de alto desempenho são muitas vezes importantes para abordar o tamanho volumoso de alguns conjuntos de dados, e as técnicas distribuídas também podem auxiliar a abordar a questão do tamanho e são essenciais quando os dados não podem ser juntados em um único local.
Figura 7: Mineração de dados como uma confluência de muitas disciplinas Fonte: Adaptado de Tan, Steinbach e Kumar (2009, p. 8).
De acordo com as definições de Shapiro e Matheus (1992), a Extração de Conhecimento de Bases de Dados é um processo não convencional de identificar padrões desconhecidos, potencialmente úteis e compreensíveis, embutidos em bases de dados. Extrair conhecimento dessas bases de dados envolve, entre outras técnicas, a utilização de algoritmos de aprendizado de máquina com a capacidade de generalizar os fatos encontrados em um grande repositório de dados na forma de regras de alto nível, passíveis de compreensão pelo ser humano.
Essas técnicas incentivam pesquisadores a participarem do processo de KDD oferecendo contribuições científicas substancialmente maiores. Ao se tentar realizar descobrimento de conhecimento em aplicações do mundo real, observa-se que as técnicas podem ser extremamente complexas e que as tarefas de descoberta de novas informações representam apenas uma porção de um extenso processo.
O processo de extração de conhecimento pode ser aplicado de forma interativa e iterativa, envolvendo diversas fases de preparação que englobam a definição e compreensão do domínio de aplicação, seleção e amostragem dos dados, limpeza, enriquecimento e preparação dos mesmos, extração de padrões, até a etapa em que os resultados são interpretados, avaliados e consolidados pelos especialistas do domínio. O processo de descoberta de conhecimento em bases de dados é considerado iterativo, pois pode conter repetições entre qualquer dos passos, buscando sempre aprimorar os resultados a cada iteração.
As etapas do processo KDD são geralmente realizadas de forma sequencial, ou seja, é necessário obter compreensão a respeito do domínio de aplicação, selecionar e
transformar os dados para, somente depois, encontrar padrões. Mesmo observando estas recomendações, podem ocorrer iterações entre as tarefas. Por se tratar de um processo interativo, o grupo de pessoas envolvidas na sua realização deve possuir um canal de comunicação que maximize a troca de informações. Estes usuários devem possuir diferentes especialidades, necessidades e expectativas, desempenhando o seu papel dentro do processo.
Os dados que fornecerão a base para a realização do processo de KDD podem ser provenientes de diversas fontes de dados, internas ou externas. Os dados de origem interna normalmente são fornecidos por repositórios de dados que já estão incorporados ao sistema de aplicação do domínio em questão e, normalmente são constituídas por
Data Warehouse, bases de dados operacionais e dados históricos. Os dados de origem
externa são compostos por todos os outros tipos de localidades que habitualmente não estão incorporados ao sistema de aplicação, como por exemplo, documentos e informações do especialista do domínio.
Um problema que deve ser resolvido envolve o tamanho do conjunto de dados, pois a grande quantidade de dados reunida pode inviabilizar a realização do processo de KDD, neste caso recomenda-se uma filtragem na amostra com os dados que são relevantes para o estudo.
Assim, devem ser utilizadas técnicas de amostragem de dados que reduzam o tamanho do conjunto de dados, obtendo um subconjunto relevante e representativo para toda a base de dados. Esse processo de amostragem é crítico dentro do processo de KDD, pois, a não utilização de técnicas estatísticas adequadas pode gerar um subconjunto de dados de características não representativas, comprometendo as análises, que não representariam a verdadeira situação dos fatos registrados.