Вы находитесь на странице: 1из 26

Seminrio de Banco de Dados II Analysis Services

Jlio Csar Leandro Ferreira Rafael Vasconcelos TUTORIAL DE APLICAO DE ANALYSIS SERVICES

1. Data Mining Data Mining ou Minerao de Dados consiste em um projeto de anlise, para explorar grandes quantidades de dados, na busca de padres e/ou relacionamentos entre esses dados. aplicado sobre os dados um tcnica de agrupamento em subconjuntos desses dados que consiste em 3 fases: explorao, construo de modelos ou definio de padro e validao ou verificao. Este conceito, est se tornando a cada dia mais popular, por ser uma ferramenta de gerenciamento de sistemas de informao, que busca revelar ou explorar estruturas de conhecimentos que possam guiar decises em situaes de incerteza. crescente o desenvolvimento de novas tcnicas de analise, especialmente as projetadas para tratar questes relativas a Data Mining. Porm, ainda est baseado em princpios conceituais de anlise de dados exploratrios e de modelagem.

2. Analysis Service O mercado hoje se caracteriza pela grande competitividade entre as empresas, que a cada dia buscam alm de manter seus clientes, conquistarem novos e adicionar valores aos seus produtos e servios. Para auxiliar o mundo corporativo, surgiram as ferramentas de Data Mining, com uma tarefa fundamental para a sobrevivncia de uma empresa. Com a necessidade de conhecer detalhadamente cada cliente, observando seus desejos, suas caractersticas, seu comportamento, sabendo de suas necessidades, seu comportamento. Desta forma, a aplicao de Analysis Services, uma ferramenta de Data Mining, como apoio s estratgias de empresas, utilizando para isso, qualquer base de dados existente em qualquer tipo de empresa, seja qual for sua procedncia, pode oferecer informaes importantssimas que auxilie no processo decisrio, interferindo diretamente no sucesso da mesma.

3. O algoritmo O algoritmo de rvores de deciso um pouco diferente dos algoritmos que foram apresentados em artigos anteriores. Isso porque ele gera uma estrutura de rvore que ajuda na classificao e predio das amostras desconhecidas. Com base nos registros do conjunto de treinamento, uma rvore montada e, a partir desta rvore, pode-se classificar a amostra desconhecida sem necessariamente testar todos os valores dos seus atributos. O algoritmo de classificao por rvores de

deciso considerado um algoritmo supervisionado, pois necessrio saber quais so as classes de cada registro do conjunto de treinamento. Como o algoritmo monta uma rvore, necessrio antes definir quais so os elementos desta rvore. Para simplificar a explicao do algoritmo, basta pensar em uma rvore como um conjunto de ns que so conectados por ramificaes. Basicamente existem trs tipos de ns: o n raiz, que inicia a rvore, os ns comuns que dividem um determinado atributo e geram ramificaes e os ns folha que contm as informaes de classificao do algoritmo. J as ramificaes possuem todos os valores possveis do atributo indicado no n para facilitar a compreenso e interpretao. A idia do algoritmo montar uma rvore onde cada n indica o teste de um atributo. Os atributos escolhidos para os ns da rvore so chamados de atributos divisores ou atributos teste. A escolha de atributos feita com base no maior ganho de informao, isto , na qualidade de classificao do atributo. Deste modo, podemos dizer que o atributo que melhor classificar os dados deve ser escolhido como um n da rvore. Para facilitar a compreenso, comum colocar os valores das probabilidades de cada classe dentro do n. A classificao de uma nova amostra feita percorrendo os ramos e ns da rvore de acordo com os valores dos atributos da amostra desconhecida. Este algoritmo permite uma anlise mais detalhada levando em considerao cada valor de cada atributo. Contudo, dependendo de quo bom o atributo para a classificao, nem sempre todos os atributos podem estar nos ns da rvore de deciso. Outro fator importante a ser considerado a anlise da rvore. Apenas montar a estrutura da rvore e classificar novas amostras nem sempre suficiente, pois a anlise pode requerer um detalhamento melhor do que significa cada n da rvore. Alm de classificar uma amostra desconhecida, analisando a rvore gerada pode-se montar regras de deciso a partir da rvore de deciso montada com o objetivo de representao do conhecimento. Sem entrar em detalhes muito tcnicos de como o algoritmo funciona, basta pensar que os quatro passos abaixo devem ser seguidos: 3.1 PASSO 1: Gerao do n raiz. Neste passo, cada classe do conjunto de treinamento possui sua probabilidade calculada. Como ainda no existe nenhum n na rvore, basta criar um n raiz contendo as probabilidades de cada classe. Nos prximo passo um atributo deve ser colocado para este n raiz. 3.2 PASSO 2: Encontrar ns a serem divididos. Neste passo necessrio encontrar os ns da rvore que ainda podem ser divididos para a gerao de novos ns. Basta obter os ns que no so folhas, isto , ns que ainda no possuem divises e que cuja distribuio das probabilidades no

classifique a amostra totalmente. Classificar a amostra totalmente quer dizer que o n no deve possuir alguma classe que tenha 100% de probabilidade de classificar a amostra no seu n. Se no houver mais nenhum n que pode ser dividido o algoritmo termina. 3.3 PASSO 3: Diviso de n. Para cada n do conjunto de ns que podem ser divididos deve-se escolher um atributo que melhor classifica os dados. Esta escolha deve excluir todos os atributos que inda no foram utilizados no caminho que comea deste o n raiz at o n a ser dividido. Alm de considerar os atributos que j foram utilizados, tambm deve-se analisar a quantidade de ns folha que o atributo gera e a quantidade de ns no folhas escolhendo o atributo que mais gera ns folha e que menos gera ns que podem ser divididos. Em alguns casos, o n no pode ser dividido devido s restries, o que faz com que este n no seja armazenado no conjunto de ns a serem divididos. 3.4 PASSO 4: Criao do n. Com o atributo escolhido, basta criar e desenhar o n e as suas ramificaes de acordo com todos os possveis valores do atributo. A criao de ramificaes gera novos ns que devem analisados em seguida. O algoritmo volta para o PASSO 2. Do modo que o algoritmo foi apresentado, fica difcil imaginar uma implementao. A prxima sesso do artigo descreve passo a passo a gerao de uma rvore exemplificando todo o algoritmo. Mais informaes sobre o algoritmo de rvores de deciso podem ser obtidas nos links contidos na referencia bibliogrfica. 3.5 Exemplo de uso de algoritmo de rvores de Deciso Vamos considerar o seguinte cenrio para a utilizao do algoritmo. Um sistema de contas a receber de um clube esportivo envia para um banco no incio de cada ms um boleto contendo da mensalidade do clube a ser paga pelos associados. O banco ento envia pelo correio a fatura para os clientes e espera os recebimentos. No final do ms, o banco retorna para o sistema do clube quais clientes pagaram o boleto, quais no pagaram e quais clientes pagaram com atraso, dentre outras informaes. Com o objetivo de diminuir a quantidade de clientes que pagam o boleto com atraso, foi feita uma minerao de dados na base de associados para identificar o perfil de quem paga com atraso o boleto. Um pr-processamento dos dados separou as informaes dos clientes em alguns atributos que podem ser visualizados na tabela da Figura 01. Para este exemplo, 14 registros foram utilizados para o conjunto de treinamento.

Figura 01. Dados dos associados de um clube esportivo As colunas apresentadas na tabela da Figura 01 so descritas a seguir: IDADE: Este atributo identifica a idade do associado. Foi dividido entre os valores <=30, 31..40 para indicar uma faixa de idade e >40 para os valores acima de 40 anos. SALARIO: Este atributo identifica o salrio do associado. Este atributo foi classificado de acordo com a freqncia dos salrios, gerando os valores Alto, Mdio e Baixo. SUPERIOR_COMPLETO: Este atributo indica se a escolaridade do associado. Pode possuir os valores Sim e No. DEPENDENTES: Este atributo indica se o associado possui dependentes que utilizam o clube com a sua carterinha. Possui os valores Sim e No. ATRASOU: Esta a coluna que apresenta a classificao das amostras. Neste exemplo, a classificao indica se o cliente atrasou no pagamento, isto ATRASOU=SIM, ou se o cliente no atrasou no pagamento, isto ATRASOU=NAO. Para facilitar a visualizao os clientes do conjunto de treinamento que atrasaram o pagamento foram marcados em vermelho e os clientes que no atrasaram foram marcados em azul. Vamos agora montar passo a passo a rvore de deciso. Para facilitar a explicao, o software Decision Tree Learning Applet foi utilizado. O link para download deste software se encontra no final do artigo. Como o algoritmo bem extenso somente os clculos do primeiro nvel da rvore sero mostrados. O primeiro passo gerar o n raiz da rvore. Devemos primeiro calcular a probabilidade para cada uma dos valores do atributo de classificao, que no exemplo o atributo ATRASOU. As probabilidade do n raiz so: Probabilidade de ATRASOU=NO: 5/14 = 0,36 Probabilidade de ATRASOU=SIM: 9/14 = 0,64

O n raiz da rvore fica assim:

Figura 02. N raiz da rvore de deciso Notem na Figura 02 que os valores so seguidos da contagem para este n e da sua probabilidade, que apresentada numericamente e por uma barra. Este n ainda no tem um atributo e por isso um n que pode ser dividido. O prximo passo escolher atributos para os ns que podem ser divididos. Como s temos um n vamos analisar todos os atributos para verificar aquele que melhor classifica os dados. Para o atributo IDADE temos: Valor <=30 Probabilidade de ATRASOU=NO: 3/14 = 0,214 Probabilidade de ATRASOU=SIM: 2/14 = 0,143 Valor 31..40 Probabilidade de ATRASOU=NO: 0/14 = 0 Probabilidade de ATRASOU=SIM: 4/14 = 0,286 Este valor gera um n folha, pois todos os registros que tem o valor 31..40 so da classe ATRASOU=SIM Valor > 40 Probabilidade de ATRASOU=NO: 2/14 = 0,143 Probabilidade de ATRASOU=SIM: 3/14 = 0,214 Para o atributo SALARIO temos: Valor Alto Probabilidade de ATRASOU=NO: 2/14 = 0,143 Probabilidade de ATRASOU=SIM: 2/14 = 0,143 Valor Mdio Probabilidade de ATRASOU=NO: 2/14 = 0,143 Probabilidade de ATRASOU=SIM: 4/14 = 0,286 Valor Baixo Probabilidade de ATRASOU=NO: 1/14 = 0,071 Probabilidade de ATRASOU=SIM: 3/14 = 0,214 Para o atributo SUPERIOR_COMPLETO temos: Valor No Probabilidade de ATRASOU=NO: 4/14 = 0,286 Probabilidade de ATRASOU=SIM: 3/14 = 0,214 Valor Sim Probabilidade de ATRASOU=NO: 6/14 = 0,428

Probabilidade de ATRASOU=SIM: 1/14 = 0,071 Para o atributo DEPENDENTES temos: Valor No Probabilidade de ATRASOU=NO: 2/14 = 0,143 Probabilidade de ATRASOU=SIM: 5/14 = 0,357 Valor Sim Probabilidade de ATRASOU=NO: 3/14 = 0,214 Probabilidade de ATRASOU=SIM: 4/14 = 0,286 Concluso: Somente o atributo IDADE gerou um n folha e por isso ele deve ser escolhido como atributo de diviso do primeiro n. Aps escolher este atributo devemos calcular as probabilidades dos novos ns gerados pela ramificao deste n. Deste modo o primeiro nvel da rvore de deciso ficar como a Figura 03.

Figur a 03. Primeiro nvel da rvore de deciso O algoritmo volta para o passo de escolha de ns a serem considerados para a diviso. Neste ponto, a rvore tem dois ns que podem ser divididos, que esto marcados em azul na Figura 03. O n folha gerado pela diviso do valor 31..40 do atributo IDADE no pode mais ser divido. Seguindo o algoritmo, devemos calcular as probabilidades dos atributos SALARIO, SUPERIOR_COMPLETO e DEPENDENTES para cada um dos ns em azul e depois gerar nos ns e assim sucessivamente at no restar mais ns a serem divididos. O resultado final do algoritmo de rvores de deciso aplicado aos dados do conjunto de teste apresentado na Figura 04.

Figur a 04. rvore de deciso completa para o conjunto de testes de exemplo A rvore de deciso mostrada na Figura 04 possui quatro ns folha (em verde) que classificam os valores das classes de acordo com seus atributos. Notem que o atributo SALARIO no foi utilizado, pois o algoritmo no considerou este atributo como relevante para a classificao. A rvore da Figura 04 tambm pode ser representada textualmente da maneira abaixo: IDADE = <=30 SUPERIOR_COMPLETO = NO: NO (3.0) SUPERIOR_COMPLETO = SIM: SIM (2.0) IDADE = 30..40: SIM(4.0) IDADE = >40 DEPENDENTES = NO: SIM (3.0) DEPENDENTES = SIM: NO (2.0) Desta maneira fica um pouco mais fcil para extrair as regras de classificao do tipo SE... ENTO da nossa rvore: SE IDADE = <=30 e SUPERIOR_COMPLETO = NO ENTO A amostra classificada como ATRASA=NO SE IDADE = <=30 e SUPERIOR_COMPLETO = SIM ENTO A amostra classificada como ATRASA=SIM SE IDADE = 30..40 ENTO A amostra classificada como ATRASA=SIM SE IDADE >=40 e DEPENDENTES = NO ENTO A amostra classificada como ATRASA=SIM SE IDADE >=40 e DEPENDENTES = SIM ENTO A amostra classificada como ATRASA=NO Contudo, devemos considerar alguns detalhes antes do uso do algoritmo de rvores de deciso. O algoritmo trabalha bem com valores discretos, pois caso contrrio a

rvore pode se tornar imensa e de difcil compreenso. Tambm preciso dizer que em alguns casos os ns folhas so apresentam sempre um valor correto e nestes casos devemos classificar de acordo com a classe que apresenta maior probabilidade. Outro detalhe que para muitos atributos com muitos valores o algoritmo pode levar algum tempo para montar a rvore, pois necessria uma grande quantidade de clculos de probabilidade alm de armazenamento temporrio de valores. Como dito anteriormente, alm de permitir a classificao de uma amostra desconhecida, a rvore gerada pode permitir a classificao sem a necessidade da anlise de todos os atributos. Por exemplo, na rvore da Figura 04 podemos classificar imediatamente como ATRASA=SIM uma amostra possuir o valor 30..40 para o atributo IDADE. Outra vantagem do algoritmo que gera a rvore de deciso permitir anlises que filtram algum valor de um atributo. Por exemplo, podemos fazer as seguintes afirmaes sobre a rvore da Figura 04: Mais da metade dos associados que possuem mais de quarenta anos tm dependentes. Dos associados que tem idade igual ou menor que trinta anos menos da metade possui o superior completo. 4. Utilizando o Visual Studio para aplicao do Analysis Services. Para iniciar a aplicao desta tcnica, voc precisa ter instalado em seu computador o visual Studio 8 ou verso posterior e tambm o SQL Server 2000 ou verso superior. Para iniciar voc deve abrir o Microsoft Visual Studio.

Feito isso, voc deve clicar em: 1 - File; 2 New Project.

Nesta caixa que abriu, voc deve clicar na caixa de seleo que se encontra a esquerda a opo Business Intelligence Projects e na caixa da direita, escolher a opo Analysis Services Project. No campo name, que se encontra abaixo, voc

pode descrever o nome do projeto e em location, o local onde seu projeto ser salvo. A caixa onde voc digitou o nome e escolheu o local onde seu projeto ser salvo fechou e estar desta forma. Note que o nome do seu projeto aparece no campo Recent Projects que se encontra a esquerda.

Agora voc j criou o projeto e vamos iniciar a aplicao de Analysis Services. Voc deve observar do lado direito da janela, a aba Solution Explorer.

Clicando sobre esta aba, ela deslizar e voc deve clicar com o boto direito sobre a opo Data Source e escolher New Data Source.

Ao escolher esta opo, abrir esta janela.

Nesta janela, clique sobre o boto New, para selecionar uma base de dados. Clicando sobre o boto, aparecer esta janela.

Na opo Server Name, voc seleciona o servidor a se conectar.Logo abaixo, por default vai estar selecionado a opo Windows Authentication, marque a opo Use SQL Server Authentication. No campo User Name, digite sa e em password 1234. Note que aps escolhido o servidor, a opo abaixo Conect to Database

que estava desabilitado, passa a estar habilitado e clicando no campo, abre com a opes das base de dados disponveis para aplicao. Voc seleciona a base de dados e clica em Ok. Aps clicar em Ok, voltar para a tela de criao de Data Source. Nesta tela, clique em Next. Clicando em Next, aparecer esta tela e voc deve selecionar a opo default.

Depois, clique em Next. Nesta prxima tela, voc dar um nome a sua Data Source, e clique em Finish, conforme a figura abaixo.

Agora vamos criar um Data Source View. Novamente clique sobre a aba Solution Explorer. Veja que tem a opo Data Source View. Clique sobre esta com o boto direito e escolha New Data Source View.

Nesta janela, voc deve selecionar o Data Source criado na operao anterior. Provavelmente ele deve aparecer nesta caixa, no Relational Data Source, localizado

do lado esquerdo da janela, conforme figura abaixo. Feito a seleo, clique em Next.

Aps clicar em next, abrir uma caixa de solicitando que seja digitado User id e Password, voc deve digitar respectivamente sa e 1234 e clique em Ok, conforme a figura abaixo.

Tendo passado por esse processo, voc estar agora em uma tela onde ser necessrio selecionar as tabelas da sua base de dados, relacionada Data Source criada, ento, neste momento voc deve selecionar as tabelas e clicar na seta que se encontra no centro desta caixa, apontando para a parte vazia, que deve conter ali somente as tabelas que sero utilizadas e ao final do processo visualizadas.

Tendo selecionado as tabelas, clique em Next. Agora, voc estar numa janela onde poder nomear sua Data Source View criada, e logo abaixo, poder visualizar as tabelas selecionadas para esta Data Source View criada.

Aps nomear e conferir se todas a tabelas selecionadas se encontram listadas nesta caixa, clique em Finish. Note que aps processar, voc ter na sua tela, na rea central do visual Studio seu Data Source View, conforme figura.

Agora, vamos criar uma estrutura de minerao. Para isso, volte na aba lateral Solution Explorer e clique com o boto direito sobre a opo Mining Estrutcture, conforme figura abaixo.

Tendo selecionado, abrir estas opes.

Marque a opo From existing relational database or data warehouse. Mas se a estrutura foi criado um cubo, voc tambm pode utiliz-lo, no entanto, neste tutorial vamos seguir utilizando uma base de dados simples, por isso, escolhemos esta opo. Clique em Next.

Nesta janela, voc vai selecionar a tcnica de minerao de dados. Para isso, selecione uma tcnica no select. Clique em Next.

Seleciona a tcnica, agora escolher a base de dados a ser aplicada esta tcnica. Clique em Next.

Voc deve selecionar na coluna case somente uma tabela, que ser o caso onde se aplicar a tcnica e ser avaliado. Selecione e clique em Next.

Agora, na tabela que voc escolheu onde ser aplicada a tcnica, voc deve eleger a chave, entrada e predictable. Aps escolher as opes, clique em sugest, porque a ferramenta faz sugestes para a criao. Caso solicite User name e Password, digite respectivamente sa e 1234. Clique ok para fechar a tela de sugestes e clique em Next.

Clique em Detect, para verificar os campos selecionados e no havendo erros nesta seleo, clique em Next.

Nesta tela, voc pode nomear sua estrutura de minerao. Marque a opo Allow drill through e clique em Finish. O resultado foi esse, sua estrutura de minerao foi criada e sua tela estar desta forma:

Agora necessrio processar a minerao para que seja gerado relatrios. Ser aplicado a tcnica escolhida sobre a tabela selecionada utilizando a base de dados ao qual se criou o Data Source. Observe do lado esquerdo de sua tela onde tem a boto Process Mining Estrutucture, conforme figura abaixo.

Tendo selecionado a opo, clique em Yes. Caso solicite novamente Use name e password, digite respecitvamente sa, 1234.

Se houve necessidade ou no de idenficar-se, voc estar nesta tela agora, ento, basta clicar em Run, e se tudo foi configurado corretamente, no haver erros. Conforme tela abaixo. Basta clicar em Close e est pronto. Agora, podemos explorar os relatrios que o Analysis Services lhe oferece, diante do tipo de algoritmo que voc escolheu para ser aplicado na sua base de dados.

Referencia bibliogrfica: http://www.cce.puc-rio.br/informatica/dataminingcentro.htm http://en.wikipedia.org/wiki/Decision_tree http://www.devmedia.com.br/visualizaComponente.aspx?comp=3388&site=2