63
!"# $ $ %& ’( )**+

˘ˇ˘ - fenix.tecnico.ulisboa.pt · cláudia antunes 3 Índice Índice 3 capÍtulo 1 introduÇÃo ao sas 5 aplicaÇÕes sas 5 bibliotecas 6 projectos 7 sas enterprise guide 7 enterprise

Embed Size (px)

Citation preview

���������������� ������������������������� ������������������������� ������������������������� �����������������

������������������������������������������������������������������������������������

��������������������������������� �

���������������!�"��#�����$�����������$������������������%&������

��

��

��

��

��

'�(�������)**+

Cláudia Antunes 3

ÍNDICE

ÍNDICE 3 CAPÍTULO 1 INTRODUÇÃO AO SAS 5 APLICAÇÕES SAS 5 BIBLIOTECAS 6 PROJECTOS 7 SAS ENTERPRISE GUIDE 7 ENTERPRISE BI SERVER 8 ENTERPRISE MINER 8

CAPÍTULO 2 EXPLORAÇÃO DE DADOS 11 CRIAÇÃO DE PROJECTOS 11 IMPORTAÇÃO DE DADOS 12 LEITURA DE TABELAS DE DADOS SAS 12 PROVENIENTES DE FICHEIROS EXCEL 13 PROVENIENTES DE FICHEIROS DE TEXTO 13 PROVENIENTES DE BASES DE DADOS RELACIONAIS 15 CRIAÇÃO DE RELATÓRIOS 15 LISTAGENS 15 TAREFAS DE AGREGAÇÃO 17 GRÁFICOS 18 UTILIZAÇÃO DE INTERROGAÇÕES SQL 18 INTERROGAÇÕES SIMPLES 18 INTERROGAÇÕES COM AGREGAÇÕES 19 JUNÇÃO DE TABELAS – JOIN 19 PARAMETRIZAÇÃO DE INTERROGAÇÕES 20

CAPÍTULO 3 CRIAÇÃO DE CUBOS 23 CRIAÇÃO DE CUBOS A PARTIR DE UMA TABELA DE DETALHE 24 CRIAÇÃO DE CUBOS A PARTIR DE UM ESQUEMA EM ESTRELA 27

CAPÍTULO 4 OLAP 31 OPERAÇÕES OLAP 32 OPERAÇÕES DE ROLL-UP E DRILL-DOWN 33 PIVOTING 34 LINGUAGEM MDX 34

CAPÍTULO 5 INTRODUÇÃO AO ENTERPRISE MINER 37 CRIAÇÃO DE BIBLIOTECAS NO SAS BASE 37

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 4

PROCESSO DE DESCOBERTA DE INFORMAÇÃO 38 SELECÇÃO DOS DADOS 39 EXPLORAÇÃO DOS DADOS 41 MODIFICAÇÃO DOS DADOS 42 MODELAÇÃO DOS DADOS 42 AVALIAÇÃO DOS MODELOS 42

CAPÍTULO 6 REGRAS DE ASSOCIAÇÃO 45 CAPÍTULO 7 CLUSTERING 47 SEGMENTAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS 47 MEDIDAS DE SEMELHANÇA 48

CAPÍTULO 8 CLASSIFICAÇÃO BASEADA EM INSTÂNCIAS 51 CLASSIFICAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS 51

CAPÍTULO 9 ÁRVORES DE DECISÃO 53 CAPÍTULO 10 REDES NEURONAIS 57 CAPÍTULO 11 COMPARAÇÃO DE MODELOS 61

Cláudia Antunes 5

Capítulo 1 INTRODUÇÃO AO SAS

O software SAS é uma das ferramentas de Business Intelligence actualmente disponíveis no mercado, e

integra várias componentes num único produto de software. Destas componentes destacam-se o

Enterprise Guide, o Enterprise BI Server e o Enterprise Miner usados na disciplina de Sistemas de

Apoio à Decisão do Instituto Superior Técnico. Esta ferramenta será apenas usada como meio para

ilustrar e experimentar a aplicação das técnicas e metodologias estudadas.

De modo a ilustrar a utilização do software, considerou-se que todos os ficheiros necessários à

realização das tarefas serão colocados em pastas na directoria ‘c:/sad’.

APLICAÇÕES SAS

As aplicações SAS são aplicações gráficas interactivas, que funcionam sob uma mesma filosofia. Esta

consiste essencialmente na definição de processos que são compostos por uma sequência de tarefas a

executar sobre os dados. Estas tarefas correspondem a tipos específicos de análises ou relatórios que

podem ser aplicados aos dados. Associado a cada tarefa existe um bloco de código SAS, que é

executado sobre os dados analisados pela tarefa, na sequência definida pelo fluxo do processo.

De uma forma simplista, a interacção com as aplicações SAS pode ser vista como uma sequência de

quatro etapas:

1. Criação de um projecto;

2. Adição dos dados a analisar;

3. Execução das tarefas de análise;

4. Visualização dos resultados / relatórios criados.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 6

• De modo a facilitar a definição e execução dos processos, as aplicações têm ambientes de

trabalho semelhantes, compostos por várias janelas, cada uma das quais desempenhando um

objectivo específico. Em particular, todas apresentam:

− uma Explorer Area em que se listam as fontes de dados disponíveis, organizadas em

bibliotecas, que por sua vez se localizam em servidores virtuais;

− uma Task Area em que se listam as tarefas disponíveis para utilização

− e uma Process Area em que se define e visualiza o processo a aplicar. Esta área tipicamente

dá acesso ao fluxo de processos, aos logs originados durante a execução do processo e ao

código SAS gerado.

As janelas são acompanhadas por um conjunto de menus e toolbars, dependentes de contexto, pelo que

o seu uso é por vezes difícil, uma vez que dependendo da janela activa as opções disponíveis são

significativamente diferentes. A Figura 1 apresenta a interface da aplicação base do SAS.

Figura 1 Interface da aplicação base do SAS

A gestão eficiente dos vários processos é feita através da organização dos diferentes processos em

projectos e dos dados em bibliotecas. A definição dos projectos é diferente nas diversas aplicações e

será introduzida mais tarde.

Bibliotecas

Uma biblioteca SAS (Library) é um ponteiro para a localização de uma pasta com os ficheiros criados

pelo utilizador. Uma vez criada, o SAS consegue aceder aos ficheiros existentes na biblioteca. Quando

uma biblioteca é apagada, os ficheiros mantém-se em disco, mas ficam inacessíveis a partir do SAS.

No entanto, é possível criar bibliotecas em várias das aplicações SAS: no SAS Base, no SAS Enterprise

Guide Administrator, no SAS OLAP Cube Studio, etc. Em qualquer caso apenas é necessário definir

Capítulo 1 Introdução ao SAS

Cláudia Antunes 7

alguns parâmetros.

As aplicações SAS apresentam algumas bibliotecas pré-definidas como é o caso da biblioteca WORK

que armazena temporariamente os ficheiros gerados, e da biblioteca SASUSER, que os guarda numa

pasta designada “My SAS Files” (por omissão). É conveniente criar duas bibliotecas: uma para dados e

outra para os projectos.

NOTA: Apesar de teoricamente as bibliotecas criadas ficarem disponíveis para todas as aplicações

SAS, isso não acontece. Para que consigam manipular bibliotecas em cada aplicação do SAS, é

necessário criar aí as bibliotecas.

Projectos

Tal como as bibliotecas, os projectos são apenas formas de gerir, neste caso os conjuntos de dados e os

processos aplicados. O objectivo dos projectos é criar espaços de trabalho dedicados a cada problema

individual. Assim, deve criar um projecto diferente para cada objectivo a atingir.

SAS ENTERPRISE GUIDE

O Enterprise Guide é a aplicação cliente do SAS para fazer exploração de dados, permitindo de forma

integrada aceder e analisar dados provenientes de diferentes fontes, em particular de diferentes

máquinas. A análise pode ser feita sobre tabelas ou cubos de dados, produzindo novas tabelas e

relatórios que podem ser partilhados e utilizados pelas restantes aplicações do SAS.

No Enterprise Guide, todas as tarefas são parametrizadas segundo uma interface comum, em que as

opções de parametrização são apresentadas na área Selection (Selection Pane) do lado esquerdo da

janela.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 8

ENTERPRISE BI SERVER

O SAS Enterprise BI Server é um pacote de ferramentas que integra a construção, exploração e

visualização de dados, permitindo a sua organização segundo modelos mais adequados ao apoio à

decisão.

Nas aulas de laboratório da disciplina, serão usadas apenas parte das potencialidades deste pacote: o

SAS OLAP Cube Studio e o SAS Management Console.

O SAS OLAP Cube Studio permite a definição e criação de cubos, funcionando em ligação com o

servidor de metadados e o servidor de OLAP (que devem estar a correr em background).

O SAS Management Console é apenas uma ferramenta que permite a gestão dos vários utilizadores e

serviços, nomeadamente a gestão do funcionamento dos servidores referidos.

ENTERPRISE MINER

O Enterprise Miner é o pacote do SAS para Data Mining, ou seja, que executa processos de extracção

de informação, desde o acesso aos dados até à visualização da informação descoberta. Sendo um

pacote, funciona dentro do SAS Base.

O Instituto SAS define data mining como “o processo de Seleccionar (Sample), Explorar (Explore),

Modificar (Modify), Modelar (Model) e Avaliar (Assess) – SEMMA grandes quantidades de dados,

para descobrir padrões previamente desconhecidos”:

• A Selecção dos dados é efectuada com a criação de tabelas. Estas devem conter dados

suficientes e significativos, mas ter um tamanho que não inviabilize o processo de descoberta

(por o tornar demasiado lento ou inoperante).

• A Exploração dos dados consiste na análise manual dos dados, de forma a adquirir algum

Capítulo 1 Introdução ao SAS

Cláudia Antunes 9

conhecimento prévio que ajude na definição dos objectivos do processo.

• A Modificação dos dados é realizada pela criação, selecção e transformação das variáveis

envolvidas no problema, de modo a ajudar a escolher o melhor modelo a usar no processo.

• A Modelação dos dados é concretizada pela aplicação das ferramentas de análise disponíveis

no pacote, nomeadamente árvores de decisão, redes neuronais, entre outros. É esta a etapa

responsável pela descoberta de informação, propriamente dita.

• A Avaliação consiste em analisar os resultados obtidos no passo anterior, de modo a

determinar a sua utilidade e fiabilidade.

O processo é conduzido por um fluxograma, que pode ser modificado e gravado. Este é desenhado de

forma a que o analista do negócio, que tem poucos ou nenhums conhecimentos de data mining, o possa

utilizar para descobrir informação face a novos dados.

O Enterprise Miner contém um conjunto de tarefas de análise que podem ser combinadas de modo a

criar e comparar múltiplos modelos. Para além destas existem tarefas para preparação dos dados,

nomeadamente para detecção de pontos isolados, transformação de variáveis, amostragem e partição

dos dados em conjuntos de treino, teste e de validação. As suas tarefas de visualização mais avançadas

permitem uma análise rápida e fácil dos dados e informação obtidos.

Cláudia Antunes 11

Capítulo 2 EXPLORAÇÃO DE DADOS

A forma mais eficiente de explorar dados no SAS é através do SAS Enterprise Guide. Assim, todas as

descrições e exercícios neste capítulo dizem respeito a esta aplicação.

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para a pasta c:/sad/ProductsAndSuppliers:

• products.sas7bdat

• updateorders.sas7bdat

• supplyInfo.xls

• orders.txt

• profit.sas7bdat

CRIAÇÃO DE PROJECTOS

A criação de projectos no Enterprise Guide é feito do seguinte modo:

Exercício 1 1. Seleccione File�New�Project a partir da barra de menus. 2. Como resultado, o espaço de trabalho passa a apresentar a janela de projecto, com a listagem

das tarefas de cada processo (Process Window) e com os fluxos de processos definidos no projecto (Process Flow Window). Na altura de criação do projecto ambas as janelas estão vazias.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 12

IMPORTAÇÃO DE DADOS

Os ficheiros de dados SAS têm extensão .sas7bdat e consistem simplesmente numa tabela de dados,

semelhante a uma tabela de um modelo relacional. Sendo os dados aí contidos de um de dois tipos:

character (textual) ou numeric (numérico). Os dados do tipo Data, Tempo ou Moeda são armazenados

como numeric e podem ser apresentados com formatos específicos mais amigáveis.

Há ainda a salientar que um valor omisso (missing value) é representado como um ‘ponto’ se o

atributo for numérico ou ‘em branco’ se o atributo for textual.

Leitura de Tabelas de Dados SAS

Quando uma tabela de dados é importada, esta fica em modo de leitura (Read Only), e apenas pode ser

consultada, não sendo permitido outro tipo de alterações como a inserção de novas colunas ou edição

de valores ou dos rótulos dos atributos.

Exercício 2 3. Seleccione File�Open�From my computer (ou Existing na versão 1.3) a partir da barra de

menus. 4. Abra o ficheiro products.sas7bdat, existente na pasta c:/sad/ProductsAndSuppliers ou

arraste o ficheiro a partir da biblioteca ProdSupp da Explorer Window para a Project Window. 5. De imediato será aberta a janela com os dados existentes na tabela.

De modo a permitir operações de edição sobre as tabelas importadas é necessário alterar o seu modo

para edição (Update). Depois desta alteração é então possível: editar valores, editar e formatar os

rótulos dos atributos, apagar linhas e colunas, ordenar os dados e criar novos atributos (colunas) ou

novos registos (linhas).

Exercício 3 1. Abra a tabela updateorders.sas7bdat, existente na pasta c:/sad/ProductsAndSuppliers. 2. Altere o modo de edição da tabela seleccionando a opção Data�Read-only (a tabela tem de

estar aberta, para que a opção esteja acessível).

Capítulo 2 Exploração de Dados

Cláudia Antunes 13

3. Apague o atributo UnitsInStock, seleccionando a opção Delete a partir do menu pop-up que surge quando o rato está sobre o rótulo do atributo.

4. Altere o rótulo do atributo AcctNumber, seleccionando a opção Properties, através do menu pop-up. Altere o nome para CustID e o rótulo para “Customer ID”.

5. Crie um novo atributo Revenue. Para tal seleccione a última coluna da tabela e seleccione a opção Data�Columns�Insert... Preencha o nome e rótulo com Revenue e assegure-se que o tipo do novo atributo é numérico. De forma a criar valores para o atributo criado faça: a) Seleccione o botão “...” (junto à list box Expression) de modo a abrir o Expression

Builder. b) Seleccione a área Values, e dos atributos disponíveis em Value crie a expressão

Quantity*SellPrice. c) Seleccione o formato Currency em euros com largura 10 e 2 casas decimais.

6. Volte a colocar a tabela no modo de leitura.

Provenientes de Ficheiros Excel

Para além dos ficheiros SAS, a aplicação aceita outros ficheiros, por exemplo do tipo EXCEL.

Exercício 4 1. Seleccione File�Open�From my computer (ou Existing na versão 1.3) a partir da barra de

menus. 2. Abra o ficheiro SupplyInfo.xls, existente na pasta c:/sad/ProductsAndSuppliers. 3. Como o ficheiro tem várias folhas (sheets) aparece uma janela para seleccionar a folha. Escolha

a opção Suppliers$.

4. Em seguida seleccione a opção Select this option if you want to open the file as a SAS data

set, para que o ficheiro seja importado para o formato SAS.

5. Na área Region To Import, active a opção Specify line to use as columns headings, e

mantenha a linha 1. 6. Para que o ficheiro seja guardado no sítio certo, aceda à área Results e, clicando no botão

Modify, escolha a biblioteca pretendida (ProdSupp) e um nome adequado (SUPPLYINFO). 7. Execute a tarefa, clicando em Run. Novamente, o SAS abrirá a tabela gerada.

Provenientes de Ficheiros de Texto

A importação de dados provenientes de ficheiros de texto é semelhante à importação do mesmo tipo de

ficheiros no Microsoft Excel.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 14

Exercício 5 1. Seleccione File�Open�From my computer (ou Existing na versão 1.3) a partir da barra de

menus. 2. Abra o ficheiro orders.txt, existente na pasta c:/sad/ProductsAndSuppliers. 3. Seleccione a opção Select this option if you want to open the file as a SAS data set, como

anteriormente. 4. Em seguida aparecerá uma janela de tarefas, que o guiará na importação deste tipo de ficheiros.

Para tal, seleccione Text Format na área Selection, e escolha Delimited caso o seu ficheiro tenha os valores separados por vírgulas ou tabs ou Fixed caso os valores em cada coluna / atributo ocupem o mesmo número de caracteres.

5. No segundo caso, será necessário escolher os limites de cada coluna como na próxima figura.

6. Em seguida pode definir as propriedades de cada coluna, determinando por exemplo o formato

em que os dados devem ser lidos (Read format também designado Informat) e apresentados (Display format), assim como o tipo de dados (Type) e o nome (Name) ou rótulo (Label) do atributo.

7. Faça as seguintes alterações aos atributos:

a) Column 1: ignore os seus dados (Include in output�No); b) Column 2: Name=”ProdId”; Label=”Product ID”; Lenght=4; c) Column 3: Name=Label=”Quantity”; Type=”Numeric”; d) Column 4: Name=Label=”SellPrice”; Type=”Numeric”;

Displayformat=Currency����EUROw.d(width=8); e) Column 5: Name=Label=”Revenue”; Type=”Numeric”;

Displayformat=Currency����EUROw.d(width=10); 8. Seleccione Results na área Selection, e altere a localização do ficheiro para a biblioteca

ProdSupp (definida no Capítulo 1), assim como o nome para ORDERS. 9. Finalmente, seleccione a opção Run, através do menu pop-up que aparece associado à tarefa

Import Data. 10. Salve o projecto.

Capítulo 2 Exploração de Dados

Cláudia Antunes 15

Provenientes de Bases de Dados Relacionais

A importação de tabelas de uma base de dados relacional pode ser feita através de uma ligação ODBC.

CRIAÇÃO DE RELATÓRIOS

De modo a apresentar os resultados de exploração dos dados ao utilizador final, o Enterprise Guide é

capaz de gerar relatórios em quatro formatos: texto, HTML, PDF e RTF.

Assim, a execução de cada tarefa pode gerar um relatório num destes formatos, sendo possível

customizar a sua aparência, assim como os títulos, cabeçalhos e rodapés, a partir da opção Titles na

área Selection de cada tarefa.

Para a alteração do estilo do relatório a gerar no formato HTML, é possível escolher um estilo já

existente em Tools�Options�Results�HTML, alterá-lo na opção Manage Styles ou criar um novo

a partir de um ficheiro .css (procedimento semelhante ao seguido no Microsoft Frontpage).

Listagens

A listagem (List Data) é o relatório mais simples que o Enterprise Guide consegue gerar. Trata-se de

um relatório simples em que se pode escolher, entre outros detalhes:

• As variáveis a analisar (List variables);

• Os totais a apresentar (Total of);

• Que agrupamentos usar (Group By)

Exercício 6 1. Seleccione a tabela de dados SupplyInfo. 2. Escolha a opção Describe�List Data a partir da barra de menus. 3. De forma a listar a morada dos fornecedores, agrupados por país (como se mostra), faça:

a) Arraste as variáveis CompanyName, Address e City da área Variables para a área

Task Roles, como List Variables; b) Seleccione o atributo Country para agrupar os fornecedores (Group By); ordene-os por

ordem alfabética; c) Seleccione o atributo Country também como Identifying Label, de modo a que cada

país apareça apenas uma vez; d) Para alterar o identificador da coluna de fornecedores, seleccione CompanyName (sob

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 16

o papel de List Variable) e seguindo a opção Properties, altere o rótulo para Supplier.

e) De modo a especificar outras opções escolha a opção Options na área Selection.

4. Para visualizar o relatório, seleccione o nó criado no fluxo de processos e execute-o (Run).

Para além de listagens simples, que apenas apresentam os dados registados numa tabela, o Enterprise

Guide permite a criação de outros relatórios capazes de apresentar algumas estatísticas sobre os dados,

como sejam frequências.

Existem dois tipos de relatórios disponíveis a partir do menu Describe: de uma (One-Way

Frequency) ou de duas frequências (Two-Way Frequency).

A construção do primeiro tipo é semelhante à criação de uma listagem simples pelo que apenas

apresentaremos o segundo tipo.

Exercício 7 1. Seleccione a tabela de dados Products. 2. Escolha a opção Describe�Table Analysis a partir da barra de menus. 3. De forma a determinar quantos dos produtos vendidos estão actualmente disponíveis versus os

que foram descontinuados em cada categoria de alimentos, faça: a) Seleccione as variáveis CategoryName e Discontinued como Table Variables

arrastando-as; b) Seleccione a opção Tables na área Selection para definir a estrutura da tabela. Arraste a

variável Discontinued das variáveis permitidas para a zona <drag variables here> na área Preview;

c) Arraste a variável CategoryName para o centro da tabela. Depois disto deverá ter a seguinte estrutura:

d) Em seguida especifique as estatísticas que devem ser apresentadas, a partir da opção

Cell Statistics. e) Execute o nó de forma a visualizar o relatório gerado, que deve assemelhar-se a

Capítulo 2 Exploração de Dados

Cláudia Antunes 17

Tarefas de Agregação

Para além de frequências é possível gerar relatórios com estatísticas mais interessantes, como são

médias, medianas, máximos, variâncias, totais (sum), entre outras. Para tal existem tarefas de

agregação (Summary Statistics).

Um aspecto relevante é o facto de estas tarefas poderem gerar novas tabelas como resultado das suas

operações.

Exercício 8 1. Faça a importação da tabela de dados Profit.sas7bdat e seleccione-a. 2. Escolha a opção Describe�Summary Statistics a partir da barra de menus. 3. De forma a criar uma tabela sumário que contenha o total dos proveitos gerados pelos produtos

adquiridos a cada um dos fornecedores, faça: a) Seleccione a variável Profit como Analysis Variable arrastando-a; b) Seleccione a variável CompanyName como Classification Variable, mantendo os

valores de omissão para estas variáveis; c) Seleccione Country como Copy Variable, de modo a incluí-la nos resultados;

d) Escolha a média (Mean) e a soma (Sum) como estatísticas a apresentar na opção

Statistics�Basic, na área Selection; 4. De modo a guardar os resultados gerados numa tabela, seleccione a opção Results�Save

statistics to data set, escolhendo o nome da nova tabela seleccionando a opção Modify e introduzindo o respectivo nome.

5. Renomeie o nó Summary Statistics criado para “Compute Total Profit” e analise a tabela de dados gerados.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 18

Gráficos

Por fim, o Enterprise Guide disponibiliza ainda a criação de gráficos para incluir nos seus relatórios.

Os tipos de gráficos existentes são os geralmente disponíveis noutras aplicações comerciais (Bar, Pie,

Area, Line, Surface, Donut, ...). E permite a sua geração em diversos formatos (Active X, Java, GIF,

JPG).

O processo de geração dos gráficos é semelhante à de outras aplicações, como por exemplo o

Microsoft Excel.

UTILIZAÇÃO DE INTERROGAÇÕES SQL

De modo a seleccionar parte dos dados existentes numa tabela, o Enterprise Guide permite a criação

de filtros através da definição de interrogações SQL. Tal como noutras aplicações, a definição das

interrogações é feita numa interface gráfica designada Query Builder.

O Query Builder possui várias funcionalidades, das quais se destacam as existentes nas seguintes áreas

de trabalho:

• Filter Data – permite a definição de interrogações SQL simples (apenas com cláusulas

WHERE). É, portanto, usado para devolver apenas os registos / linhas que satisfazem os

critérios impostos. Estes critérios podem ser baseados em valores de atributos existentes na

tabela ou calculados a partir da tabela.

• Select and Sort – é usada para seleccionar que colunas são incluídas no resultado e que papéis

desempenham nas interrogações.

• Tables – é usado para fazer junção de várias tabelas que tenham alguma relação entre elas

(Join).

• Group Filters – semelhante ao Filter Data mas para interrogações com agregações (Group By e

cláusulas HAVING). Esta área não está disponível, caso não exista nenhuma variável

seleccionada com o papel group na área Select and Sort.

• Parameters – permite definir parâmetros para criar interrogações parametrizáveis, ou seja,

interrogações que dependendo dos valores introduzidos pelo o utilizador durante a execução,

devolvem resultados diferentes.

Interrogações Simples

Exercício 9 1. Seleccione a tabela de dados SupplyInfo.

Capítulo 2 Exploração de Dados

Cláudia Antunes 19

2. Escolha a opção Create query... a partir do menu pop-up. 3. De forma a criar uma tabela que contenha apenas os fornecedores não-americanos,

apresentando unicamente os atributos Country, CompanyName e City faça: a) Na área Filter Data, seleccione a variável Country e arraste-a para a área de edição do

filtro; b) Seleccione o botão Column Values de modo a gerar a lista de valores possíveis para a

variável em causa (o Enterprise Guide devolve um máximo de 250 valores distintos, por omissão);

c) Da lista gerada, seleccione o valor ‘USA’; d) Active a opção Apply NOT to filter; e) De modo a incluir apenas os 3 atributos pretendidos, desactive as check-boxes de todos

os atributos excepto os pretendidos, na área Select and Sort. f) Ao ser executada a interrogação irá gerar uma nova tabela, renomeie-a para

Non_US_Suppliers na área Advanced, clicando em Change. 4. Execute a interrogação (Run query) e analise a tabela gerada.

Interrogações com Agregações

Exercício 10 1. Seleccione a tabela de dados Profit. 2. Escolha a opção Create query... a partir do menu pop-up. 3. De forma a criar uma tabela que contenha uma linha por cada produto cuja média do lucro

obtido nas várias encomendas é superior a �25 faça: a) Na área Select and Sort:

i ) exclua os atributos City, QuantityPerUnit, UnitCost e CategoryName; ii ) na coluna Group By and Summary Functions (identificada por ΣΣΣΣ), para o

atributo ProductName, seleccione <group>; iii ) na mesma coluna, mas para o atributo Profit seleccione AVG. Clique uma vez

no nome do atributo (CC1) e renomeie-o para ProfitAvg; iv ) desactive a opção Allow Duplicate Rows.

b) Na área Group Filters: i ) arraste o atributo ProfitAvg da área de selecção para a área de edição; ii ) na janela de diálogo Edit Filter Condition, seleccione o operador <, less than e

o valor 25 no campo Value. c) Na área Advanced, altere o nome do ficheiro a gerar para ProfitAvg. d) Depois de alterar o nome da tabela, execute a interrogação.

Junção de Tabelas – JOIN

Exercício 11 1. Seleccione a interrogação criada no Exercício 9 alínea f) e crie uma cópia. 2. Renomeie a cópia para ComputeTotalProfit. 3. Clique duas vezes sobre a nova interrogação de modo a editá-la. Deste modo usará a

interrogação do Exercício 9 como template. 4. Na área Tables seleccione a opção Add Data�Project. Mantendo a tecla CTRL pressionada,

seleccione as tabelas Products e Orders. 5. A relação entre a tabela Products e SupplyInfo aparecerá na área Filter Data, mas surgirá uma

mensagem de erro por não existir nenhuma relação (automaticamente detectável) entre aquelas tabelas e a tabela Orders.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 20

6. Clique em OK e estabeleça a relação manualmente, ligando as tabelas Products e Orders através dos atributos ProductID e ProdID. (A ligação é feita clicando no 1º atributo e mantendo o botão do rato premido, enquanto se arrasta o rato para o 2º atributo e se liberta o botão do rato. Aparece uma linha a ligar as duas tabelas).

7. Através da área Select and Sort, apague os atributos ProductID, SupplierID, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued e ProdID.

8. Adicione um novo atributo seleccionando a opção New...; altere o campo Alias para Profit e crie uma expressão para calcular os valores do novo atributo, seleccionando a opção Change... a) Seleccione CurrentQuery na área Values�Data Source, e SellPrice em

Values�Value, clicando em Insert. b) Continue a expressão de modo a obter (SellPrice-UnitCost)*Quantity. c) Defina o formato do novo atributo como Currency e EUROw.d d) Altere o nome do ficheiro para ComputeTotalProfit, na área Advanced.

9. Execute a interrogação e analise os resultados.

Parametrização de Interrogações

Um parâmetro é identificado pelo símbolo ‘&’. O Enterprise Guide disponibiliza vários tipos de

parâmetros:

• Character String – apresenta uma caixa de texto que apenas aceita caracteres;

• Number– apresenta uma caixa de texto que apenas aceita dígitos;

• Item from a list– apresenta uma drop-down list com os valores aceites, que são introduzidos na

área Parameter validation;

• Item from an editable list – semelhante à anterior, mas permite a introdução de um novo valor;

• Multiple items from a list – semelhante à Item from a list, mas permite a selecção de vários

valores;

• Date – apresenta uma caixa de texto que apenas aceita valores correspondentes a datas, no

formato MONTH DD, YYYY. Clicando sobre a seta é possível escolher uma data a partir de

um calendário;

• Time – apresenta uma caixa de texto que apenas aceita valores correspondentes a tempo, no

formato HOURS:MINUTES:SECONDS AM/PM;

• Date and time – apresenta uma caixa de texto que apenas aceita valores correspondentes a datas

seguidas de tempos.

Exercício 12 1. Seleccione a tabela de dados ComputeTotalProfit. 2. Escolha a opção Create Query... a partir do menu pop-up. 3. Seleccione a opção Parameters�New..., e na janela de diálogo de Properties escolha:

a) Number como tipo de parâmetro; b) Atribua o nome Profit_Limit ao atributo; c) Introduza como mensagem a apresentar ao utilizador a string “Display Suppliers with

Total Profits Exceeding $”, no campo Message for user;

Capítulo 2 Exploração de Dados

Cláudia Antunes 21

d) Seleccione None no campo Enclose user input with e atribua 0 ao valor por omissão (Default value).

4. De modo a usar o filtro definido, crie uma interrogação a partir da área Filter Data: a) Arraste o atributo Profit para a área de edição; b) Na janela de diálogo Edit Filter Condition, seleccione a opção >, greater than como

operação; c) Na mesma janela seleccione o parâmetro &Profit_Limit para servir de parâmetro para

a interrogação (clicando em Parameter Names aparecem os parâmetros disponíveis). 5. Na área Select and Sort, remova os atributos _WAY, _TYPE e _FREQ. 6. Altere o nome do ficheiro para ProfitLimit, na área Advanced. 7. Execute a interrogação e altere o nome da tabela para ProfitLimit.

Nota: De modo a que seja sempre pedido um novo valor para o parâmetro, seleccione Tools�Options�Query�For queries with parameters, always prompt for values.

Cláudia Antunes 23

Capítulo 3 CRIAÇÃO DE CUBOS

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad/company/data:

• books.sas7bdat

• music.sas7bdat

• electronics.sas7bdat

• company.sas7bdat

De modo a implementar uma instanciação de um modelo multidimensional, o SAS fornece o pacote

SAS OLAP Cube Studio, entre outros (por exemplo o SAS ETL Studio).

Em concreto, o que é necessário é criar o(s) cubo(s) que melhor se adequa(m) às necessidades. Para tal

é fundamental seguir 4 passos:

• Definir conceptualmente o cubo, ou seja, definir as medidas, as dimensões e respectivas

hierarquias, assim como as agregações que se pretende analisar (como explicado nos livros de

texto).

• Criar uma nova biblioteca para armazenar as tabelas com os dados originais – tabelas fonte, e

registar a sua localização no servidor de meta-dados.

• Registar as tabelas fonte no servidor de meta-dados.

• Construir o(s) cubo(s) e definir as permissões associadas.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 24

CRIAÇÃO DE CUBOS A PARTIR DE UMA TABELA DE DETALHE

Uma tabela de detalhe é uma tabela que resulta da desnormalização completa dos dados referentes a

um assunto que se pretende analisar. Nos exercícios seguintes considere a tabela company que se

ilustra em baixo.

Exercício 1 LIGAÇÃO AO SERVIDOR DE METADADOS 1. Garanta que os servidores de OLAP “SAS OLAP Server” e de metadados “SAS Metadata

Server” foram lançados com sucesso a) Pode verificar se o servidor foi correctamente lançado, a partir da análise dos serviços

activos no sistema operativo (em Computer Management � Services and Applications � Services): verifique que os serviços “SAS Lev1 MS – SASservers” e “SAS Lev1 OL – SASservers” estão a funcionar.

2. Lance o pacote de software SAS OLAP Cube Studio. a) Seleccione a opção File�Open Metadata Profile... b) Seleccione Open an existing metadata profile e escolha o perfil criado durante o

processo de configuração de software – perfil SASservers.

Exercício 2 REGISTO DA TABELA DE DADOS 1. Ainda no SAS OLAP Cube Studio, seleccione a opção Source Designer (Tools�Source

Designer) de modo a definir a localização dos dados. a) Escolha a opção SAS como tipo de fonte.

b) Se for solicitada a ligação ao servidor SAS, use o servidor SAS Main, ligue-se usando a

conta sasadmin (password=”admin”)

Capítulo 3 Criação de Cubos

Cláudia Antunes 25

2. Crie uma nova biblioteca para aceder às tabelas de dados fonte, seleccionando New: a) Name = CoData; b) Description = Library for Company data files.

3. Na janela seguinte, introduza a) LibRef = coDtRef b) Engine = Base. c) Acrescente um novo caminho, clicando em New e inserindo “c:/sad/company/data”

4. Na janela seguinte, seleccione o servidor SASMain como servidor aplicacional. 5. Termine a criação da biblioteca, clicando em Finish. A nova biblioteca aparece seleccionada,

use-a prosseguindo com Next. 6. No passo seguinte, encontra as várias tabelas existentes na biblioteca, seleccione a tabela

company e termine. A tabela company aparece no repositório em uso (Repositories� Foundation�PhysicalTable).

7. Não termine o OLAP Cube Studio, de modo a prosseguir com a definição do cubo no Exercício 4.

Exercício 3 PERMISSÕES

Antes de prosseguir com a definição do cubo, é necessário garantir que o utilizador tem as permissões

necessárias à manipulação

1. A partir da SAS Management Console, e usando o perfil de omissão (SASservers). 2. Na estrutura em àrvore (à esquerda), expanda Authorization Manager�Resource

Management�By Location�SASMain�SASMain - OLAP Schema.

3. Clicando no botão direito do rato, seleccione Properties. 4. Seleccione a janela Authorization, e o nome PUBLIC. 5. Garanta as permissões de leitura, seleccionando as opções Read e ReadMetadata. 6. Termine a aplicação.

Exercício 4 REGISTO DO CUBO 1. Novamente no SAS OLAP Cube Studio, seleccione a opção Cube Designer (na barra do lado

esquerdo do ecrã), e prossiga. 2. Introduza os seguintes dados de forma a definir os dados gerais sobre o cubo a criar:

a) Cube Name = CoSalesCube

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 26

b) Description = Cube for company sales analysis c) Repository = Foundation d) OLAP Schema = SASMain – OLAP Schema e) Path = c:/sad/company/cubes f) Input = Detail Table

3. Clique Next, e em seguida, terá de definir a tabela que irá ser usada como fonte para o cubo. a) Seleccione o repositório Foundation e a tabela company. b) Active a opção Use input table for Drill-Through: company

4. Clique em Next.

Exercício 5 REGISTO DAS DIMENSÕES 1. Na janela de definição das dimensões:

2. Clique em Add de forma a crier a dimensão Geo:

a) Name = Geo b) Caption = Geo dimension c) Type = Standard d) Sort order = Ascending unformatted

3. Seleccione os atributos Country, Region e Subregion. 4. Em seguida defina a hierarquia da dimensão Geo (Country >> Region >> Subregion),

clicando em Add: a) Name = Geo b) Caption = Geo hierarchy c) Mova os atributos da janela Available levels para a janela Selected levels, do mais

geral para o mais específico (Country >> Region >> Subregion), devendo aparecer na lista de atributos seleccionados por esta ordem.

d) Clique em OK e em seguida em Finish para efectivar a criação da dimensão Geo. 5. Proceda de igual modo para criar a dimensão Product, escolhendo como atributos Product

Area e Product Type.

Exercício 6 REGISTO DE MEDIDAS

Depois de especificadas as dimensões do cubo, especificam-se as medidas que devem ser analisadas.

1. De entre os atributos numéricos disponíveis, expanda o atributo Actual Sales e seleccione as estatísticas Sum e Average, movendo-as para a janela de medidas seleccionadas.

2. Não defina propriedades dos membros, uma vez que são atributos de atributos e portanto, pouco significativas.

3. Não crie agregações para além da proposta. 4. Efective a criação do cubo, seleccionando Save the metadata and create the cube e clicando

em Finish.

Capítulo 3 Criação de Cubos

Cláudia Antunes 27

5. Verifique na janela Log Frame, se surge a mensagem Cube “CoSalesCube” was created successfully.

6. Se isto acontecer, o cubo está criado e pronto a ser analisado.

Exercício 7 ANÁLISE DO CUBO

Resolva o Exercício 1 e o Exercício 2 do Capítulo 4 .

Exercício 8 EDIÇÃO DO CUBO 1. De forma a editar o cubo criado, feche o Enterprise Guide (aberto no exercício anterior) e

seleccione o cubo no repositório (Repositories� Foundation�Cube�CoSalesCube). 2. A partir do menu pop-up, escolha EditCubeStructure e será lançado o processo de definição do

cubo como em Exercício 4. 3. Avance até à definição de dimensões, e adicione uma nova dimensão Time.

a) Name = Time b) Caption = Time dimension c) Type = TIME d) Sort order = Ascending unformatted

4. Seleccione os atributos Year, Qrt e Month 5. Em seguida defina as propriedades destes atributos, nomeadamente, na tabela apresentada para

cada um dos atributos altere o tipo (Type) para o correspondente (YEAR, QUARTERS e MONTHS, respectivamente).

6. Defina a hierarquia da dimensão Time (Year >> Qrt >> Month), como anteriormente (Exercício 5).

7. Prossiga, surgirá uma mensagem avisando que o cubo será modificado, perdendo-se o que já tinha sido armazenado. Aceite e avance.

8. Acrescente duas medidas respeitantes às vendas previstas (expanda o atributo Predicted Sales e seleccione as estatísticas Sum e Average, movendo-as para a janela de medidas seleccionadas).

9. Efective a alteração do cubo, seleccionando Delete the existing cube, save the metadata and recreate the cube e clicando em Finish.

10. Verifique na janela Log Frame, se surge a mensagem Cube “CoSalesCube” was created successfully.

11. Se isto acontecer, o cubo está alterado e pronto a ser analisado.

CRIAÇÃO DE CUBOS A PARTIR DE UM ESQUEMA EM ESTRELA

Para os exercícios seguintes considere o esquema em estrela seguinte:

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 28

Exercício 9 REGISTO DAS TABELAS DE DADOS 1. Ainda no SAS OLAP Cube Studio, seleccione a opção Source Designer (Tools�Source

Designer) de modo a definir a localização dos dados. a) Escolha a opção SAS como tipo de fonte. b) Se for solicitada a ligação ao servidor SAS, use o servidor SAS Main, ligue-se usando a

conta sasadmin (password=”admin”) c) Utilize a biblioteca anteriormente criada (CoData).

2. No passo seguinte, encontra as várias tabelas existentes na biblioteca, seleccione as tabelas que fazem parte do esquema em estrela (books_facts, books_dim, time_dim e geo_dim) e termine. As tabelas aparecerão no repositório em uso (Repositories� Foundation�PhysicalTable).

3. Não termine o OLAP Cube Studio, de modo a prosseguir com a definição do cubo.

Exercício 10 CRIAÇÃO DO CUBO 1. Ainda no SAS OLAP Cube Studio, seleccione a opção Cube Designer (Tools�Source

Designer), e prossiga. 2. Introduza os seguintes dados de forma a definir os dados gerais sobre o cubo a criar:

a) Cube Name = BooksSalesCube b) Description = Cube for books sales analysis c) Repository = Foundation d) OLAP Schema = SASMain – OLAP Schema e) Path = c:/sad/company/cubes f) Input = Star Schema

3. Clique Next, e em seguida, terá de definir a tabela de factos. a) Seleccione o repositório Foundation e a tabela books_facts. b) Active a opção Use input table for Drill-Through: books_facts

4. Clique em Next. 5. Na janela seguinte, começa a definição das dimensões. Para tal, seleccione as três tabelas de

dimensão (books_dim, time_dim e geo_dim). 6. Adicione a dimensão Geo:

a) Name = Geo b) Caption = Geo dimension c) Type = Standard d) Sort order = Ascending unformatted e) Star Schema Dimension Tables Definition:

i ) Table = geo_dim ii ) Key = geo_id iii ) Fact key = id_geo

f) Prossiga com a selecção dos atributos, excluindo o atributo chave (geo_id) g) Adicione uma hierarquia como fez no Exercício 5.

7. Adicione a dimensão Books e a dimensão Time, de forma semelhante. 8. Defina as medidas Actual Sales e Predicted Sales (ambas com as estatísticas Sum e

Average), como fez no Exercício 6. 9. Efective a criação do cubo, seleccionando Save the metadata and create the cube e clicando

em Finish. 10. Verifique na janela Log Frame, se surge a mensagem Cube “BookSalesCube” was created

successfully. 11. Se isto acontecer, o cubo está criado e pronto a ser analisado.

Capítulo 3 Criação de Cubos

Cláudia Antunes 29

Exercício 11 ANÁLISE DO CUBO

A análise do cubo criado, pode ser feita à semelhança do que se descreve no Exercício 1 e o Exercício

2 do Capítulo 4.

Cláudia Antunes 31

Capítulo 4 OLAP

A análise dos dados existentes num cubo pode ser feita no Enterprise Guide, aproveitando quer as suas

facilidades de análise estatística quer de criação de relatórios.

De modo a analisar um cubo no Enterprise Guide, este tem de ser previamente registado e o servidor

de OLAP tem de estar lançado (como descrito no Capítulo 3).

Exercício 1

Nestas condições é possível aceder ao cubo fazendo:

1. Crie um projecto novo BMProject na biblioteca Projects. 2. Seleccione a opção File�Open�OLAP Cube... 3. Surgirá a janela OLAP Cube Login, em que se deverá ligar à máquina em que se encontra

registado o cubo. 4. Introduza os seguintes parâmetros:

a) OLAP Server Name = nome da máquina em que está ligado (pode descobrir o nome executando o comando ipconfig /all no Windows). Por exemplo:

pc1.rnl.ist.utl.pt b) Provider = SAS OLAP Data Provider 9.1; c) User = sasadm e Password = admin

5. Clique em Connect, e aparecerá a lista de cubos registados na máquina.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 32

6. Seleccione o cubo que criou CoSalesCube clicando na checkbox (primerio cubo criado no capítulo anterior), e clique em Open. A janela de análise do cubo é aberta, apresentando um gráfico com os dados agregados.

7. Para conseguir visualizar o cubo sem dificuldades, seleccione View�Maximize Workspace.

8. Como interpreta os dados apresentados?

OPERAÇÕES OLAP

A janela OLAP Analyzer apresenta:

• uma barra de menus com as operações específicas a aplicar sobre um cubo;

• a área Cube View Manager que permite a personalização da vizualização do cubo

(Preferences), a análise das suas propriedades (Properties) e dimensões (Cube Dimensions

Tree) e a criação de atalhos para análise do cubo propriamente dito (Shortcuts);

• a área Cube View que por omissão apresenta uma pivot table sobre os dados do cubo e um

gráfico que ilustra a mesma informação.

Capítulo 4 OLAP

Cláudia Antunes 33

Operações de Roll-up e Drill-down

As operações Roll-up e Drill-down permitem a navegação sobre os dados, desde os dados mais

agregados até aos dados ao nível mais detalhado. No OLAP Analyzer é possível descer ou subir no

nível de detalhe de todos os membros de uma dimensão, ou apenas num dos seus membros como se

apresenta em seguida.

Exercício 2

Uma vez que apenas se visualiza o total das vendas efectuadas no conjunto dos produtos e lojas, pouca

informação se recolhe através da imagem apresentada.

Suponha que pretende saber os montantes das vendas em cada área de produto, no conjunto de todas as

lojas.

1. Para analisar o montante de vendas é necessário analisar a medida Actual Sales. Seleccione Measure�Actual SalesSum.

2. Que operação OLAP deve executar sobre o cubo? 3. Para tal, seleccione a opção OLAP�Drill-down ou o botão junto a Product Dimension-

ALL na pivot table. 4. Qual a área com melhores resultados? 5. E nessa área, que tipo de produto foi mais vendido? Que operações tem de efectuar? 6. E na área de livros, que tipo vendeu mais? Como acede a esses dados? 7. Uma alternativa, é seleccionar o nível Product Type da dimensão Product, e a partir do pop-up

menu lançado pelo botão direito do rato, seleccionar Drill-down�Product Area Level. E só depois Drill-down em Books.

Exercício 3

Suponha que quer analisar as vendas dos produtos por ano em vez de lojas. Para tal abra o mesmo

cubo depois de alterado (alterações efectuadas no Exercício 8 do Capítulo 3).

1. De modo a substituir a dimensão Geo pela dimensão Time, seleccione o nível Geo Dimension-All da pivot table e, a partir do pop-up menu, escolha Remove Geo Dimension from table.

2. A partir da área Cube View Manager�Cube Dimensions Tree, seleccione a dimensão Time, e adicione-a à tabela como coluna.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 34

3. Em que ano se efectuou o maior montante de vendas? 4. E que área de produtos mais vendeu nesse ano?

Pivoting

Quando queremos visualizar uma face ou várias fatias do cubo é mais interessante olhar para os dados

registados nos vários valores de um atributo de uma dada dimensão, do que olhar para cada um em

separado. A operação de pivoting é um meio eficaz de resolver o problema.

Exercício 4 1. Crie uma nova pivot table. Para tal seleccione a opção View Designer na barra de menus:

a) seleccione a dimensão Time para as linhas; b) seleccione a dimensão Geo para as colunas; c) seleccione as medidas Actual Sales e Predicted Sales.

d) Clique em OK. A nova pivot table

2. A nova tabela aparecerá no OLAP Analyzer., e permite comparar as vendas efectuadas face às esperadas. Que países cumpriram sempres as expectativas e efectuaram as vendas?

3. Dos que não cumpriram, em que áreas de produtos ficaram aquém das expectativas?

LINGUAGEM MDX

Exercício 5

Escreva as interrogações MDX que lhe permitam responder às seguintes questões, e compare com os

resultados obtidos no Exercício 2.

Capítulo 4 OLAP

Cláudia Antunes 35

1. Qual o montante de vendas registado? 2. Qual o montante de vendas por área de produto? 3. Qual a área com melhores resultados? 4. E nessa área, que tipo de produtos foi mais vendido? 5. E na área de livros, que tipo vendeu mais?

Exercício 6

Refaça o Exercício 3 escrevendo as queries MDX que lhe permitem responder a cada questão

colocada.

Cláudia Antunes 37

Capítulo 5 INTRODUÇÃO AO ENTERPRISE MINER

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad/IntroDM:

• hmeq.sas7bdat

CRIAÇÃO DE BIBLIOTECAS NO SAS BASE

Exercício 1 1. A partir da janela Explorer ou no menu File, escolha a opção New. Surgirá a seguinte janela:

2. Seleccione o ícone de Library, e preencha os seguintes parâmetros:

a) Name (identificador da biblioteca e que servirá como prefixo do nome dos objectos que serão criados na mesma biblioteca): ProdSupp

b) Path (localização dos ficheiros na máquina): c:/sad/ProdSupp c) Engine: manter com o valor de omissão (Default)

3. Depois de criada a biblioteca ficará disponível para utilização, e deverá ser usada para guardar os ficheiros de dados fonte ou gerados.

4. Repita as operações para uma nova biblioteca designada Projects em c:/sad/ProjectsFiles,

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 38

para guardar os restantes ficheiros gerados.

Nota: É fundamental seleccionar a opção Enable at startup (janela base do SAS 8.2) ou Assign at Server Start-up (no Enterprise Guide Administrator), para que a biblioteca fique disponível entre utilizações.

No Enterprise Guide Administrator pode ser necessário fazer Assign para cada biblioteca criada, de modo a que estas fiquem disponíveis. Para tal, a partir do menu pop-up escolha Assign.

Exercício 2

De modo a definir a directoria onde são colocados os ficheiros por si produzidos durante a utilização

do SAS, faça:

1. Clique duas vezes na zona “Current Working Folder”. 2. Seleccione uma nova directoria: ‘c:/sad/’.

PROCESSO DE DESCOBERTA DE INFORMAÇÃO

O Enterprise Miner é a ferramenta do SAS para Data Mining, ou seja, que executa processos de

extracção de informação, desde o acesso aos dados até à visualização da informação descoberta.

O Instituto SAS define data mining como “o processo de Seleccionar (Sample), Explorar (Explore),

Modificar (Modify), Modelar (Model) e Avaliar (Assess) – SEMMA grandes quantidades de dados,

para descobrir padrões previamente desconhecidos”:

Assim, criam-se processos no Enterprise Miner, que são conduzidos por um fluxograma, que pode ser

modificado e gravado. Este é desenhado de forma a que o analista do negócio, que tem poucos ou

nenhums conhecimentos de data mining, o possa utilizar para descobrir informação face a novos

dados.

O Enterprise Miner contém um conjunto de tarefas de análise que podem ser combinadas de modo a

criar e comparar múltiplos modelos. Para além destas existem tarefas para preparação dos dados,

nomeadamente para detecção de pontos isolados, transformação de variáveis, amostragem e partição

dos dados em conjuntos de treino, teste e de validação. As suas tarefas de visualização mais avançadas

permitem uma análise rápida e fácil dos dados e informação obtidos.

Projectos

Um projecto é um conjunto de diagramas e dados a eles associados. Normalmente os projectos

distinguem-se pelo tipo de dados envolvidos na análise. Por outras palavras, deve criar-se um projecto

novo para cada problema diferente a analisar

Diagramas

Os diagramas são criados por combinação dos vários nós necessários à tarefa em mãos, e ordenados

Capítulo 5 Introdução ao Enterprise Miner

Cláudia Antunes 39

de acordo com o processo SEMMA. Os nós podem ser criados por drag and drop.

Exercício 3 1. Seleccione o menu Solutions�Analysis�Enterprise Miner na barra de menus: 2. A janela do Enterprise Miner é aberta, apresentando três áreas principais:

a) Enterprise Miner Tools Bar – barra de menus com os nós que representam alguns dos tipos de ferramenta disponíveis para o processamento dos dados

b) Project Navigator – usado para gerir projectos, diagramas e relatórios.E está dividido em três tabs

i ) Diagrams – Apresenta o projecto actual e a lista de diagramas pertencentes ao projecto. Ao seleccionar um diagrama, o Diagram Workspace é ocupado pelo fluxograma associado ao digrama escolhido.

ii ) Tools – Contém uma lista de todos os nós / ferramentas disponíveis no Enterprise Miner, organizados pelo tipo de função dos nós (de acordo com o processo SEMMA descrito).

iii ) Reports – Contém os relatórios (em formato HTML) criados e associados ao projecto.

c) Diagram Workspace – Usado para construir, editar, executar e gravar fluxogramas. É aqui que são graficamente manipulados os nós de forma a criar os diagramas

3. No fundo da janela existem três pequenos painéis: a) Progress Indicator – indica o estado de execução da tarefa activa; b) Message Panel – apresenta o nome da tarefa activa e mensagens do sistema; c) Connection Status Indicator – apenas está activa durante o processamento de projectos

cliente-servidor. Apresenta o nome do servidor remoto e indica se a ligação está activa.

Exercício 4 1. A partir da janela Enterprise Miner, seleccione o menu File�New�Project. 2. Introduza o nome do novo projecto IntroDM 3. Juntamente com o novo projecto é criado um novo diagrama vazio, designado Untitled. 4. Renomeie o diagrama para PreProc. 5. No menu pop-up seleccione a opção Move and Connect*, de modo a conseguir mover e ligar

os vários nós.

Selecção dos Dados

A selecção de dados consiste simplesmente na identificação dos dados a analisar, e corresponde à

tarefa inicial em todos os diagramas. No Enterprise Miner efectua-se com a criação das tabelas de

dados necessárias. Estas devem conter dados suficientes e significativos, mas ter um tamanho que não

inviabilize o processo de descoberta (por o tornar demasiado lento ou inoperante).

Exercício 5 1. Crie uma biblioteca na área Explorer (IntroDM), e importe os ficheiros necessários. 2. No diagrama criado no exercício anterior, acrescente um o nó Input Data Source (1º ícone da

barra de menus) e arraste-o para a área Diagram; 3. Seleccione o nó e abra-o (Open). Parametrize o nó com os seguintes dados:

a) Source Data: tabela IntroDM.HMEQ;

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 40

b) Metadata Sample�Size: Use complete data as sample (através do botão Change). 4. Feche a janela e grave as alterações efectuadas.

Os atributos podem classificar-se (type) em: atributos numéricos (num) ou atributos categóricos (char).

Os valores dos atributos numéricos são muitas vezes particionados em intervalos (interval variables).

Os atributos categóricos podem ser nominais (nominal) ou ordinais (ordinal). São ordinais quando

existe uma ordenação lógica entre os seus valores (por exemplo: muito fraco, fraco, razoável, bom,

muito bom), e nominais caso contrário.

O Enterprise Miner identifica os atributos como unários caso tenham apenas um valor, binários

sempre que têm apenas dois valores, intervalares se existem mais de 10 valores distintos, ordinais

caso o atributo tenha um formato standard (5.0 ou diga respeito a uma moeda, por exmplo) e como

nominais nos restantes casos. Estas classificações são definidas na característica measurements.

Quando o objectivo do utilizador é analisar os dados existentes de modo a criar modelos de

classificação, e existem casos conhecidos (já classificados), é necessário identificar a classe de entre os

atributos existentes na tabela de dados fonte. No Enterprise Miner, isto é feito atribuindo o papel (role)

target a um atributo. Outros papéis para os atributos são: o id que identifica uma das chaves da tabela,

rejected para excluir atributos da análise e input para identificar os atributos a utilizar na análise.

Exercício 6 1. Volte a abrir o nó Input Data Source.

a) Na área Variables, pode observar as características de cada atributo da tabela, nomeadamente o seu tipo de dados (numérico ou categórico) e a sua descrição (que pode ajudar na compreensão do problema em mãos).

b) Na área Interval Variables, pode observar os valores máximos e mínimos de cada atributo numérico intervalar.

c) Na área Class Variables, aparecem os atributos que não são intervalares e que são mais adequados a serem utilizados como classes.

2. Volte à área Variables, e altere o papel do atributo Default para target, de modo a identificar o conceito a aprender (a classe). Para tal: a) Seleccione a linha referente ao atributo Default. b) Seleccione a coluna Model Role, através do menu pop-up, escolha Set Model

Role�Target. 3. Feche a janela e grave as alterações efectuadas.

Exercício 7

Quando o conjunto de dados é demasiado grande e prejudica o desempenho da estimação do modelo, é

habitual usar apenas uma amostra do mesmo como tabela fonte.

1. Acrescente um nó Sampling (2º ícone da barra de menus) ao diagrama, e ligue-o ao nó de

Capítulo 5 Introdução ao Enterprise Miner

Cláudia Antunes 41

dados já existente. 2. Abra o novo nó, e mantenha a percentagem de dados usados pela amostra em 10% (Sample

Size).

A identificação dos dados a analisar está feita, assim como a determinação da tarefa de classificação a

efectuar. Contudo, a certeza de que se criou um modelo de classificação eficaz, depende da existência

de mecanismos de avaliação dos modelos, de modo a garantir a sua eficácia perante novos dados.

De modo a permitir essa avaliação, os dados fonte podem ser usados para várias tarefas distintas:

• Treino – dados usados para estimar / induzir o modelo;

• Validação – dados usados para avaliar o modelo de modo a que o utilizador possa escolher o

melhor, de acordo com as suas necessidades;

• Teste – dados usados para avaliar o modelo escolhido num conjunto independente;

• Score – dados não conhecidos a serem classificados.

Exercício 8 1. Acrescente um nó Data Partition (3º ícone da barra de menus) ao diagrama, e ligue-o ao nó de

dados já existente. 2. Abra o novo nó (Open) e determine 70% para treino e 30% para validação. 3. Feche a janela e grave as alterações efectuadas.

Nota: Caso a soma das parcelas não seja igual a 100%, são usados os valores por omissão, sem que seja dado nenhum aviso.

Exploração dos Dados

A Exploração dos dados consiste na análise manual dos dados, de forma a adquirir algum

conhecimento prévio que ajude na descoberta do modelo. Exemplo disso, é o conhecimento dos

atributos relevantes para o problema em causa.

Exercício 9 1. Acrescente um nó Multiplot (a partir da área Tools�Explore�Multiplot) ao diagrama, e

ligue-o ao nó de dados (Input Data Source). 2. Abra o novo nó (Open) e altere a configuração. Na barra de menus seleccione Tools�Settigns

e altere as estatísticas para Percent em vez de Frequency. 3. Feche a janela e grave as alterações efectuadas. 4. Execute o nó (Run a partir do menu pop-up) e visualize os resultados. 5. Clique no botão � para ver cada um dos gráficos.

O nó multiplot apresenta-lhe um gráfico com a distribuição dos valores de cada atributo (à esquerda na imagem) e outro com a distribuição dos valores de cada atributo e a percentagem de elementos da classe para cada um desses valores (à direita na imagem).

6. Consegue identificar um atributo que seja mais discriminante em função da classe (atributo Default)?

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 42

7. Consegue identificar um atributo que não seja discriminante em função da classe (atributo Default)?

Modificação dos Dados

A Modificação dos dados é realizada pela criação, selecção e transformação dos atributos envolvidos

no problema, de modo a ajudar a escolher os atributos que facilitam a criação do melhor modelo.

Exercício 10 1. Acrescente um nó Variable Selection (4º ícone da barra de menus) ao diagrama, e ligue-o ao

nó de dados (Input Data Source). 2. Abra o novo nó:

a) Na área Variables, seleccione a linha referente ao atributo CLNO, clique na coluna Status e escolha a opção don’t use. O atributo CLNO não será considerado para o modelo;

b) Na área Target Associations, desactive as opções Score data sets e Remove variables unrelated to target, de modo a que não seja ignorado mais nenhum atributo;

c) Na área General, mantenha as opções por omissão para que os atributos com mais de 50% de valores omissos (missing values) sejam ignorados.

3. Feche a janela, guardando as alterações.

Exercício 11 1. No fim de todos os exercícios deve ter um diagrama com 5 nós. 2. Acrescente um nó Data Partition depois do nó Sampling e outro depois do nó Variable

Selection. O diagrama resultante deve ser semelhante ao da figura seguinte.

Modelação dos Dados

A Modelação dos dados é concretizada pela aplicação das ferramentas de análise disponíveis no

pacote, nomeadamente árvores de decisão, redes neuronais, segmentação e regras de associação

descritas nos restantes capítulos do manual.

É esta a etapa responsável pela descoberta de informação, propriamente dita.

Avaliação dos Modelos

A Avaliação consiste em analisar os resultados obtidos no passo anterior, de modo a determinar a sua

utilidade e fiabilidade.

Capítulo 5 Introdução ao Enterprise Miner

Cláudia Antunes 43

É nesta fase que é interessante aplicar conjuntos de dados de teste, para verificar a capacidade de

generalização dos modelos descobertos.

O Enterprise Miner fornece dois nós relativamente úteis à fase de avaliação: o nó Assessment e o nó

Reporter. Ambos serão usados posteriormente, nomeadamente na comparação de modelos

descobertos com diferentes mecanismos de modelação.

Cláudia Antunes 45

Capítulo 6 REGRAS DE ASSOCIAÇÃO

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad

• assocs.sas7bdat

Exercício 1

Considere o conjunto de dados Dungaree. A tabela resume o número de calças vendidas numa cadeia

de lojas. A tabela contém seis atributos: um para identificar a loja onde foram feitas as vendas, cada

um dos quatro seguintes corresponde ao nº de jeans da marca i vendidos na loja x e um sexto atributo

que corresponde ao total de vendas na loja.

1. Crie um novo diagrama (chamado ARs), no Enterprise Miner. 2. Adicione dois nós:

a) Input Data Source com o ficheiro assocs i ) Seleccione a variável customer como ID; ii ) a variável time como TIMEID; iii ) e product como TARGET. iv ) Utilize todo o conjunto para a exploração.

b) Association Rules (5º nó da barra de menus), e ligue-o ao nó de dados.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 46

3. Abra o segundo nó, e altere: a) Em General:

i ) O modo de análise para Association; ii ) O suporte mínimo aceitável 20%; iii ) O número máximo de itens numa associação para 2; iv ) A confiança mínima aceitável para 75%.

4. Execute o nó e analise os resultados obtidos. a) Que regras têm maior aplicação? b) Quais as regras mais fortes? c) Que regras transmitem mais informação desconhecida?

Exercício 2

Ainda no mesmo diagrama:

1. Altere a confiança mínima aceitável para 50%, respectivamente. Para tal tem de apagar o nó Association Rule e voltar a criá-lo.

2. Comente as alterações verificadas, quanto: a) Ao número de associações descobertas. b) Ao lift apresentado pelas novas regras descobertas.

3. Que alterações verifica, se mantiver a confiança mínima em 50% mas alterar o suporte para 30%?

E para 10%? Que significado têm as alterações verificadas.

Cláudia Antunes 47

Capítulo 7 CLUSTERING

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad

• dungaree.sas7bdat

SEGMENTAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS

A segmentação (clustering) é uma das técnicas de data mining utilizadas quando não existe

informação prévia. Na prática, a técnica de segmentação é semelhante à classificação, mas sem que o

rótulo de cada instância seja conhecido. Ou seja, na segmentação não existe um conjunto de treino que

permita avaliar o desempenho dos métodos.

O objectivo da segmentação é, pois, dividir as instâncias em grupos dijuntos que contenham apenas

instâncias “semelhantes”.

As dificuldades na aplicação de métodos de segmentação são essencialmente a determinação do

número de grupos (clusters) e a definição da medida de semelhança entre as instâncias.

Um dos algoritmos mais usados para fazer segmentação é o k-means (algoritmo dos k-vizinhos mais

próximos), que funciona da seguinte forma:

1. Especifica-se k – o número de grupos (clusters).

2. Escolhe-se uma instância para servir de semente (seed) para cada grupo.

3. Atribui-se a instância x ao grupo cuja semente é a mais semelhante à instância x.

4. Determina-se a “média” das instâncias de cada grupo, passando esta média a ser a nova

semente do grupo.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 48

5. Volta-se ao passo 3, até que não se efectuem trocas de instâncias entre grupos.

Medidas de Semelhança A escolha da medida de semelhança a aplicar está directamente relacionada com o espaço das

instâncias. Deste modo, não existe “a medida correcta” para todos os problemas.

No entanto, existem duas medidas que são habitualmente aplicadas (depois de adaptadas ao problema

em causa):

− distância euclideana: a distância euclideana entre dois pontos L(x, y) corresponde ao tamanho

da recta que une os dois pontos [x=(x1, ..., xn) e y=(y1, ..., yn)]

�=

−=n

iii yxyxL

1

2)(),(

Os grupos definidos à custa desta medida tendem a ser esféricos.

− distância de manhatan: a distância de manhatan entre dois pontos corresponde à soma das

diferenças (absolutas) das suas coordenadas, ou seja é o tamanho do caminho, paralelo aos

eixos, mais curto entre os dois pontos. Para dois pontos x=(x1, ..., xn) e y=(y1, ..., yn) temos

�=

−=n

iii yxyxL

1

),(

Os grupos definidos à custa desta medida tendem a ser cubóides. Esta medida é relativamente

insensível à existência de pontos isolados (outliers).

Exercício 1

Considere o conjunto de dados Dungaree. A tabela resume o número de calças vendidas numa cadeia

de lojas. A tabela contém seis atributos: um para identificar a loja onde foram feitas as vendas, cada

um dos quatro seguintes corresponde ao nº de jeans da marca i vendidos na loja x e um sexto atributo

que corresponde ao total de vendas na loja.

1. Crie um novo diagrama (chamado Jeans), no Enterprise Miner. 2. Crie um nó Input Data Source para o ficheiro dungaree.sas7bdat.

a) Considera que os papéis (model roles) associados a cada atributo são os correctos? 3. Crie um nó MultiPlot e examine os dados:

a) Existem valores isolados (outliers)? b) Existem valores omissos que devam ser tratados?

4. Corrija o papel dos atributos: a) StoreId, para id de modo a que o clustering seja feito por loja, ou seja, o objectivo é

segmentar as lojas em vários grupos. b) Rejeite o atributo SalesTot. c) Garanta que os restantes atributos são usados na análise.

5. Acrescente um nó Clustering ao diagrama, e una-o ao nó Input Data Source. 6. Execute o nó, analise os resultados e caracterize cada um dos segmentos de lojas.

a) Na área Variables pode observar a importaância de cada atributo na definição de cada

Capítulo 7 Clustering

Cláudia Antunes 49

cluster; b) Na área Distances pode vizualizar a distribuição dos clusters em função de dois dos

atributos; c) Na área Statistics pode analisar as características de cada cluster, nomeadamente o nº e

instâncias no cluster e os valores de cada atributo para o centróide do cluster; d) Na área Profiles pode analisar a distribuição das instâncias pelos vários clusters, de

acordo com o valor de um atributo específico.

Cláudia Antunes 51

Capítulo 8 CLASSIFICAÇÃO BASEADA EM INSTÂNCIAS

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad

• hmeq.sas7bdat

CLASSIFICAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS

A ideia subjacente à classificação baseada em instâncias é a comparação da instância desconhecida

com as instâncias já conhecidas (que constituem o conjunto de treino), e não desenvolver um modelo

explicativo dos dados.

Em particular, o algoritmo dos k-vizinhos mais próximos (kNN) funciona da seguinte forma:

1. Por cada instância desconhecida z, faz-se:

1.1. Para cada instância xi∈Conjunto de Treino, calcula-se a semelhança entre z e xi.

1.2. Escolhem-se as k instâncias xi mais semelhantes a z.

1.3. O rótulo (classificação) de z será igual ao rótulo maioritário entre o rótulos das k

instâncias escolhidas em 1.2.

Exercício 1 1. Recupere o diagrama criado no último exercício do Capítulo 5, acrescente um nó Memory

Based Instance (através da zona Tools), de modo a ficar com o novo nó depois do nó Data Partition.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 52

2. Acrescente um nó Assessment e execute-o. Analise os resultados obtidos. 3. Altere o número de vizinhos K a considerar para 2. Para tal, seleccione o nó e execute

Open�Tools�Settings... e altere o valor de K para 2. 4. Como varia a precisão do modelo?

Cláudia Antunes 53

Capítulo 9 ÁRVORES DE DECISÃO

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros para uma pasta c:/sad/IntroDM:

• hmeq.sas7bdat

• organics.sas7bdat

As árvores de decisão são um dos modelos mais robustos usados em classificação, essencialmente

devido à sua capacidade de lidar com os vários tipos de dados, mas também com dados de fraca

qualidade (pouco limpos e / ou com valores omissos).

A outra grande vantagem das árvores de decisão é a facilidade de compreensão dos modelos

descobertos. Esta é a razão mais forte para que as árvores de decisão sejam tão usadas em aplicações

de business intelligence.

Exercício 1 1. Usando o projecto e diagrama criado no último exercício do Capítulo 5, acrescente um nó

Decision Tree (8º ícone da barra de menus) ao diagrama, e ligue-o ao nó de partição de dados (Data Partition) que está ligado directamente ao nó Input Data Source.

2. A partir do menu pop-up, execute o novo nó (Run) e visualize os resultados (Results). Surgirá uma janela como a apresentada a seguir.

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 54

3. Considere os quadros apresentados em baixo:

a) ambos apresentam os resultados obtidos (proportion correctly classified) por cada uma das árvores de decisão criadas a partir dos dados;

b) os resultados dizem respeito ao conjunto de treino e ao conjunto de validação; c) o número de folhas (Number of Leaves) corresponde ao tamanho da árvore de que se

reporta o resultado. 4. No quadro apresentado no canto superior esquerdo (área Summary) vê-se a matriz de confusão

para os conjuntos de treino e validação para a árvore seleccionada nos quadros em baixo; 5. O quadro no canto superior direito (área Tree Ring) corresponde a uma representção menos

feliz da árvore seleccionada em baixo. Para uma melhor representação seleccione View�Tree a partir da barra de menus.

Em cada nó da árvore encontra a percentagem e nº de elementos que verificam o atributo testado (os valores dizem respeito aos conjuntos de treino (à esquerda) e validação (à direita).

6. Feche a janela de visualização da árvore mas não a de resultados.

Exercício 2

Considere novamente a área Summary. A figura seguinte apenas apresenta os resultados para o

conjunto de treino.

1. Repare nas células a azul. Elas correspondem às percentagens de:

Capítulo 9 Árvores de Decisão

Cláudia Antunes 55

a) True Positives (13%): percentagem de casos positivos (default=1) e classificados pelo

modelo como sendo positivos; b) False Negatives (7%): percentagem de casos positivos e classificados como negativos; c) False Positives (5%) : percentagem de casos negativos e classificados como positivos; d) True Negatives (75%) percentagem de casos negativos e classificados como negativos.

2. As restantes linhas dão informação semelhante mas em valores absolutos (de frequência), por linhas e por colunas.

Exercício 3

Considerando ainda os resultados obtidos anteriormente, responda às seguintes questões:

1. Qual o modelo com maior precisão? Em que conjunto de dados (treino ou validação)? Porque razão isso acontece?

2. O que pode concluir acerca da relação entre o tamanho do modelo e a precisão de classificação?

3. O modelo identificado em a) é o melhor modelo para classificar novos casos? Porquê? 4. Que modelo escolheria se tivesse de justificar a um cliente a não concessão de um crédito à

habitação? Porquê? 5. Suponha que o Banco que está a usar os modelos descobertos prefere perder clientes a ter

prejuízos com maus clientes aceites. Que modelo proporia para atribuir os créditos à habitação de entre os modelos descobertos? (tenha em atenção a questão colocada na alínea 4).

Exercício 4 1. Ao diagrama anterior acrescente dois nós Decision Tree, e ligue-os aos restantes nós de

partição de dados (Data Partition). 2. Em cada nó árvore, altere o seu nome a partir de menu pop-up�Model Manager�Name:

a) Primeira árvore: Tree w/out preproc b) Segunda árvore: Tree after sampling c) Terceira árvore: Tree after var sel

3. Execute cada um dos nós árvore (Run a partir do menu pop-up). 4. Analise os resultados obtidos por cada árvore:

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 56

a) Como justifica a diferença de resultados apresentados pela Tree after sampling entre o conjunto de treino e de validação?

b) Acha que é este comportamento é habitual e generalizável a outros conjuntos de dados? Como justifica que isto aconteça no presente caso?

c) Porque são os resultados de Tree w/out preproc e Tree after var sel iguais?

Exercício 5 1. Crie um novo diagrama chamado Organics; 2. Adicione-lhe um nó Input Data Source com os dados da tabela organics.sas7bdat:

a) Determine o atributo ORGYN como a classe a aprender (target); b) Os atributos AGEGRP1 e AGEGRP2 são diferentes medidas sobre o atributo AGE.

Rejeite-as de modo a serem ignoradas na estimação do modelo (rejected) c) O mesmo acontece com o atributo NEIGHBORHOOD em relação ao atributo

NGROUP. Rejeite-a também; d) O atributo ORGANICS é actualizado quando um cliente compra os produtos, pelo que

não terá qualquer valor durante a estimação do modelo. Rejeite-o. 3. Acrescente um nó Data Partition (3º ícone da barra de menus) ao diagrama, e ligue-o ao nó de

dados. Altere os valores da partição para 70%, 30% e 0% respectivamente; 4. Acrescente dois nós Decision Tree, e ligue-os ao nó de partição de dados (Data Partition). 5. A partir do Model Manager (menu pop-up), altere o nome de cada árvore para:

a) Primeira: 2-split Tree; b) Segunda: 3-split Tree;

6. Abra o nó correspondente à primeira árvore e altere o critério de partição da árvore de Chi-Square test para Entropy Reduction (Open�Basic�Entropy Reduction)

7. Abra o nó correspondente à segunda árvore e altere: a) o critério de partição da árvore de Chi-Square test para Entropy Reduction; b) o nº máximo de ramos por nó para 3 (Maximum number of branches from a node);

8. Execute os dois nós e compare os resultados das duas árvores quanto: a) ao número de folhas; b) ao atributo testado no raiz da árvore; c) aos atributos testados nos outros nós; d) à precisão.

Cláudia Antunes 57

Capítulo 10 REDES NEURONAIS

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad/IntroDM:

• dmdbase.sas7bdat

As redes neuronais são outro dos modelos usados em classificação. As redes mais usadas são as redes

multi-camada (multilayer perceptron – MLP), compostas por uma camada de unidades de entrada

(input layer), uma ou mais camadas escondidas (hidden layers) e a camada de saída (output layer).

A camada de entrada é composta por unidades que correspondem a cada atributo/variável do problema.

No entanto, para cada um destes atributos existem várias unidades de entrada, de modo a codificar os

seus valores possíveis. Por exemplo, para um atributo categórico (nominal ou ordinal) com n valores

possíveis existem tipicamente n-1 unidades de entrada, para codificar o atributo. Imagine um atributo

ordinal com os valores alto, médio e baixo; existirão duas unidades de entrada: uma que é posta a 1

quando o atributo tem o valor alto, outra que tem o valor 1 quando o valor é baixo, e as duas unidades

serão postas a 1 quando o valor é médio.

As camadas escondidas são compostas por unidades internas, que calculam uma função não-linear de

uma combinação linear das suas entradas. Esta função designa-se função de activação (activation

function).

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 58

Exercício 1

Considere o problema de prever o salário dos jogadores de baseball em 1987.

1. Crie um novo diagrama (chamado Baseball), no Enterprise Miner. 2. Crie um nó Input Data Source para o ficheiro dmdbase.sas7bdat.

a) Utilize o atributo logsalary como target; b) Garanta que o atributo salary é rejeitado; utilize os restantes como input. c) Analise o conjunto de dados, usando um nó Multiplot. Que relação existe entre os

atributos salary e logsalary? 3. Acrescente um nó Data Partition ao diagrama, usando 70% para treino e o restante para

validação. 4. Crie um nó Neural Network (9º ícone na barra de menus). Abra o nó e parametrize a rede da

seguinte forma: a) Na área Data�Options: desactive a opção Use samples of datasets; b) Na área General:

i ) escolha Average Error como critério de avaliação do modelo; ii ) prima o botão Clear; iii ) mantenha a opção Training process monitor activa.

c) Na área Basic: i ) escolha Multilayer perceptron como arquitectura; ii ) escolha Standard backprop como técnica de treino; iii ) mantenha os valores de omissão para o learning rate (learn) e momentum.

5. Guarde o modelo com o nome NNBack0.1; 6. Execute-o e avalie os resultados obtidos:

a) Na área Weights pode observar os pesos associados à rede, e a partir deles determinar a arquitectura da rede.

b) Na área Plot encontra o gráfico do erro médio de classificação em cada iteração do treino da rede. O que conclui pela análise do gráfico?

7. Feche os resultados e analise o modelo a partir do Model Manager: a) A partir da barra de menus escolha Tools�DiagnosticChart; b) Como interpreta o gráfico que obtém? c) Como o relaciona com a matriz de confusão apresentada nos resultados das árvores de

decisão (Capítulo 9 – Exercício 2)?

Exercício 2

Ainda no mesmo diagrama, avalie o impacto do valor do learning rate no treino da rede.

1. Acrescente um novo nó Neural Network por cópia do anterior (menu pop-up�Copy). 2. Abra o novo nó e parametrize a rede da seguinte forma:

a) Na área Basic: i ) escolha Standard backprop como técnica de treino; ii ) altere o valor do learning rate (learn) para 0.5.

3. Guarde o modelo com o nome NNBack0.5. 4. Execute-o e avalie os resultados obtidos:

a) Avalie o erro médio de classificação em cada iteração do treino da rede. Compare com os resultados do treino da rede anterior.

b) O que conclui pela análise do gráfico? c) Na área Table pode observar os valores médios do erro na classificação do conjunto de

validação. O que conclui pela comparação dos dois modelos?

Capítulo 10 Redes Neuronais

Cláudia Antunes 59

Exercício 3

Ainda no mesmo diagrama, altere a arquitectura da rede.

1. Acrescente um novo nó Neural Network por cópia do anterior (menu pop-up�Copy). 2. Abra o novo nó e parametrize a rede da seguinte forma:

a) Na área General: i ) active a opção Advanced User Interface;

b) Na área Advanced, em Network, pode observar a arquitectura da rede proposta: i ) existem 3 camadas (a de entrada, uma camada escondida e uma de saída); ii ) a camada de entrada é composta por nós para os atributos nominais e para os

atributos intervalares; iii ) a camada escondida tem 3 unidades (determinado pelo valor de omissão para o

nº de unidades escondidas – Default value for hidden units); iv ) e a camada de saída é composta por unidades que caracterizam uma saída

intervalar. v ) ligue as unidades de entrada directamente às unidades de saída.

c) Na área Advanced, em Train: i ) desactive a opção Default settings; ii ) escolha Standard backprop como técnica de treino; iii ) mantenha os valores de omissão para o learning rate (learn) e momentum.

d) Renomeie o modelo para NNDirectLnks. 3. Execute-o e avalie os resultados obtidos:

a) Avalie o erro médio de classificação em cada iteração do treino da rede. Compare com os resultados do treino das redes anteriores.

b) O que conclui pela análise do gráfico? c) E pela análise dos valores médios do erro na classificação do conjunto de validação?

Cláudia Antunes 61

Capítulo 11 COMPARAÇÃO DE MODELOS

FICHEIROS NECESSÁRIOS

Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad/IntroDM:

• hmeq.sas7bdat

• organics.sas7bdat

• monk.xls

Exercício 1

Avalie de novo o impacto do valor do learning rate no treino da rede.

1. Crie um novo diagrama (chamado HMEQ), no Enterprise Miner. 2. Crie um nó Input Data Source para o ficheiro hmeq.sas7bdat.

a) Utilize o atributo default como target; utilize os restantes como input. b) Garanta que o conjunto é todo utilizado e não apenas uma amostra c) Analise o conjunto de dados, usando um nó Multiplot. Qual a percentagem de casos

negativos? 3. Acrescente um nó Data Partition ao diagrama, usando 70% para treino e o restante para

validação. 4. Crie um nó Neural Network (9º ícone na barra de menus). Abra o nó e parametrize a rede da

seguinte forma: a) Na área Data�Options: desactive a opção Use samples of datasets; b) Na área General:

i ) escolha Average Error como critério de avaliação do modelo; ii ) prima o botão Clear; iii ) mantenha a opção Training process monitor activa.

c) Na área Basic: i ) escolha Multilayer perceptron como arquitectura; ii ) escolha Standard backprop como técnica de treino;

Sistemas de Apoio à Decisão - Manual de Laboratório

Cláudia Antunes 62

iii ) mantenha os valores de omissão para o learning rate (learn) e momentum. 5. Guarde o modelo com o nome NNBack0.1; 6. Acrescente um novo nó Neural Network por cópia do anterior (menu pop-up�Copy).

a) Altere o learning rate para 0.5. 7. Acrescente um nó Assessment (10º nó da barra de menus), e ligue os dois nós anteriores ao

novo nó. 8. Execute o nó Assessment. 9. Avalie os resultados obtidos, observando o Diagnostic Chart de cada modelo.

a) O que conclui pela análise? b) Como justifica o gráfico para o modelo NN0.1? c) Como justifica a semelhança entre as taxas de erro dos dois nós? d) O que pode concluir sobre o impacto do parâmetro learning rate nos resultados dos

modelos?

Exercício 2

Crie um novo diagrama chamado Monk.

1. Na biblioteca IntroDM, importe o ficheiro de dados monk.xls (File�Import Data). 2. Crie um nó Input Data Source para o ficheiro monk.

a) Utilize o atributo target como target; b) Repare que todos os atributos são nominais (um atributo binário pode sempre ser visto

como um atributo nominal). 3. Acrescente um nó Data Partition ao diagrama, usando 70% para treino e o restante para

validação. 4. Crie um nó Neural Network (9º ícone na barra de menus), e escolha Standard backprop

como técnica de treino; 5. Crie um nó Decision Tree e escolha redução da entropia como spliting criteria. 6. Execute e compare os resultados obtidos por ambos os modelos quanto a:

a) Precisão b) Interpretabilidade: grau de facilidade de interpretação dos modelos descobertos c) Velocidade de aprendizagem d) Estrutura dos Modelos descobertos (tamanho)

Outra forma de avaliar os resultados obtidos é através da comparação de vários modelos, observando

alguns gráficos comparativos.

O lift chart apresenta o ganho esperado pela utilização do modelo face a uma decisão aleatória (com

lift igual a 1) e com o modelo ideal (que classifica correctamente todas as instâncias).

Um modelo é tanto melhor quanto o seu lift chart se aproximar de uma curva com valores de lift altos

para os primeiros percentis, e um decaimento acentuado.

O ROC chart (Receiver Operating Characteristics chart) apresenta a precisão da classificação,

permitindo analisar o equílibrio entre a especificidade e a sensibilidade de um modelo.

A especificidade de um modelo é tanto maior quanto melhor classificar as instâncias negativas. O seu

valor é dado pelo rácio entre o nº de true negatives e actual negatives. A sensibilidade traduz a

Capítulo 11 Comparação de Modelos

Cláudia Antunes 63

capacidade de classificar as instâncias positivas e é dada pelo rácio entre o número de true positives e o

número de actual positives.

Exercício 3 1. Crie um diagrama para o conjunto de dados Organics. 2. No diagrama para além do nó Input Data Source e Data Partition, crie:

a) um nó Decision Tree, com a redução da entropia como spliting criteria e com Model Name igual a Tree;

b) dois nós Neural Network, semelhantes aos usados anteriormente, um com um learning rate de 0.1 e outro de 0.5 e com Model Name igual a NN0.1 e NN0.5, respectivamente.

3. Acrescente um nó Assessment, e ligue os três nós anteriores a este. 4. Execute e compare os resultados obtidos pelos modelos. Seleccione os três modelos e visualize

o Lift Chart respectivo (a partir da barra de menus seleccione Tools�Lift Chart). a) A partir de da barra de menus, seleccione Format�Show exact e Format�Model

name; b) Pela análise do gráfico obtido responda às seguintes questões:

i ) os modelos têm um melhor desempenho do que uma decisão aleatória? ii ) qual é o melhor modelo?

5. Feche o lift chart e a partir da barra de menus seleccione Tools�ROC Chart a) Pela análise do gráfico obtido qual é o melhor modelo?