• Nenhum resultado encontrado

4. Plataforma: Somente neste último passo uma plataforma tecnológica para o

3.4.3 Data Mining – a mineração de dados.

Sob os pontos de vista empresarial, de marketing e comercial; é comum encontrar-se exemplos de datamining abordando situações do cotidiano. Estas situações, em geral, enfocam cenários de pequenas lojas onde o proprietário conhece as necessidades e gostos de cada um de seus poucos clientes. O chamado atendimento personalizado (início do Marketing um-para-um ou CRM) passa a ser um problema, entretanto, quando se pretende o mesmo tratamento em uma grande empresa.

Continua a existir a necessidade de identificar os clientes, aprender suas preferências e obter sua lealdade; o volume massivo de clientes e suas características ficam sendo, neste caso, o principal obstáculo. Em uma grande empresa, que intua a criação de relações diferenciadas (um-para-um) com seus clientes, o proprietário precisa ser auxiliado por alguma ferramenta tecnológica capaz de tratar toda esta quantidade de dados: a informática. Seguindo este raciocínio, o proprietário passa a ser auxiliado por um grande banco de dados, enquanto a capacidade de aprendizado é desenvolvida por técnicas de Inteligência Artificial e Estatística, genericamente denominadas de Datamining (Mineração de Dados).

Pode-se ainda afirmar que “capturar” dados de clientes não significa “aprender” sobre o cliente. Dessa forma, muitas empresas armazenam Gigabytes de dados em seus sistemas de disco sem, com isto, aprender nada acerca dos seus clientes e produtos. Nestes casos, os dados são armazenados com finalidades operacionais, como controle de estoque, execução de cobranças, consultas; percebendo-se que após as interações, os dados são abandonados.

Para haver aprendizado, uma série de informações de diferentes formatos e fontes precisa ser organizada de maneira consistente no Banco de Dados - como descrito neste capítulo, no item 2.4.2 (resumo das etapas envolvidas no KDD) - e ainda ser utilizada alguma ferramenta de armazenamento de dados (datawarehouse).

“Após isto, métodos de análise estatística e de Inteligência Artificial precisam ser aplicados sobre esses dados, e relações novas e úteis à empresa descobertas; ou seja, os dados devem ser minerados” [Carvalho, 2001].

A partir daí, e baseado em uma definição mais técnica, Datamining pode ser entendido como uma “etapa dentro do processo de Extração do Conhecimento - KDD, que envolve a aplicação de ferramentas de busca, objetivando encontrar padrões em ‘conjuntos de dados’” [Fayyad, 1996]. Envolve ainda a decisão quanto à constatação de um modelo específico refletir ou não um conhecimento útil, como parte do processo KDD, para o qual a necessidade humana está direcionada.

Os modelos de DM são implementados através de uma variedade de algoritmos genéricos, encontrados em diversas áreas como IA, Redes Neurais, Estatística e Banco de Dados. Deste modo, qualquer tentativa de expor, mesmo de forma sucinta, todos os algoritmos passíveis de utilização; acarretaria uma discussão sobre algoritmos pouco usuais além de apresentar superficialmente outros altamente específicos.

Frente ao exposto, e na tentativa de propiciar um enfoque global e apropriado ao direcionamento do assunto DM para o propósito deste trabalho, aqui se fará uma opção pela abordagem reducionista adotada por Fayyad [Fayyad, 1996]. A pretensão é expor uma visão geral das técnicas que, didaticamente, abrangem todas as outras formas de apresentação.

3.4.3.1 Algoritmos de datamining.

Reconhecidamente, a maior parte dos algoritmos de datamining pode ser classificada a partir de uma composição de algumas técnicas básicas e princípios; consistindo de uma

associação de três componentes específicos: modelo, critério de preferência e algoritmo de busca [Fayyad, 1996].

Desta forma, e como já mencionado anteriormente, DM envolve a criação e/ou utilização de modelos apropriados de representação dos padrões e relacionamentos (identificados a partir dos dados), de modo que o resultado destes modelos - depois de avaliado pelo especialista - seja reutilizado como entrada (em predição de nova situação), baseada em outros dados e acrescidos ainda deste resultado. Descreve-se, assim, datamining como um processo interativo e iterativo, instanciado principalmente na escolha de um algoritmo em particular que associe de forma conveniente sua Estrutura relativa ao Modelo, Critério de Preferência, e Método de Busca a cada necessidade da aplicação.

Algoritmos, em geral, diferem em termos de Modelo de Representação (ou Estrutura de Modelo); enquanto Critérios de Preferência ou Métodos de Busca apresentam grande semelhança em diferentes algoritmos [Fayyad, 1996]. Em referência a algoritmos de aprendizado, a literatura não relata claramente o modelo de representação, critério de preferência ou método de busca utilizados; estes são, como já mencionado, muitas vezes associados na descrição de um algoritmo particular. Ainda sob o uso do enfoque reducionista, apenas serão descritas as contribuições independentes de cada um destes componentes. Para uma abordagem mais específica sobre Aprendizado de Máquina [Rich, 1993].

3.4.3.2 Modelo de algoritmos de DM

Há dois fatores relevantes referentes ao modelo do algoritmo utilizado: sua função e a forma representacional deste modelo. Os modelos contêm ainda parâmetros, que serão determinados a partir dos dados.

As funções: também conhecidas como “técnicas de DM”, as funções do modelo especificam o modo como o conhecimento extraído deverá ser utilizado. Entre as funções mais comuns e aceitas pela comunidade KDD, destacam-se: a classificação, a estimativa, a análise de afinidade, análise de agrupamentos, a previsão e as regras de associação [Agrawal, 1996]. Devido à abrangência, serão comentadas as técnicas de classificação e regras de associação. A “classificação” é uma das técnicas mais utilizadas no datamining. Provavelmente, por tratar-se de uma tarefa expressivamente cognitiva humana, principalmente quando

realizada no auxílio da compreensão do ambiente em que o homem vive, afirma Carvalho,

“O ser humano está em eterno processo de classificação: na criação de classes de relações humanas diferentes (colegas de trabalho, amigos, familiares, etc.) e dando a cada classe uma forma diferente de tratamento; formando classes

de protocolos de comportamento em diferentes ambientes; estabelecendo preconceitos e tratando as pessoas segundo estes estereótipos; entre outras

formas de classificação” [Carvalho, 2001].

Desta forma, a classificação visa o mapeamento de um conjunto de dados dentro de uma das várias classes pré-definidas. No datamining são comuns as tarefas de classificação (ou segmentação) de clientes em baixa, média e alta rentabilidade (clientes preferenciais); ou de clientes potencialmente consumidores de determinado produto a julgar pelo seu perfil. Dentre as ferramentas mais utilizadas para classificar dados, pode-se citar: Redes Neurais Artificiais, Estatística e Algoritmos Genéricos. Quanto às “regras de associação” (também chamadas análise de afinidades ou regras de agrupamento), determinam as relações entre os campos de uma base de dados; ou seja, determinam que fatos ocorrem simultaneamente com uma razoável probabilidade (co-ocorrência) ou ainda quais itens de uma massa de dados estão conjuntamente presentes com maior freqüência (correlação). O exemplo de regras de associação, clássico na literatura de datamining, é o carrinho de supermercado, do qual se pode extrair informações sobre o cliente, sua relação com produtos adquiridos, e a associação destes produtos com outros produtos também adquiridos pelo mesmo perfil de cliente. Esta regra vem predizendo há muito nos EUA a disposição de mercadorias num estabelecimento comercial, ou sendo fundamental no direcionamento de um determinado item a seu público alvo, ou ainda para proceder ofertas de kits com preço reduzido. Ainda em regras de associação, podem ser enquadradas algumas das técnicas comumente utilizadas nas minerações de dados realizadas na Web, já denominadas por alguns autores de Webmining.

Representação do modelo: Para que as técnicas de DM sejam aplicadas, é necessário que os algoritmos possuam uma linguagem representativa dos

conceitos (padrões) obtidos a partir dos dados. Esta linguagem chamada de “representação do modelo” descreve o estado interno do algoritmo, onde a representação em geral determina a flexibilidade do modelo em representar os dados e a facilidade de compreensão deste mesmo modelo pelo homem. Na literatura pode-se encontrar vários tipos de representação, entre as quais destacam-se: árvores e regras de decisão [Quinlan, 1986]; modelos não lineares (redes neurais); instanced-based (raciocínio baseado em casos) [Aadmodt, 1994] e modelos de dependência gráfica probabilística (redes bayesianas) [Heckerman, 1997].

3.4.3.3 Critério de preferência

O critério de preferência do modelo verifica a qualidade do modelo e seus parâmetros, considerando, por exemplo, mecanismos para evitar que o algoritmo decore (overfiting). Há dois critérios a serem considerados: o explícito, embutido nos algoritmos de busca (e.g. os critérios de máxima verossimilhança em encontrar os padrões que melhor representem o conjunto de dados observados); e o implícito, utilizado principalmente nas etapas de seleção e preparação dos dados no processo de KDD (e que reflitam os critérios subjetivos do analista, no que se refere aos modelos considerados).

3.4.3.4 Algoritmo de busca

O algoritmo de busca especifica um método para encontrar modelos e parâmetros a partir dos dados, isto é, extrair conhecimento a partir desses dados. Entre os algoritmos de busca para DM encontrados na literatura, destacam-se: CN2 [Clark, 1991], C4.5 [Quinlan, 1993], Naive Bayes [Langley, 1992], Autoclass [Cheeseman, 1996], e BKD [Ramoni, 1997]. Vale ressaltar que a maioria dos algoritmos utilizados na fase de DM, também chamados de sistemas de aprendizado, foi desenvolvida e é largamente aceita e usada pela comunidade de Aprendizado de Máquina. Onde se ratifica melhor referência em [Rich, 1993].

A escolha do melhor algoritmo para DM é freqüentemente crítica, uma vez ser sabido que nenhum deles possui desempenho ótimo em todos os domínios da aplicação [Alex, 1999]. A seleção desses algoritmos é realizada pelo analista e deve ser pautada nas

restrições do domínio em conjunto com as preferências do usuário final (e/ou especialista do domínio da aplicação).

Considerando essas restrições, o analista pode selecionar o algoritmo baseado em parâmetros como, por exemplo: o tipo de aprendizado, paradigmas de aprendizado e linguagens de descrição. Encontrar os melhores parâmetros implica, claramente, em um grande problema de otimização.

Vale ressaltar que, além da observação desses parâmetros, as avaliações experimentais desempenham um papel fundamental na seleção do algoritmo, uma vez que não existem métodos formais para decidir qual o melhor, dado um determinado domínio de aplicação.

3.5 Datawarehouse (DW)

Tido pela maioria dos autores de KDD como elemento de auxílio na extração de conhecimento; esta atribuição se deve as várias ocasiões nas quais o especialista de KDD faz uso do Datawarehouse (DW) para simplificar suas interações no decorrer do processo. Esta colocação também descreve o motivo da introdução do item Datawarehouse neste trabalho; uma vez que, embora sendo uma “ferramenta de apoio” ao Datamining e KDD, no estudo de caso apresentado no capítulo 5 o DW será abordado como ferramenta utilizada.

Embora não seja estritamente necessário utilizar o DW como parte integrante do processo de KDD, na prática, é conveniente seu uso, principalmente ao que tange as bases de dados de grande porte que necessitam de rápido acesso aos dados e, sobretudo, da normalização dos mesmos, tornando menos penoso o trabalho do especialista de KDD e banco de dados.

O conceito original de Datawarehouse (Repositório ou Armazém de Dados) foi apresentado por Inmon [Inmon, 1996] e popularizado pela IBM através do termo Information Warehousing. Sua utilização como modelo de infra-estrutura para o suporte à tomada de decisão foi então descrito através de quatro objetivos fundamentais: