Novos Recursos nos Sistemas de Banco de Dados para Data mining

Introdução a Data Mining

A mineração de dados (data mining) consiste em um processo que oferece os meios necessários para a descoberta de conhecimento interessante em bancos de dados. Este processo baseia-se na utilização de softwares inteligentes, que são capazes de vasculhar grandes bases de dados de modo eficiente (ou seja, com certa rapidez) e revelar para o usuário todas as informações que sejam consideradas como potencialmente úteis.

Em geral, o conhecimento descoberto pela mineração de dados é expresso na forma de regras e padrões. Um software de data mining poderia, por exemplo, analisar uma base de dados que contém as vendas de uma loja de departamentos e revelar informações sobre o perfil de seus clientes, através de regras como “60% dos clientes que moram na região Sul e não têm filhos, gastam mais de R$100,00 em suas compras on-line “ ou “os clientes que compram com o cartão de crédito da marca X têm uma chance três vezes maior de adquirir um aparelho de iPod”.

Este artigo está dividido em duas partes. Na primeira parte, apresenta-se um breve resumo a respeito das características dos sistemas para mineração de dados e relaciona-se os principais problemas existentes nestes softwares. Na segunda parte do artigo, são apontados os esforços que tem sido realizados por duas grandes empresas (Oracle e Microsoft) no sentido de corrigir esses problemas.

Softwares para Data Mining

A mineração de dados é considerada uma importante técnica de Business Intelligence (BI), assim como o data warehousing e a análise OLAP. Os primeiros softwares para mineração de dados começaram a ser desenvolvidos em meados da década de 90, ainda em ambiente acadêmico. Hoje em dia já existem algumas dezenas de ferramentas comerciais para data mining, desenvolvidas por empresas como SAS (Enterprise Miner), IBM (Intelligent Miner) e SPSS (Clementine). A maior parte dos sistemas para mineração de dados já demonstrou sua capacidade de servir como importante ferramenta de apoio no processo de tomada de decisões nas empresas. No entanto, é curioso perceber que a popularidade dos softwares de data mining é relativamente baixa se comparada com a popularidade das ferramentas para data warehousing e OLAP, por exemplo. Artigos recentes apontam três motivos principais para explicar esta situação:

  • Os softwares para data mining custam muito caro (uma licença single-user pode custar mais de 40.000 dólares).
  • Muitos softwares não conseguem realizar a mineração de dados diretamente sobre as tabelas de um SGBD. Em muitos casos, é necessário exportar os dados para um repositório auxiliar.
  • O terceiro motivo - freqüentemente apontado como o que mais contribui para a impopularidade do data mining - está no fato de que as ferramentas de mineração de dados são muito difíceis de utilizar. Grande parte dos softwares exige que o usuário tenha algum conhecimento a respeito do funcionamento dos algoritmos de mineração implementados na ferramenta; outros softwares requerem usuários que possuam grande conhecimento de Estatística para que sejam manipulados.

Data Mining nos SGBD’s SQL Server e Oracle

Curso relacionado: Curso de Oracle

Felizmente, para os “mineradores de dados”, o mercado demonstra estar realizando esforços no sentido de corrigir estes problemas. Um exemplo neste sentido está sendo dado por dois gigantes da indústria do software: Oracle e Microsoft. A boa notícia é que as versões mais recentes dos SGBD’s comercializados por estas empresas (Oracle 10g e SQL Server 2005) são dotadas de recursos inovadores para a utilização de algoritmos de data mining. A intenção principal dos dois gigantes foi resolver dois problemas de uma vez só: o custo caro das ferramentas de mineração de dados e a impossibilidade da mineração direta.

Usuários do Oracle ou do SQL Server que estejam interessados em analisar dados através de técnicas de data mining não precisam mais adquirir uma ferramenta de mineração de dados a um custo elevado, uma vez que é possível utilizar os algoritmos que estão disponibilizados “gratuitamente” nestes SGBD’s. Além disso as técnicas implementadas no Oracle e no SQL Server são capazes de minerar tabelas de forma direta (não existe a necessidade de exportar dados para tabelas auxiliares).

No entanto, a maior vantagem proporcionada pela mineração de dados nos bancos Oracle e SQL Server consiste no fato destes fabricantes terem criados modelos (metodologias) para a mineração de dados que são extremamente simples e amigáveis, se comparadas com os modelos utilizados pelas ferramentas tradicionais. Nos dois SGBD’s a mineração de dados funciona num esquema dividido em três etapas: criação de um modelo de mineração de dados, treinamento do modelo e consulta dos resultados.

Na etapa de criação do modelo, o usuário especifica o tipo de problema que deseja resolver através do emprego da mineração de dados. Retornando ao exemplo da loja de departamentos, apresentado no início deste artigo, poderiam ser formulados problemas como “qual o perfil do cliente que gasta muito em suas compras?” ou “quais os produtos cuja venda está mais relacionada (ou seja, quais os produtos que costumam ser comprados em conjunto)?”. Após especificar os problemas que serão atacados, o usuário seleciona as tabelas do banco que deseja investigar, assim como os seus atributos.

Na etapa seguinte, denominada treinamento do modelo, o usuário comanda a execução do algoritmo de mineração de dados sobre as tabelas selecionadas na etapa anterior. Como resultado, gera-se, de forma automática, um conjunto de regras e padrões extraídos destas tabelas. Nesta etapa, o usuário tem a liberdade de determinar qual a fatia dos dados que será examinada. No caso da loja de departamentos, tem-se, por exemplo, que o usuário poderia informar ao sistema que apenas os dados referentes às vendas do mês de novembro de 2006 deveriam ser investigados.

Por fim, na etapa de consulta dos resultados, o usuário tem condições de explorar o conjunto de regras e padrões descobertos pelo algoritmo de data mining. Estas regras são disponibilizadas de maneira simples, através de uma visão (view) do banco de dados, por exemplo. O usuário pode consultar esta visão, para avaliar todos os padrões descobertos. No caso do SQL Server, é possível realizar consultas específicas sobre itens de interesse (como, por exemplo, “quais produtos costumam ser comprados em conjunto com CD’s de música clássica?”). O SQL Server disponibiliza uma linguagem muito interessante denominada DMX (Data Mining eXtensions) para a manipulação de seus recursos para mineração de dados. Esta linguagem é bastante parecida com o SQL, sendo, por isso, de fácil utilização.

Caso o leitor deseje obter mais informações a respeito do tema apresentado neste artigo, é sugerida uma visita ao site que descreve os recursos para data mining disponibilizados pelo SQL Server: http://www.microsoft.com/sql/technologies/dm/default.mspx.