Técnicas e Algoritmos para Data Mining

Posted by Shenron | Conceitos Chave | Wednesday 16 July 2008 4:38 pm

A abordagem clássica consiste em usar as eficientes e sintetizadoras fórmulas estatísticas para pesquisa e visualização de resultados, mas a estatística tem duas grandes desvantagens: a primeira é a dificuldade em apresentar resultados em tempo útil devido à dimensão dos Warehouses. A segunda, e parece-nos a mais relevante, é a de “esconder” ou omitir informação que pode ser importante ao retirar “apenas” amostras do conjunto de dados e perder assim informação de subconjuntos não usados.

Resumimos aqui as técnicas e algoritmos mais usados:

“Market Basket Analysis” (MBA)

A análise do cabaz de compras permite inferir regras a partir de grupos de itens ou produtos que surgem numa transacção (ou compra) do ponto-de-venda.

Sendo as transacções anónimas, esta técnica serve para analisar produtos juntamente com a localização geográfica e a partir daí promover investimentos em determinados produtos em zonas diferentes. Se as transacções não forem anónimas e soubermos a identificação dos clientes, então podemos traçar perfis para promoções directas e personalizadas.

“Memory-Based Reasoning” (MBR)

Uso das instâncias conhecidas como modelo para aferir e fazer previsões de instâncias desconhecidas. Ou seja, para determinarmos se vale a pena investigar mais num “alvo”, recolhemos informação sobre os seus “vizinhos” similares e consoante o “estado” dos vizinhos tomamos uma decisão. A fiabilidade da opção dependerá da distância a que estiverem os “alvos vizinhos”.

Pode ser utilizado com quase todos os tipos de dados, o que é uma grande vantagem desta técnica e também apreende novas classificações apenas com a introdução de novas instâncias na base de dados.

“Cluster Detection” (CD)

Detecção de grupos de registos similares. Esta técnica permite construir modelos para a pesquisa de registos que são similares.

Esta é uma forma indirecta de fazer Data Mining, pois a pesquisa de informação para agregar registos similares é uma primeira fase para entender que tipos de dados é que temos.

“Link Analysis” (LA)

Análise de relações entre os vários registos da base de dados com o objectivo de construir modelos baseados nos padrões existentes nessas relações. Sendo uma ferramenta de Data Mining directa, não é muito eficiente para a pesquisa em Bases de Dados relacionais.

“Decision Trees and Rule Induction” (DTRI)

Aferência de regras e árvores de decisão. Esta técnica de Data Mining directa consiste na criação e treino de subconjuntos disjuntos de informação para os quais é aferida uma regra num ou mais campos do registo (record).

Tem a vantagem de ser bastante explícita e de se poder usar Structured Query Language (SQL) como linguagem de pesquisa, pois a lógica das regras é bastante simples.

“Artificial Neural Networks” (ANN)

As redes neuronais são uma das técnicas mais conhecidas e usadas em Data Mining. Utilizam um modelo idêntico ao dos neurónios e as suas ligações (sinapses) no cérebro humano como suporte para aumentarem o seu volume de dados. Apreendem a partir do “treino” sobre esses dados, generalizando padrões e aplicando-os, internamente, para classificação e previsão de resultados.

É uma técnica excelente, muito vantajosa, mas que tem dois aspectos negativos: o primeiro é a complexidade dos modelos gerados. O segundo é o problema de exigir que o formato dos dados seja imutável; para diferentes representações dos dados surgem resultados diferentes, portanto existe um trabalho importante a fazer na preparação dos dados.

“Genetic Algorithms” (GA)

É uma técnica que utiliza o “algoritmo” natural, ou seja, os mecanismos de selecção que a natureza utiliza para a evolução das espécies.

Tem como ponto forte o seu modo de funcionamento estatístico, o qual utiliza a selecção, o cruzamento de dois indivíduos e a mutação para seleccionar as possíveis soluções que prevalecerão para uma próxima geração até convergir na solução óptima (difícil de atingir mas podemos aproximarmo-nos o suficiente).

É uma excelente técnica de optimização para ser utilizada em complemento às técnicas de MBR ou de Redes Neuronais.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Ma.gnolia
  • Propeller
  • Reddit
  • Slashdot
  • SphereIt
  • Spurl
  • StumbleUpon
  • Technorati
  • TwitThis

Data Mining

Posted by Shenron | Conceitos Chave | Wednesday 16 July 2008 4:36 pm

Qualquer sistema de Datawarehouse apenas funciona e pode ser utilizado plenamente com boas ferramentas de exploração. Com o aparecimento do Datawarehouse a tecnologia de Data Mining (extracção de dados) também ganhou a atenção do mercado.

Como o Datawarehouse possui Bases de Dados bem organizadas e consolidadas, as ferramentas de Data Mining ganharam grande importância e utilidade. Essa técnica, orientada para a extracção de dados, oferece uma poderosa alternativa para as empresas descobrirem novas oportunidades de negócio e acima de tudo, traçarem novas estratégias para o futuro.

O objectivo da análise de dados é descobrir, previamente, características dos dados, sejam relações, dependências ou tendências desconhecidas. Tais descobertas tornam-se parte da estrutura de informação que constituem a base das tomadas de decisão. Uma típica ferramenta de análise de dados ajuda os utilizadores finais na definição do problema, na selecção de dados e a iniciar uma correcta análise para a criação da informação, que ajudará a resolver problemas descobertos. Noutras palavras, o utilizador final reage a um estímulo externo e à descoberta do problema por ele mesmo.

A premissa do Data Mining é uma argumentação activa, isto é, em vez do utilizador definir o problema, seleccionar os dados e as ferramentas para analisar tais dados, as ferramentas de Data Mining pesquisam automaticamente os mesmos à procura de anomalias e possíveis relações, identificando assim problemas que não tinham sido detectados pelo utilizador. Noutras palavras, as ferramentas de Data Mining analisam os dados, descobrem problemas ou oportunidades escondidas nos relacionamentos dos mesmos e diagnosticam o comportamento dos negócios, requerendo a mínima intervenção do utilizador, dedicando-se este somente à procura de informação e à descoberta de mais vantagens competitivas.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Ma.gnolia
  • Propeller
  • Reddit
  • Slashdot
  • SphereIt
  • Spurl
  • StumbleUpon
  • Technorati
  • TwitThis

ETL (Extracção, Transformação e Carregamento dos Dados)

Posted by Shenron | Conceitos Chave | Wednesday 16 July 2008 4:35 pm

A etapa de ETL (”Extract, Transform and Load” - Extracção, Transformação e Carregamento) é uma das mais críticas num projecto de Datawarehouse, pois uma informação carregada erradamente trará consequências imprevisíveis nas fases posteriores. O objectivo desta fase é fazer a integração de informações de fontes múltiplas e complexas. Basicamente, divide-se esta etapa em três passos: extracção, transformação e carregamento dos dados. Embora tenhamos hoje em dia ferramentas que auxiliam na execução do trabalho, ainda assim é um processo trabalhoso, complexo e também muito detalhado.

  • Carregamento. Num processo de ETL, devemos definir em primeiro lugar as origens das fontes de dados e fazer a extracção dos mesmos. As origens podem ser várias e provenientes de diferentes formatos, onde poderemos encontrar desde os sistemas transaccionais das empresas (por exemplo: SAP, BPCS, etc.) até arquivos de texto e arquivos DBF (”dBase”) ou Microsoft Access.

  • Limpeza. Definidas as fontes, partimos para o segundo passo que consiste em transformar e limpar esses dados. A limpeza é necessária, porque os dados normalmente provêm, muitas vezes, de uma fonte desconhecida, concebida há muito tempo, contendo muito lixo e inconsistências. Por exemplo: se a empresa vender cartões de crédito (Citibank ou outras), o vendedor está mais preocupado em vender o produto (cartão) do que na qualidade de dados que está a inserir. Se o cliente não facultar o número do telefone na altura da compra, o vendedor introduzirá um número qualquer para agilizar a venda. Se for feita uma consulta posterior, levando-se em conta o número do telefone dos clientes, no mínimo informações como: número 99999999-99 poderão aparecer. Por isso, nessa fase do Datawarehouse, faz-se a limpeza desses dados, para haver compatibilidade entre eles.

  • Transformação. Uma vez que os dados pode ter origem em sistemas diferentes, às vezes é necessário padronizar os diferentes formatos. Por exemplo: em alguns sistemas, a informação sobre o sexo do cliente pode estar armazenada no seguinte formato : “M” para Masculino e “F” para Feminino. Porém, em algum outro sistema pode estar guardado como “H” para Masculino e “M” para Feminino e assim sucessivamente. Quando levamos esses dados para o Datawarehouse, deve-se ter uma padronização deles, ou seja, quando o utilizador for consultar o Datawarehouse, ele não pode ver informações iguais em formatos diferentes. Portanto, fazemos o processo de ETL, transformamos esses dados e deixamos num formato uniforme normalmente sugerido pelo próprio utilizador. No Datawarehouse, teremos somente M e F, facto esse que facilitará a análise dos dados que serão recuperados pela ferramenta OLAP.

Apesar de existirem ferramentas de ETL como o “Data Stage” (Ardent/Informix), o DTS (Microsoft) e o “Sagent” (da própria Sagent), às vezes é necessário criar rotinas de carga para atender determinadas situações que poderão ocorrer. Todos têm as suas características e cada um poderá ser utilizado dependendo do caso de cada empresa. O mais importante é que uma ferramenta de ETL tem grande valia, principalmente se os sistemas OLTP (transaccionais) são muitos, pois elas são uma poderosa fonte de geração de metadados e podem contribuir muito para a produtividade da equipa.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Ma.gnolia
  • Propeller
  • Reddit
  • Slashdot
  • SphereIt
  • Spurl
  • StumbleUpon
  • Technorati
  • TwitThis

Metadados

Posted by Shenron | Conceitos Chave | Wednesday 16 July 2008 4:32 pm

Os metadados são definidos como dados dos dados, informações das informações. Dada a complexidade das informações de um Datawarehouse, a documentação dos sistemas e das bases de dados tornou-se de vital importância. Este tipo de registo já era tido como muito importante desde o surgimento das primeiras bases de dados. Com o Datawarehouse, tornou-se fundamental; em grandes projectos, se não houver uma documentação eficiente, o mais certo é mais ninguém conseguir manter o sistema.

Num projecto de Datawarehouse, deve-se gerar documentação sobre o levantamento de dados, da base de dados, relatórios a serem gerados, origem dos dados que alimentam o Datawarehouse, processos de extracção, tratamento e rotinas de carga dos dados, além de, possivelmente, regras de negócio da empresa e todas as suas mudanças.

Segundo Inmon, os metadados englobam o Datawarehouse e mantém as informações sobre o que está onde. O autor ainda define quais as informações que os metadados devem manter:

  • A estrutura dos dados segundo a visão do programador;
  • A estrutura dos dados segundo a visão dos analista de SAD;
  • A fonte de dados que alimenta o Datawarehouse;
  • A transformação sofrida pelos dados no momento da sua migração para o Datawarehouse;
  • O modelo de dados;
  • O relacionamento entre o modelo de dados e o Datawarehouse;
  • O histórico das extracções de dados;
  • Os dados referentes aos relatórios que são gerados pelas ferramentas OLAP, assim como os que são gerados nas camadas semânticas.

Os metadados podem surgir de vários locais durante o decorrer dos projectos. Desde o material que tem origem nas reuniões com os utilizadores até à documentação dos sistemas operacionais. Aliás, as reuniões tornam-se, muitas vezes, uma fonte preciosa de informações, pois muitos dados levantados não estão (e não estariam) documentados em nenhum outro local. Nesta fase, deve-se definir, inclusive, as regras para validação dos dados após carregamento no Datawarehouse.

Como pudemos ver, o volume de metadados gerados é muito grande. Existem hoje algumas ferramentas que fazem única e exclusivamente a gestão dos metadados. Elas têm algumas características peculiares. Essas ferramentas conseguem mapear as informações em todas as etapas de desenvolvimento dos projectos, desde a conceptual até à de visualização dos dados em ferramentas OLAP/EIS.

Uma regra de boa implementação de um projecto de Datawarehouse diz que devemos sempre ter muita atenção aos metadados, pois são eles que servirão de guia por entre as brumas das tabelas, relatórios e dados quando estivermos perdidos.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Ma.gnolia
  • Propeller
  • Reddit
  • Slashdot
  • SphereIt
  • Spurl
  • StumbleUpon
  • Technorati
  • TwitThis

Data Mart

Posted by Shenron | Conceitos Chave | Wednesday 16 July 2008 4:31 pm

Os primeiros projectos de Datawarehouse  referiam-se a uma arquitectura centralizada. Embora seja interessante para fornecer uniformidade, controle e maior segurança, a implementação desta abordagem não é uma tarefa fácil. Requer uma metodologia rigorosa e uma completa compreensão dos negócios da empresa. Esta abordagem pode ser longa e dispendiosa e por isto a sua implementação exige um planeamento correcto e detalhado.

Com o aparecimento do Data Mart ou Warehouse departamental, a abordagem descentralizada passou a ser uma das opções da arquitectura Datawarehouse. Os Data Marts podem surgir de duas maneiras. A primeira é “top-down” e a segunda é “bottom-up”.

  • “Top-down”: quando a empresa cria um  Datawarehouse e depois parte para a segmentação, ou seja, divide o Datawarehouse em áreas menores formando assim pequenos bancos de dados orientados por assuntos departamentalizados.

  • “Bottom-up”: quando a situação é inversa. A empresa por desconhecer a tecnologia, cria uma Base de Dados somente para uma área. Com isso os custos são menores do que num projecto de Datawarehouse completo. A partir da visualização dos primeiros resultados parte-se para outra área e assim sucessivamente até estar criado um verdadeiro Datawarehouse.

A tecnologia usada tanto no Datawarehouse como no Data Mart é a mesma, as variações que ocorrem são mínimas, quer em tipo de dados quer na complexidade da carga. A principal diferença é a de que os Data Marts são voltados somente para uma determinada área e o Datawarehouse é voltado para os assuntos de toda a empresa. Cabe portanto a cada empresa avaliar a sua procura e optar pela melhor solução.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Ma.gnolia
  • Propeller
  • Reddit
  • Slashdot
  • SphereIt
  • Spurl
  • StumbleUpon
  • Technorati
  • TwitThis
Next Page »