Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon...

83
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO DO PERFIL DE USUÁRIOS DO SISTEMA DE INFORMAÇÃO DA ACADEMIA DA UNIVALI Área de Inteligência Artificial por Marlon Kleinschmidt Benjamin Grando Moreira, Bel. Orientador Itajaí (SC), dezembro de 2007

Transcript of Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon...

Page 1: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

MINERAÇÃO DE DADOS PARA AVALIAÇÃO DO PERFIL DE USUÁRIOS DO SISTEMA DE INFORMAÇÃO DA ACADEMIA DA UNIVALI

Área de Inteligência Artificial

por

Marlon Kleinschmidt

Benjamin Grando Moreira, Bel. Orientador

Itajaí (SC), dezembro de 2007

Page 2: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

MINERAÇÃO DE DADOS PARA AVALIAÇÃO DO PERFIL DE USUÁRIOS DO SISTEMA DE INFORMAÇÃO DA ACADEMIA DA UNIVALI

Área de Inteligência Artificial

por

Marlon Kleinschmidt Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Benjamin Grando Moreira, Bel.

Itajaí (SC), dezembro de 2007

Page 3: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

ii

SUMÁRIO

LISTA DE ABREVIATURAS.................................................................iv

LISTA DE FIGURAS ...............................................................................v

LISTA DE TABELAS..............................................................................vi RESUMO .................................................................................................vii ABSTRACT ............................................................................................viii 1 INTRODUÇÃO.....................................................................................1

1.1 PROBLEMATIZAÇÃO ..................................................................................... 1 1.1.1 Formulação do Problema ................................................................................. 2 1.1.2 Solução Proposta ............................................................................................... 3 1.2 OBJETIVOS ........................................................................................................ 4 1.2.1 Objetivo Geral ................................................................................................... 4 1.2.2 Objetivos Específicos ........................................................................................ 4 1.3 METODOLOGIA................................................................................................ 5 1.4 ESTRUTURA DO TRABALHO ....................................................................... 6

2 FUNDAMENTAÇÃO TEÓRICA .......................................................8

2.1 A ACADEMIA DE MUSCULAÇÃO DA UNIVALI....................................... 8 2.1.1 O Sistema de Informação desenvolvido para Academia............................... 9 2.2 INTELIGÊNCIA ARTIFICIAL ...................................................................... 13 2.3 DESCOBERTA DE CONHECIMENTO EM BASES DE DADOS............. 13 2.3.1 Compreensão do Domínio de Aplicação ....................................................... 15 2.3.2 Data Warehouse .............................................................................................. 16 2.3.3 Pré-Processamento.......................................................................................... 18 2.3.4 Mineração de Dados ....................................................................................... 19 2.3.5 Pós-Processamento.......................................................................................... 28 2.4 SOLUÇÕES SIMILARES................................................................................ 28 2.4.1 A IA entrando na quadra de vôlei: Scout inteligente .................................. 28 2.4.2 A informática e suas aplicações em educação física .................................... 29 2.5 FERRAMENTAS DE MINERAÇÃO DE DADOS ....................................... 30 2.5.1 Análise das ferramentas de mineração de dados ......................................... 31 2.5.2 Weka................................................................................................................. 33

3 PROJETO............................................................................................42 3.1 CARACTERIZAÇÃO DO DOMÍNIO DA APLICAÇÃO ........................... 43 3.2 NORMALIZAÇÃO DOS DADOS................................................................... 43 3.3 FERRAMENTA AUXILIAR PARA CADASTRO DE ALUNOS ............... 45 3.3.1 Normalização dos dados da aplicação auxiliar ............................................ 48 3.4 FUNCIONAMENTO DA MD NAS APLICAÇÕES...................................... 49 3.5 MODELAGEM DO SISTEMA........................................................................ 52

Page 4: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

iii

3.5.1 Levantamento de Requisitos .......................................................................... 53 3.5.2 Projeto do Sistema .......................................................................................... 54 3.6 IMPLEMENTAÇÃO DO SISTEMA .............................................................. 56 3.6.1 Problemas encontrados .................................................................................. 56 3.7 TESTES E VALIDAÇÃO DO SISTEMA....................................................... 58

4 CONCLUSÕES...................................................................................61

5 REFERÊNCIAS BIBLIOGRÁFICAS..............................................63

A MODELAGEM DO SISTEMA .........................................................67

A.1 CASOS DE USO ................................................................................................ 67 A.1.1 Pacote 01: Controle de acesso ........................................................................ 67 A.1.2 Pacote 02: Operações ...................................................................................... 68

Page 5: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

iv

LISTA DE ABREVIATURAS

BD Banco de Dados DCBD Descoberta de Conhecimento em Banco de Dados DW Data Warehouse IA Inteligência Artificial KDD Knowledge Discovery in Databases MD Mineração de Dados RBC Raciocínio Baseado em Casos SIAMU Sistema de Informação da Academia de Musculação da UNIVALI TCC Trabalho de Conclusão de Curso UML Unified Modelling Language UNIVALI Universidade do Vale do Itajaí

Page 6: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

v

LISTA DE FIGURAS

Figura 1. Tela principal ......................................................................................................................10 Figura 2. Tela de Avaliação de Alunos ..............................................................................................11 Figura 3. Tela de Ficha de Programação Muscular............................................................................12 Figura 4. Taxonomia do processo de KDD........................................................................................14 Figura 5. Visão simplificada de uma arquitetura de DW...................................................................18 Figura 6. MD utiliza recursos de diferentes áreas ..............................................................................19 Figura 7. Regras de associação geradas pelo algoritmo apriori. .......................................................24 Figura 8. Regras de classificação geradas pelo algoritmo NNge. ......................................................25 Figura 9. Aplicação Hipermídia .........................................................................................................30 Figura 10. Arquivo no formato ARFF ...............................................................................................35 Figura 11. Exemplo do arquivo ARFF utilizado................................................................................37 Figura 12. Resultado da classificação com o algoritmo J48. .............................................................38 Figura 13. Adicionando o arquivo weka.jar .......................................................................................39 Figura 14. Código que executa o algoritmo classificador J48. ..........................................................40 Figura 15. Resultado da classificação com o algoritmo J48. .............................................................40 Figura 16. Estrutura do DW criado. ...................................................................................................45 Figura 17. Tela de cadastro da ferramenta auxiliar, horário. ............................................................46 Figura 18. Tela de cadastro da ferramenta auxiliar, informações gerais...........................................47 Figura 19. Tela de cadastro da ferramenta auxiliar, prescrição. .......................................................47 Figura 20. Estrutura do DW auxiliar criado. ......................................................................................49 Figura 21. Tela de login. ....................................................................................................................49 Figura 22. Tela de mensagem padrão.................................................................................................50 Figura 23. Tela de mineração de dados..............................................................................................51 Figura 24. Tela de visualização do conhecimento. ............................................................................52 Figura 25. Tela de mineração de dados auxiliar.................................................................................53 Figura 26. Execução do algoritmo J48...............................................................................................58 Figura 27. Geração do arquivo apriori.bat. ........................................................................................58 Figura 28. Execução do arquivo apriori.bat. ......................................................................................58 Figura 29. Diagrama de Pacotes dos Casos de Uso. ..........................................................................67 Figura 30. Casos de Uso do Pacote Controle de Acesso....................................................................67 Figura 31. Casos de Uso do Pacote Operações. .................................................................................69

Page 7: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

vi

LISTA DE TABELAS

Tabela 1. Algumas tarefas de KDD e suas técnicas de mineração de dados .....................................22 Tabela 2. Entrada de dados para a descoberta de regras de associação. ............................................23 Tabela 3. Entrada de dados para a tarefa de classificação. ................................................................25 Tabela 4. Técnicas de mineração de dados. .......................................................................................27 Tabela 5. Comparação entre as ferramentas de mineração de dados. ................................................32 Tabela 6. Normalização dos dados.....................................................................................................44

Page 8: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

vii

RESUMO

KLEINSCHMIDT, Marlon. Mineração de dados para avaliação do perfil de usuários do Sistema de Informação da Academia da UNIVALI. Itajaí, 2007. 83 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2007. A Academia de musculação da UNIVALI possui um Sistema de Informação baseado em Sistemas Especialista e Raciocínio Baseados em Casos, com objetivo de auxiliar os professores na escolha da programação da atividade física a ser seguida por um aluno. Porém, o sistema não está utilizando com maior aproveitamento o grande número de dados produzidos e armazenados, limitando-se em buscar informações para gerar a programação da atividade física. Novas tecnologias envolvendo recursos de Inteligência Artificial, entre elas, a Mineração de Dados, permitem a descoberta de conhecimento em grandes bases de dados e extrair informações que auxiliam na tomada de decisão que, de outra maneira permaneceriam escondidas. O presente TCC propõe demonstrar a aplicação da técnica de mineração de dados, usando como estudo de caso a base de dados do Sistema de Informação da Academia da UNIVALI, com a utilização de algoritmos de mineração de dados, para uma possível descoberta de novas correlações, padrões e tendências significativas por meio da análise dos dados armazenados. Esse trabalho se concentrará em três tarefas da Mineração de Dados que são: regras de associação, classificação e agrupamento, com objetivo de descobrir alguma informação útil nos dados, procurando encontrar alguma particularidade que possa melhorar o atendimento dos atletas, ou encontrar alguma outra informação relevante. Palavras-chave: Descoberta de Conhecimento. Mineração de Dados.Weka.

Page 9: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

viii

ABSTRACT

The body-building gym of the UNIVALI possesss a System of Information based on Systems Based

Specialist and Reasoning in Cases, with objective of assisting the professors in the choice of the

programming of the physical activity to be followed by a pupil. However, the system is not using

with bigger exploitation the great number of produced and stored data, limiting itself in searching

information to generate the programming of the physical activity. New technologies involving

resources of Artificial Intelligence, between them, the data mining, allow the discovery of

knowledge in great databases and to extract information that assist in the decision taking that, in

another way would remain hidden. Gift TCC considers to demonstrate the application of the

technique of mining of data, using as case study the database of the System of Information of the

Academy of the UNIVALI, with the use of algorithms of data mining, for a possible one discovered

of new correlations, standards and significant trends by means of the analysis of the stored data.

This work will be concentrated in three tasks of the data mining that are: rules of association,

classification and grouping, with objective to discover some useful information in the data, looking

for to find some particularitity that can improve the attendance of the athletes, or to find some

another excellent information.

Keywords: Knowledge Discovery in Databases. Data Mining.Weka.

Page 10: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

1 INTRODUÇÃO

Nos últimos anos, pôde-se notar um grande aumento no armazenamento de dados em meios

magnéticos. Esses dados produzidos e armazenados em grande escala ficam inviáveis de serem

analisados por especialistas através de métodos tradicionais, tais como planilhas de cálculos e

relatórios informativos operacionais, onde o especialista testa sua hipótese contra a base de dados.

Entretanto, um grande armazenamento de dados equivale a um maior potencial de informação

(AURÉLIO, VELLASCO & LOPES, 1999).

Atualmente, as organizações aumentaram o investimento em equipamentos e aplicativos

para aperfeiçoar o armazenamento, gerenciamento e compreensão dos seus dados. As bases de

dados não são mais interpretadas apenas como um local de armazenamento de informações, e sim

como um importante patrimônio da organização (SEN & JACOB, 1998 apud OLIVEIRA, 2000,

p.1).

Durante anos, métodos manuais foram utilizados para transformar dados em conhecimento.

Entretanto, a utilização desses métodos tem se tornado muito caro e inviáveis quando aplicados a

grandes bases de dados (FAYYAD, PIATETSKY-CHAPIRO, & SMYTH, 1996a apud

DOMINGUES, 2004, p.1).

Devido aos problemas com os métodos manuais, surgiu a necessidade em desenvolver

processos de análise automática, como o Processo de Extração do Conhecimento em Bases de

Dados ou Mineração de Dados (MD). Esse processo de natureza iterativa, e interativa, tem

despontado por seu desempenho em vários domínios, por extrair padrões válidos, novos e com

grande utilidade na tomada de decisão (ibidem).

1.1 PROBLEMATIZAÇÃO

Este trabalho propõe aplicar tarefas de Mineração de Dados, para extrair informações dos

dados armazenados pelo Sistema de Informação da Academia da UNIVALI, desenvolvido por

Balbinotti (2006). A partir disto, os dados serão transformados em conhecimento, encontrando

possíveis padrões nos dados através da utilização de algoritmos de Mineração de Dados,

possibilitando um melhor aproveitamento dos dados armazenados que, de outra maneira,

permaneceria escondido na base de dados.

Page 11: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

2

Para Carvalho (2001), Mineração de Dados é a utilização de técnicas automáticas de

exploração de grandes quantidades de dados de forma a descobrir novos padrões e relações que,

devido ao volume de dados, não seriam facilmente descobertos a olho nu pelo ser humano.

1.1.1 Formulação do Problema

A UNIVALI instalou no ginásio de esportes uma academia de musculação para atender os

alunos, professores e funcionários da UNIVALI. Dois professores são responsáveis pelo

atendimento e acompanhamento dos alunos.

Inicialmente, as informações referentes aos alunos eram coletadas a partir da aplicação de

um questionário. As informações coletadas eram preenchidas manualmente em fichas de cartolina,

que posteriormente eram armazenadas em um fichário (BALBINOTTI, 2006).

Para gerar a prescrição da atividade física, ou seja, a lista de exercícios que o aluno deve

seguir, o profissional de Educação Física tinha que analisar as informações contidas nas fichas e

decidir quais aparelhos utilizar, suas repetições, pesos e intervalos para cada aluno. O maior

problema encontrado pelos professores da academia era analisar essas fichas, devido a pouca

informação contida nestas fichas. Outra dificuldade encontrada era o acompanhamento de alguns

alunos, devido à inexistência de uma ferramenta que auxiliasse o profissional de Educação Física na

analise do crescimento e desenvolvimento específico de cada aluno.

Mediante tal situação, uma solução foi proposta por Balbinotti (2006), que desenvolveu uma

ferramenta baseada em Sistemas Especialistas e Raciocínio Baseado em Casos (RBC) para auxiliar

os profissionais de Educação Física na prática desportiva na UNIVALI, auxiliando na tomada de

decisão na hora da escolha do programa de exercícios. RBC consiste em resolver um novo

problema com base na adaptação de soluções de problemas similares já conhecidas

(WANGENHEIM & WANGENHEIM, 2003). Balbinotti (2006) utilizou RBC para auxiliar na

escolha do programa de exercícios do aluno.

Entretanto, identificou-se uma limitação na solução proposta, em que o foco principal é

gerar uma lista de exercícios para auxiliar na escolha da programação da atividade física a ser

seguida por um aluno, após identificar um grau de similaridade com casos ocorridos anteriormente.

Com base nessas informações, pode-se concluir que o sistema não está utilizando com maior

Page 12: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

3

aproveitamento o grande número de dados e informações armazenadas, motivando o

desenvolvimento de uma nova alternativa para o problema.

1.1.2 Solução Proposta

A proposta deste projeto é demonstrar a aplicação da técnica de mineração de dados, usando

como estudo de caso a base de dados do Sistema de Informação da academia da UNIVALI, com a

utilização de algoritmos de mineração de dados, para uma possível descoberta de novas correlações,

padrões e tendências significativas por meio da análise dos dados armazenados. Esse trabalho se

concentrará em três tarefas da mineração de dados que são: regras de associação, classificação e

agrupamento.

Regras de associação procuram determinar que fatos ocorram simultaneamente com

probabilidade razoável ou que itens estão presentes juntos com certa chance (CARVALHO, 2001).

Para Baptista e Carvalho (2003), regras de associações procuram identificar afinidades entre

registros de um subconjunto de dados. Sendo essas afinidades/associações expressas na forma de

regras.

Segundo Aurélio et al. (1999), a classificação é a tarefa mais estudada em KDD e tem como

objetivo descobrir um conhecimento que possa ser utilizado para prever a classe de um registro.

Silva (2003) diz que a classificação busca examinar um conjunto de registros rotulados e elaborar

descrições das características dos registros em cada uma das classes.

Para Carvalho (2001), “a classificação é uma das técnicas mais utilizadas no data mining

simplesmente porque é uma das tarefas cognitivas humanas mais realizadas no auxilio à

compreensão do ambiente em que vivemos”. Por mais semelhante que algo possa ser, nada é

exatamente igual. Isso faz com que seja preciso diminuir as exigências de igualdade e permitir que

detalhes sejam desprezados e observar apenas características principais.

Já o agrupamento é uma tarefa que tem como objetivo segmentar os dados formando grupos

homogêneos. Conforme Carvalho (2001), agrupar é classificar uma massa de dados em classes

desconhecidas. Para Silva (2003), o agrupamento é aplicado quando ainda não é conhecida

nenhuma classe e sua função é produzir uma segmentação do conjunto de registros de entrada de

acordo com algum critério.

Page 13: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

4

Com a utilização dessas três tarefas de mineração de dados, objetiva-se encontrar alguma

informação útil nos dados, procurando encontrar alguma particularidade que possa melhorar o

atendimento dos atletas, ou encontrar alguma outra informação relevante, estudo que será alvo ao

longo da primeira etapa do Trabalho de Conclusão de Curso (TCC).

O desenvolvimento deste projeto se justifica como um TCC para o Curso de Ciência da

Computação, pois se trata do processo de extrair o conhecimento de um grande volume de dados,

identificando padrões e tendências significativas por meio da análise dos dados armazenados que,

de outra maneira, permaneceria escondido na base de dados. Esse trabalho aplica conhecimentos

adquiridos no decorrer do curso, principalmente os relacionados a banco de dados e Inteligência

Artificial.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

Desenvolvimento de uma aplicação que utilize mineração de dados para descoberta de

conhecimento contido na base de dados do Sistema de Informação da academia da UNIVALI.

1.2.2 Objetivos Específicos

Os objetivos específicos deste projeto de pesquisa são:

• Pesquisar e analisar soluções similares;

• Adquirir conhecimento sobre mineração de dados;

• Pesquisar sobre ferramentas de mineração de dados;

• Determinar as variáveis de interesse para as tarefas de mineração de dados;

• Determinar os requisitos exigidos para o sistema;

• Realizar a modelagem conceitual do sistema;

• Implementar o sistema;

• Testar e validar a implementação do sistema; e

• Documentar o desenvolvimento e os resultados do sistema.

Page 14: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

5

1.3 METODOLOGIA

O presente TCC consiste no desenvolvimento de uma aplicação que utilize mineração de

dados para descoberta de conhecimento contido na base de dados do Sistema de Informação da

academia da UNIVALI.

Para executar este projeto de pesquisa foram estipuladas 5 etapas. As duas primeiras etapas e

parte da quinta etapa foram executadas no TCCI, que consiste na análise da tecnologia envolvida,

modelagem do sistema e documentação. As demais etapas foram executadas no TCCII, elas

compreendem o desenvolvimento, validação e documentação do sistema. A metodologia para

executar as atividades contidas nas etapas é apresentada a seguir.

Inicialmente foi necessário fazer leituras e levantamento de conceitos sobre a descoberta de

conhecimento em bases de dados e mineração de dados, para adquirir um maior conhecimento

sobre o assunto abordado neste projeto. A pesquisa foi feita através de livros, textos selecionados

em sites e principalmente através de monografias e dissertações, que também serviram para a

revisão bibliográfica deste trabalho.

Na primeira etapa também foram pesquisados trabalhos acadêmicos de desenvolvimento de

aplicações semelhantes, para depois identificar a tecnologia necessária à implementação do sistema.

No início do TCCI já se tinha conhecimento da ferramenta de mineração de dados Weka,

contudo, foram pesquisadas outras ferramentas para buscar características semelhantes tais como:

possibilidade da utilização de recursos via API e ser disponibilizada gratuitamente.

Porém não foi encontrada nenhuma outra ferramenta com essas características, sendo assim,

adotou-se a ferramenta Weka para dar suporte a mineração de dados neste projeto. Testes referentes

à integração com esta ferramenta foram realizados, que podem ser verificados no capítulo de

Fundamentação Teórica.

Após analisar a base de dados do Sistema de Informação proposto para a academia da

UNIVALI, foram estipuladas as variáveis de interesse para a realização das tarefas de mineração de

dados.

Já na segunda etapa, foi feita a análise e projeto do sistema. Foram feitas as definições e

documentação do sistema a ser desenvolvido, foram definidos os requisitos funcionais e não

funcionais, diagrama de casos de uso, também foi definida a interface com o usuário, utilizando a

Page 15: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

6

metodologia da notação Unified Modelling Language (UML) para modelar o sistema, através da

ferramenta Enterprise Architect.

A etapa de documentação contemplou todos os processos referentes às etapas: (i) leitura e

levantamento de conceitos e (ii) análise e projeto, seguindo as normas exigidas pela Coordenação

de TCC. Esta etapa foi concluída no TCCII.

1.4 ESTRUTURA DO TRABALHO

Este trabalho está dividido em quatro capítulos: Introdução, Fundamentação Teórica,

Desenvolvimento e Conclusões.

O Capítulo 1, Introdução, apresentou uma visão geral do trabalho, estabelecendo os

objetivos, descrevendo a metodologia de desenvolvimento e a estrutura da pesquisa.

No Capítulo 2, Fundamentação Teórica, é apresentada toda teoria contida neste trabalho.

Este capítulo está dividido em seis sessões:

• A Academia de Musculação da UNIVALI: apresenta uma visão geral sobre a

academia, a descrição sobre o Sistema de Informação que foi desenvolvido para

academia e seu funcionamento;

• Inteligência Artificial: uma breve descrição sobre Inteligência Artificial;

• Descoberta de conhecimento em bases de dados: apresenta as características dessa

área da Inteligência Artificial;

• Mineração de Dados: descrição de conceitos tais como: definições, características,

dentre outros;

• Soluções Similares: apresenta soluções similares pesquisadas; e

• Ferramentas de mineração de dados: apresenta as características de algumas

ferramentas pesquisadas.

O Capítulo 3 apresenta o desenvolvimento do projeto, a modelagem do sistema bem como

os detalhes técnicos necessários para a implementação do sistema.

Page 16: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

7

No Capítulo 4, Conclusões, é apresentada a conclusão deste projeto, descreve sobre os

resultados obtidos, problemas encontrados, objetivos conquistados, dentre outros.

Page 17: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo aborda os conceitos necessários ao desenvolvimento do sistema, tais como:

descoberta de conhecimento em bases de dados, mineração de dados e ferramentas de mineração de

dados. Esse TCC é fundamentado em livros e principalmente em monografias e dissertações.

2.1 A ACADEMIA DE MUSCULAÇÃO DA UNIVALI

A UNIVALI possui uma academia de musculação, que foi instalada no ginásio de esportes,

em uma sala equipada com 35 aparelhos para a prática desportiva, possui uma televisão, um

microcomputador PC e um aparelho de som, dois professores são responsáveis em atender os

alunos, com diferentes faixas etárias e objetivos distintos.

São atendidos alunos, professores e funcionários da UNIVALI, bem como os alunos do

Colégio de Aplicação da UNIVALI (CAU). O atendimento da academia de musculação é oferecido

de segunda a sexta-feira durante todo o ano letivo, sendo que no período de férias a academia é

fechada. Os horários disponíveis para a prática desportiva iniciam ás 06h50min e encerram ás

21h20min.

A princípio, o cadastro das informações dos alunos da academia de musculação da

UNIVALI, era efetuado após a aplicação de um questionário em que o aluno respondia questões

específicas como: objetivo, nível de atividade física, e questões abrangentes como: nome, endereço,

etc. As informações coletadas eram preenchidas manualmente em fichas de cartolina, que se

diferenciavam pelas cores: azul para os homens e rosa para as mulheres. Essas informações eram

armazenadas em um fichário (BALBINOTTI, 2006).

O profissional de Educação Física tinha que analisar as informações contidas nestas fichas e

tomar uma decisão sobre o tipo de aparelho necessário, suas repetições, pesos e intervalos para tal

pessoa. Muitas vezes a análise não era bem sucedida devido a pouca informação contida nesta ficha.

Outra preocupação era o acompanhamento de alguns atletas, pois ficava difícil para o profissional

de Educação Física analisar o crescimento e desenvolvimento específico do atleta por não ter

ferramentas que auxiliassem em seu trabalho.

Page 18: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

9

2.1.1 O Sistema de Informação desenvolvido para Academia

Devido à necessidade do acompanhamento de alguns atletas, uma solução foi proposta por

Balbinotti (2006), foi desenvolvida uma ferramenta baseada em Sistemas Especialistas e Raciocínio

Baseado em Casos para auxiliar os profissionais de Educação Física na prática desportiva na

UNIVALI, auxiliando na tomada de decisão na hora da escolha do programa de exercícios.

Para Fernandes (2003), “o processo característico do RBC, Raciocínio Baseado em Casos,

consiste em identificar o problema atual, buscar a experiência mais semelhante na memória e

aplicar o conhecimento desta experiência passada no problema atual”.

RBC consiste em resolver um novo problema com base na adaptação de soluções de

problemas similares já conhecidas (WANGENHEIM e WANGENHEIM, 2003).

Balbinotti (2006) utilizou RBC para auxiliar na escolha do programa de exercícios do aluno.

O Sistema de Informação foi desenvolvido principalmente para gerar uma lista de exercícios para

auxiliar na escolha da programação da atividade física a ser seguida por um aluno, após identificar

um grau de similaridade com casos ocorridos anteriormente.

2.1.1.1 Funcionamento do Sistema de Informação

A prescrição da atividade física é gerada pelo sistema após efetuar duas etapas, o

cadastramento do aluno e posteriormente a etapa de avaliação física do aluno.

Basicamente a prescrição da atividade física é gerada após um aluno informar qual é seu

objetivo em ingressar na academia, em seguida é efetuado o cadastro do aluno e cadastro de

avaliação física, o sistema percorre a base de casos, procurando registros com maior similaridade

retornando uma lista de exercícios (BALBINOTTI, 2006).

Após o usuário estar autenticado no sistema, é apresentada a tela principal, com todas as

opções disponíveis para aquele usuário como mostra a Figura 1.

Page 19: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

10

Figura 1. Tela principal

Fonte: Balbinotti (2006).

Logo após, o usuário seleciona no menu a opção ATUALIZAÇÕES/ALUNOS, e efetua o

cadastro do aluno. Na etapa de cadastramento do aluno são coletadas informações como: nome,

endereço, sexo, idade, objetivo do aluno, etc. Após efetuar o cadastramento do aluno é necessário

fazer a avaliação física do aluno (ibidem).

O usuário seleciona no menu a opção TRANSAÇÕES/AVALIAÇÃO FÍSICA e o sistema

apresenta a tela de avaliação de alunos como mostra a Figura 2:

Page 20: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

11

Figura 2. Tela de Avaliação de Alunos

Fonte: Balbinotti (2006).

A etapa de avaliação física é dividida em sete etapas, que são:

• Cadastro de Anamnese de Risco: etapa onde o usuário responde questões sobre

antecedentes familiares com problema cardíaco, se pratica alguma atividade física, se a

pessoa foi ou é fumante, se tem a pressão arterial dentro do limite, dentre outras;

• Cadastro de Anamnese Clínica: armazena informações sobre aspecto cardiorespiratório,

se fez cirurgias recentes, se utiliza algum medicamento, se possui reações alérgicas,

dentre outras;

• Cadastro de Antropometria: são cadastradas as medidas corporais do aluno, por

exemplo: altura, circunferência, envergaduras e dobras;

• Cadastro do índice de massa corporal: verifica se o aluno esta obeso, acima do peso,

peso normal ou abaixo do peso;

• Cadastro do Índice de atividade física: o índice é gerado após informar se o aluno pratica

alguma atividade física, qual a intensidade, duração e freqüência;

• Cadastro da Pressão arterial: após informar a pressão Diastólica e Sistólica o sistema

retorna se o aluno tem pressão normal ou se sofre de hipertensão; e

• Cadastro de aspecto hemodinâmico: após aplicação do teste de caminhada na esteira

2400m e o teste de corrida 1200m, são coletadas as informação sobre o tempo gasto para

realizar os testes. A partir disto é calculado e cadastrado o volume de oxigênio do aluno.

Page 21: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

12

Após o usuário ter efetuado o cadastro do aluno e a avaliação física do aluno o sistema

habilita o botão com a opção programação, o usuário seleciona a opção programação, depois disto o

sistema apresenta a tela de ficha de programação, com uma lista de sugestões de atividade física

onde o usuário pode aceitar alguma sugestão ou adicionar uma nova lista de exercícios, como

mostra a Figura 3 (ibidem).

Figura 3. Tela de Ficha de Programação Muscular

Fonte: Balbinotti (2006).

Caso o usuário decida adicionar uma nova lista de exercícios físicos, esta será adiciona ao

banco de dados alimentando a base de casos para uma futura busca por similaridade a partir da

entrada de dados de um novo aluno (ibidem).

Page 22: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

13

2.2 INTELIGÊNCIA ARTIFICIAL

O presente TCC visa desenvolver uma aplicação que utilize a técnica de Mineração de

Dados (MD). Para isso, identificou-se que a MD é uma área das várias áreas contidas na

Inteligência Artificial (IA), e também uma maneira de se utilizar a IA.

“A IA busca prover máquinas com a capacidade de realizar algumas atividades mentais do

ser humano” (NASCIMENTO JR & YONEYAMA, 2000).

Para Feigenbaum (1992, apud FERNANDES, 2003), IA é uma área da ciência da

computação destinada ao desenvolvimento de sistemas computacionais inteligentes, com

características que se assemelham com as do ser humano, tais como: a compreensão da linguagem,

aprendizado, raciocínio, tomada de decisão, dentre outras.

2.3 DESCOBERTA DE CONHECIMENTO EM BASES DE DADOS

Descoberta de conhecimento em bases de dados é o processo não trivial de identificar em

dados padrões que sejam válidos, novos (ainda não identificados), potencialmente úteis e

compreensíveis, visando melhorar o entendimento de um problema ou um procedimento de tomada

de decisão (FAYYAD et al. 1996 apud SILVA 2004).

A técnica de descobrir padrões úteis em dados não processados recebeu diversos nomes,

dentre eles Knowledge Discovery in Database (KDD, ou em português, Descoberta de

Conhecimento em Bases de Dados), Data Mining (DM, ou em português, Mineração de Dados),

extração de conhecimento, descoberta de informação, processamento de padrões de dados. O termo

KDD foi criado em 1989 para referenciar o processo de descoberta de conhecimento em dados e,

principalmente, a etapa de mineração de dados, esta que transforma dados em informação

(MANNILA 1997 apud PIETRO, 2006).

Segundo Collazos e Barreto (2003), o KDD é uma técnica que possibilita analisar grandes

conjuntos de dados, utilizando métodos aproximados. A metodologia do KDD constitui-se em duas

etapas fundamentais, o armazém de dados e a MD. Primeiro faz-se necessário criar uma base de

dados organizada e com suficientes dados sobre o assunto a analisar, em seguida utilizar métodos

aproximados que permitem minerar os dados, para a descoberta das relações contidas em tais dados.

Page 23: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

14

Para Pacheco et al. (1999), o processo de KDD é composto por cinco etapas: o Data

Warehounsing (DW), o Pré-processamento, o Enriquecimento, a Mineração de Dados e o Pós-

processamento.

A Figura 4 mostra uma visão sistemática do processo de KDD, de forma hierárquica, onde

as fases e principais tarefas do processo de KDD, tais como: tarefas e algoritmos empregados; fases;

e etapas do pré-processamento (AURÉLIO et al. 1999).

Figura 4. Taxonomia do processo de KDD

Fonte: Adaptado de Aurélio, et al. (1999).

Para Suliman Jr. e Souza (1997) as fases que fazem parte do processo de DCBD são:

• Desenvolver a compreensão do domínio da aplicação, o conhecimento anterior relevante

e os objetivos do usuário final;

• Criar um conjunto alvo de dados em que a prospecção deverá ser efetuada;

• Realizar a redução e projeção de dados, reduzindo o número efetivo de variáveis

consideradas ou encontrar representações não variáveis para os referidos dados;

• Escolher as tarefas de MD: decidindo se o objetivo do processo de DCBD é a

classificação, associação, agrupamento ou outro;

Page 24: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

15

• Escolher os algoritmos de MD, selecionando métodos para o uso na busca de padrões

nos dados;

• Mineração de dados;

• Interpretações dos padrões obtidos; e

• Consolidação do conhecimento.

Conforme afirma Aurélio et al. (1999), a utilização da técnica de KDD em sistemas de

análise está relacionada a várias aplicações: marketing, análises corporativas, medicina, biologia,

entre outras. Existem diversa tarefas de KDD, cada uma está diretamente relacionada ao domínio da

aplicação e interesse do usuário. Cada tarefa de KDD extrai um tipo diferente de conhecimento do

banco de dados, com isso, necessita de um algoritmo diferente para cada tarefa.

2.3.1 Compreensão do Domínio de Aplicação

Um fator importante no processo de DCBD é o entendimento do domínio da aplicação, de

onde será extraído o conhecimento necessário para apoiar a tomada de decisão. Para isso, surge a

necessidade de identificar quais são os objetivos e requisitos necessários para que seja possível

extrair e incorporar o conhecimento adquirido.

Segundo Oliveira (2000) não existe um procedimento padrão que estabeleça um domínio de

aplicação, pois cada caso tem suas características e particularidades próprias. Entretanto, alguns

aspectos relevantes podem servir de suporte a identificação do domínio da aplicação, como:

• Definição dos objetivos e dos requisitos da extração de conhecimento;

• Identificação das possíveis fontes de dados;

• Pesquisa do conhecimento prévio existente;

• Modo de distribuição do conhecimento extraído;

• Utilização do conhecimento extraído num sistema de tomada de decisão; e

• Estudo de viabilidade e custos da aplicação do processo.

Após a definição do domínio da aplicação, deve-se selecionar e preparar os dados para

serem analisados posteriormente.

Page 25: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

16

2.3.2 Data Warehouse

Um Data Warehouse é banco de dados elaborado com a finalidade de dar suporte ao

processo decisório, onde os dados que o povoarão são obtidos através dos bancos de dados dos

aplicativos operacionais disponíveis.

Segundo Inmon (1997), um DW é um conjunto de dados baseado em assuntos, integrado,

não volátil, e variável em relação ao tempo, que tem por objetivo dar suporte aos processos de

tomada de decisão gerenciais.

Para Aurélio et al. (1999), um DW pode ser definido como um repositório integrado,

orientado para análise, histórico, com dados apenas para leitura, destinados apenas para ser utilizado

como base para suporte a decisão e sistema KDD.

“A tecnologia de DW surgiu com o objetivo de suprir as carências nos sistemas tradicionais,

quanto à exploração e análise dos dados, integrando e consolidando dados de diferentes acervos”

(DEBATIN, 2003).

O DW é uma arquitetura que organiza, totaliza e armazena os dados permitindo traçar

estratégias baseadas nos assuntos da empresa de maneira confiável dando suporte ao nível gerencial

nas tomadas de decisão.

O objetivo de um DW é fornecer uma "imagem única da realidade do negócio". De uma

forma geral, sistemas de DW compreendem um conjunto de programas que extraem dados do

ambiente de dados operacionais da empresa, um banco de dados que os mantém, e sistemas que

fornecem estes dados aos seus usuários.

2.3.2.1 Características do Data Warehouse

Dentre as principais características do Data Warehouse pode-se citar a orientação por

assunto, a integração dos dados, a variabilidade no tempo e não volatilidade.

Orientação por Assunto

Segundo Machado (2001), orientação por assunto significa que um DW armazena as

informações por assuntos de interesse da empresa que são mais importantes, em contraste com os

sistemas operacionais que são orientados a processos desenvolvidos para manter as transações

realizadas diariamente.

Page 26: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

17

Integrado

Segundo Colaço Júnior (2004) “o DW deve consolidar dados de diversas origens, o que

geralmente envolve diversas codificações. Os dados devem ser perfeitamente integrados para que,

quando forem armazenados assumam uma única convenção”.

Variante no tempo

Os dados contidos em um sistema de DW são temporais, e referem-se a períodos de tempos

bem definidos, e isto auxilia na análise e na confirmação de acontecimentos sazonais dentro de uma

determinada atividade ou setor de um negócio.

Para Aurélio, Vellasco e Lopes (1999), “o horizonte de tempo válido para o DW é

significantemente maior do que o dos sistemas operacionais. Um horizonte de tempo de 60 a 90

dias é normal para os sistemas operacionais; um horizonte de tempo de 5 a 10 anos é normal para o

DW”.

Não Volátil

Segundo Inmon (1997), as operações de atualização, modificação, exclusão de dados são

realizadas nos bancos de dados operacionais. Estas funções são efetuadas regularmente de acordo

com as necessidades dos usuários. No DW o processo de armazenamento dos dados é diferente.

O DW possui duas operações básicas que consiste em carregar e acessar os dados. No nível

do DW os dados não sofrem alterações ou são excluídos, para cada alteração é inserido um novo

registro com os mesmos dados e contendo a alteração.

2.3.2.2 Arquitetura do Data Warehouse

Segundo Debatin (2003), a arquitetura do DW é baseada em um sistema de banco de dados

relacional. Quando um dado é inserido em um DW, ele é transformado em uma estrutura integrada.

O processo pode envolver filtragem e compactação de dados. A Figura 5 mostra uma visão

simplificada de uma arquitetura de DW.

Page 27: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

18

Figura 5. Visão simplificada de uma arquitetura de DW

Fonte: Adaptado de Costa e Anciães (2003).

Um DW deve ser capaz de responder a consultas avançadas de maneira rápida, sem deixar

de mostrar detalhes relevantes à resposta. Para isso ele deve possuir uma arquitetura que lhe permita

coletar, manipular e apresentar os dados de forma eficiente e rápida.

O estudo de uma arquitetura permite compreender como o DW faz para armazenar, integrar,

comunicar, processar e apresentar os dados que os usuários utilizarão em suas decisões. Um DW

pode variar sua arquitetura conforme o tipo de assunto abordado, pois as necessidades variam de

empresa para empresa (COLAÇO JÚNIOR, 2004).

2.3.3 Pré-Processamento

Segundo Pacheco et al. (1999), a etapa de pré-processamento é responsável por consolidar

as informações relevantes para o algoritmo minerador, com objetivo de reduzir a complexidade do

problema. O processo de tratamento dos dados pode ser dividido em três etapas:

• Limpeza dos dados: etapa responsável por realizar a consistência dos dados, a correção

de possíveis erros e o preenchimento e eliminação de valores nulos e redundantes. Conforme

afirma Aurélio et al. (1999), a execução dessa fase corrige a base de dados eliminando

consultas desnecessárias que seriam executadas pelo algoritmo minerador e que afetariam o

seu processamento;

• Seleção dos dados: etapa que irá definir ou escolher apenas os atributos relevantes do

conjunto de atributos existentes na base de dados; e

Page 28: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

19

• Codificação dos dados: etapa que divide os valores contínuos dos atributos em uma lista

de intervalos representados por um código, convertendo valores quantitativos em valores

categóricos. Para Aurélio et al. (1999), em alguns casos a transformação de um valor em um

equivalente pode facilitar a MD a encontrar seu objetivo com melhor qualidade de

resultados.

2.3.4 Mineração de Dados

A Mineração de Dados (MD) é uma área multidisciplinar que incorpora técnicas utilizadas

em diversas áreas como IA (especialmente a aprendizagem de máquina), Banco de Dados (recursos

para manipular grandes volumes de dados) e Estatística (comumente na avaliação e validação dos

dados), conforme é mostrado na Figura 6.

Figura 6. MD utiliza recursos de diferentes áreas

Fonte: Silva (2003).

A área de IA têm propiciado aos pesquisadores a possibilidade de utilizar diferentes técnicas

para reconhecimento e extração de padrões. Essa extração está acompanhada de técnicas de

manipulação de dados e análises posteriores. Todas essas diferentes técnicas compõem o processo

de MD.

A Descoberta de Conhecimento de Base de Dados (DCBD) é uma tecnologia que possui

ferramentas poderosas para a descoberta eficiente de informações valorosas em grandes bancos de

dados, com objetivo de auxiliar no suporte a decisão. MD é uma das ferramentas de DCBD mais

Page 29: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

20

utilizadas, podendo ser considerada um passo dentro do processo de DCBD (FAYYAD et al.,

1996b apud SILVA 2003).

Para Dias (2002), “os principais objetivos da MD são descobrir relacionamento entre os

dados e fornecer subsídios para que possa ser feita uma previsão de tendências futuras baseadas no

passado”.

Segundo Silveira (2004), a MD consiste em obter informações através de uma base de dados

existente, usando seus atributos para extrair informações que não são óbvias e que precisam ser

trabalhadas para serem úteis na tomada de decisão, através da utilização de algoritmos para

identificar padrões nos dados analisados.

Carvalho (2001) define a mineração de dados como a utilização de técnicas automáticas de

exploração de grandes quantidades de dados de forma a descobrir novos padrões e relações que,

devido ao volume de dados, não seriam facilmente descobertos a olho num pelo ser humano.

Machado (2000), afirma que as técnicas de MD “permitem ao usuário avaliar tendências e

padrões não conhecidos entre os dados. Este tipo de ferramenta utiliza-se das mais modernas

técnicas de computação, como redes neurais, algoritmos genéricos e lógica nebulosa”.

MD tem sido definida como a extração não trivial da informação importante, implícita,

previamente desconhecida, de dados. Ela usa o aprendizado de máquina, técnicas estatísticas e de

visualização para descobrir e apresentar o conhecimento em uma forma facilmente compreensível

pelos humanos.

A MD tem se mostrado importante em um grande número de aplicações, por exemplo, na

área de segurança para detectar fraudes em cartões de créditos, análises financeiras e de

investimentos, detecção e predição de erros em grandes empresas, análise de informações, limpeza

em bases de dados, marketing e melhoria no processo industrial.

Como a extração do conhecimento útil e compreensível não se faz apenas com a

manipulação de um conjunto de dados, a MD é um processo centrado na interação entre diferentes

usuários, que geralmente são divididos em três classes:

• Especialista do domínio: usuário que deve possuir amplo conhecimento do domínio da

aplicação e fornecer apoio à execução do processo;

Page 30: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

21

• Analista: usuário especialista no processo de MD e responsável por sua execução. Esse

usuário deve ter domínio sobre o processo de DCBD; e

• Usuário Final: representa os usuários que utilizam o conhecimento extraído no processo

de MD como apoio a tomada de decisão.

A MD pode ser classificada em dois tipos: Descoberta direta onde fica explícito o que se

deseja encontrar no banco de dados e Descoberta indireta, onde se faz uma espécie de busca

aleatória, tentando identificar algum relacionamento entre os dados que representem algum

conhecimento útil.

A MD tem como objetivos a previsão e descrição de modelos. A previsão pode ser obtida

através da utilização de variáveis contidas no banco de dados para prever valores desconhecidos ou

futuros. A descrição envolve a descoberta de padrões interpretáveis pelos humanos. Dentro do

processo de DCBD descrever modelos possui maior importância que prever os mesmos. A previsão

e a descrição dos modelos são conseguidas selecionando as tarefas, algoritmos e técnicas de

extração de dados (FAYYAD et al., 1996b apud SILVA 2003).

Os algoritmos e as técnicas usados para se criar modelos a partir de dados, normalmente,

provém de áreas como Aprendizado de Máquina, Reconhecimento de Padrões e Estatística. Estas

técnicas, muitas vezes, podem ser combinadas para se obter melhores resultados (SILVA 2003).

Conforme afirma Pacheco et al. (1999), as tarefas de DCBD que funcionam como bases das

técnicas de MD são: Classificação, Associação e Agrupamento. Estas tarefas podem utilizar

técnicas de MD baseadas em RBC, Redes Neurais Artificiais, Árvores de Decisão, Estatística,

Computação Evolucionária, entre outras. Existem outras tarefas de DCBD utilizadas com menor

escala, tais como: as consultas, a descoberta de dependência e a regressão.

A Tabela 1 mostra as principais tarefas de DCBD e as técnicas mais utilizadas para MD.

Page 31: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

22

Tabela 1. Algumas tarefas de KDD e suas técnicas de mineração de dados

Tarefas de KDD Técnicas

Associação Estatística e Teoria dos Conjuntos

Classificação Algoritmos Genéricos, Redes Neurais e Árvores de decisão

Clustering ou Agrupamento Redes Neurais e estatísticas

Previsão de séries temporais Redes Neurais, Lógica Nebulosa e Estatística

Fonte: Adaptado de Aurélio et al. (1999).

Existem diversa tarefas de DCBD, cada uma está diretamente relacionada ao domínio da

aplicação e interesse do usuário. Cada tarefa de DCBD extrai um tipo diferente de conhecimento do

banco de dados, com isso, necessita de um algoritmo diferente para cada tarefa.

2.3.4.1 Tarefas da DCBD

Com o crescimento dos sistemas de MD desenvolvidos para os mais diferentes domínios, a

variedade de tarefas para MD vem se tornando cada vez mais diversificada. Essas tarefas podem

extrair diferentes tipos de conhecimento, sendo que, inicialmente faz-se necessário decidir qual o

tipo de conhecimento que o algoritmo deve extrair no processo de MD.

Regras de Associação

A tarefa de associação permite relacionar a ocorrência de um determinado conjunto de itens

com a ocorrência de outro conjunto de itens. Para Carvalho (2001), regras de associação procuram

determinar que fatos ocorram simultaneamente com probabilidade razoável ou que itens estão

presentes juntos com certa chance.

Segundo Baptista e Carvalho (2003), regras de associações procuram identificar afinidades

entre registros de um subconjunto de dados. Sendo essas afinidades/associações expressas na forma

de regras.

“Uma regra de associação caracteriza o quanto a presença de um conjunto de itens nos

registros de uma base de dados implica na presença de algum outro conjunto distinto de itens nos

mesmos registros” (AGRAVAL & SRIKANT, 1994 apud DOMINGUES, 2004).

Page 32: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

23

Uma regra de associação é uma regra do tipo X � Y, onde X e Y são conjuntos de itens, e a

interseção deles X ∩ Y é o conjunto vazio. Cada regra de associação é associada a um fator suporte

superior FSup, e a um fator de confidência FConf. O FSup é defenido como, FSup = | X U Y | / N ,

ou seja, esta fórmula representa a razão do número de tuplas que satisfazem ambos X e Y sobre o

número total de tuplas , representado por N. FConf é definido como, FConf = | X U Y | / X, o fator

de confiança é obtido pela razão do número de tuplas que satisfazem ambos X e Y sobre o número

de tuplas que satisfazem X (AURÉLIO, et al. 1999).

Para facilitar o entendimento das regras de associação, pode-se exemplificar com o modelo

abaixo representado pela Tabela 2, que mostra uma tabela com os dados de entrada e algumas

regras de associação descobertas após a análise da base de dados.

Tabela 2. Entrada de dados para a descoberta de regras de associação.

MASCULINO FEMININO HIPERTROFIA ESTÉTICA PESO NORMAL

ACIMA DO PESO

Sim Não Sim Sim Sim Não

Não Sim Não Sim Não Sim

Não Sim Não Não Sim Não

Sim Não Sim Não Não Sim

Sim Não Sim Não Sim Não

Sim Não Sim Sim Sim Não

Não Sim Sim Não Não Sim

Não Sim Não Sim Sim Não

Sim Não Sim Não Sim Não

Não Sim Sim Sim Não Sim

Sim Não Sim Não Não Sim

Não Sim Sim Sim Não Sim

Não Sim Sim Não Sim Não

Sim Não Não Não Sim Não

Não Sim Não Sim Não Sim

Sim Não Sim Sim Sim Não

Page 33: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

24

Após processar os dados da Tabela 2 utilizando a ferramenta de MD Weka, com o algoritmo

apriori, algumas regras de associação foram geradas como mostra a Figura 7.

Figura 7. Regras de associação geradas pelo algoritmo apriori.

Classificação

Segundo Aurélio et al. (1999), a classificação é a tarefa mais estudada em KDD e tem como

objetivo descobrir um conhecimento que possa ser utilizado para prever a classe de um registro.

Para Carvalho (2001), “a classificação é uma das técnicas mais utilizadas no data mining

simplesmente porque é uma das tarefas cognitivas humanas mais realizadas no auxilio à

compreensão do ambiente em que vivemos”.

Já para Baptista e Carvalho (2003), a classificação “trata-se de uma técnica que consiste na

aplicação de um conjunto de exemplos pré-classificados, para desenvolver um modelo capaz de

classificar uma população maior de registros”.

Conforme afirma Romão (2002), o objetivo da tarefa de classificação é descobrir um

relacionamento entre um atributo meta, pré-definido, e um conjunto de atributos previsores.

A Tabela 3 será utilizada como exemplo para mostrar algumas regras de classificação que

podem ser descobertas após a aplicação de um algoritmo de classificação.

Page 34: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

25

Tabela 3. Entrada de dados para a tarefa de classificação.

SEXO OBJETIVO IDADE ACIMA DO PESO

Masculino Hipertrofia 25 Sim

Masculino Estética 21 Sim

Feminino Hipertrofia 23 Sim

Feminino Estética 34 Sim

Feminino Hipertrofia 30 Não

Masculino Estética 21 Não

Masculino Hipertrofia 20 Não

Feminino Condicionamento 18 Não

Feminino Hipertrofia 34 Não

Masculino Condicionamento 55 Não

Após processar os dados da Tabela 3 utilizando a ferramenta de MD Weka, com o algoritmo

classificador NNge, algumas regras de classificação foram geradas como mostra a Figura 8.

Figura 8. Regras de classificação geradas pelo algoritmo NNge.

Regras do tipo SE... ENTÃO... , constituem uma forma de representação simbólica e

possuem o seguinte formato: SE <antecedente> ENTÃO <conseqüente>.

O antecedente é formado por expressões condicionais envolvendo atributos do domínio da

aplicação existentes no banco de dados. Já o conseqüente, é composto por uma expressão que

evidencia algum valor para um atributo meta, descoberto em função dos valores contidos nos

atributos que compõem o antecedente (ROMÃO, 2002).

Page 35: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

26

As regras de classificação podem ser interpretadas como: “SE os atributos preditivos de uma

tupla satisfazem as condições no antecedente da regra, ENTÃO a tupla tem a classe indicada no

conseqüente da regra”.

Para Pereira (2004), as árvores de decisão são consideradas pela comunidade científica

como uma importante técnica para implementar a tarefa de Classificação, devido a sua

representação simples e intuitiva, fácil de ser compreendida.

Agrupamento

A principal característica desta tarefa é descobrir grupos utilizando a similaridade dos

valores de seus atributos como fator de decisão. Para Carvalho (2001), o agrupamento é um método

que tenta baseado em medidas de semelhança, definir quantas e quais classes existem em um

conjunto de entidades.

O agrupamento é uma tarefa que tem como objetivo segmentar os dados formando grupos

homogêneos. Conforme afirma Carvalho (2001), agrupar é classificar uma massa de dados em

classes desconhecidas. Para Silva (2003), o agrupamento é aplicado quando ainda não é conhecida

nenhuma classe e sua função é produzir uma segmentação do conjunto de registros de entrada de

acordo com algum critério.

Segundo Pacheco et al. (1999) a utilização do agrupamento tem como meta principal criar

classes através de partições do banco de dados em conjunto com tuplas. Essa partição é feita

agrupando tuplas com valores de atributos semelhantes em uma mesma classe. Após a criação

destas classes, é possível aplicar algoritmos de classificação para produzir regras para as mesmas.

Conforme Aurélio, et al. (1999), “um bom agrupamento caracteriza-se pela produção de

segmentos de alta qualidade, onde a similaridade intra-classe é alta e a inter-classe é baixa”.

Para Romão (2002), “através da tarefa de agrupamento pode-se dividir os dados em

subconjuntos homogêneos fáceis de descrever e visualizar”. Estes dados podem ser exibidos para o

usuário em vez de tentar mostrar todos os dados, o que usualmente resultaria na perda de padrões

embutidos (FAYYAD, 1997 apud ROMÃO, 2002).

Schenatz (2005) citou a possibilidade da utilização da tarefa de agrupamento, por exemplo,

em um banco de dados escolar, relacionando alunos e disciplinas. Uma regra do tipo “85% dos

alunos inscritos em ‘Programação I’ também estão inscritos em ‘Teoria da Computação’” pode ser

Page 36: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

27

usada pela direção ou secretaria no planejamento do currículo anual, ou alocar recursos como sala

de aula e professores.

2.3.4.2 Técnicas de Mineração de Dados

De acordo com as tarefas a serem executadas e as classes de problemas em questão, existem

diferentes técnicas de mineração e algoritmos que possibilitam a busca por padrões escondidos nos

dados. Possuir certo conhecimento sobre essas técnicas, facilita no momento da escolha de uma

delas de acordo com os problemas apresentados (SILVEIRA, 2003).

A Tabela 4 apresenta as principais técnicas de mineração de dados, bem como suas

descrições, tarefas e exemplos de algoritmos utilizados.

Tabela 4. Técnicas de mineração de dados.

Técnica Descrição Tarefas Exemplos

Descoberta de

Regras de

Associação

Estabelece uma correlação estatística entre

atributos de dados e conjuntos de dados

Associação Apriori,

AprioriTid, AIS.

Árvores de

decisão

Hierarquização dos dados, baseada em

estágios de decisão (nós) e na separação de

classes e subconjuntos

Classificação

Regressão

CART, CHAID,

C5.0.

Raciocínio

baseado em

Casos

Baseado no método do vizinho mais

próximo, combina e compara atributos

para estabelecer hierarquia de semelhança

Classificação

Segmentação

BIRCH,

CLARANS.

Algoritmos

Genéricos

Métodos gerais de busca e otimização,

inspirados na Teoria da Evolução, onde a

cada nova geração, soluções melhores têm

mais chance de terem “descendentes”

Classificação,

Segmentação

Algoritmo

Genético Simples,

Genitor, CHC.

Redes Neurais

Modelos inspirados na fisiologia do

cérebro, onde o conhecimento é fruto do

mapa das conexões neuronais e dos pesos

dessas conexões

Classificação,

Segmentação.

Perceptron, Rede

MLP, Rede Time

Delay.

Fonte: Adaptado de Dias (2002).

Page 37: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

28

2.3.5 Pós-Processamento

O pós-processamento é utilizado principalmente para avaliar o processo de descoberta,

melhorar a compreensão e/ou selecionar conhecimento descoberto que seja mais relevante. Para

Pacheco et al. (1999), esta fase envolve a interpretação do conhecimento descoberto, ou algum

processamento deste conhecimento.

O objetivo principal desta fase é melhorar a compreensão do conhecimento descoberto pelo

algoritmo minerador através da análise dos dados por um especialista. Muitas vezes a mineração

não traz resultados satisfatórios, sendo necessário uma outra etapa de Enriquecimento, esta que

consegue agregar mais informações de forma que essas contribuam no processo de descoberta de

conhecimento (PACHECO et al. 1999).

Segundo Silva (2003) a etapa de pós-processamento é iniciada com a avaliação dos padrões

realmente interessantes, que representem conhecimento útil, seguido da apresentação do

conhecimento extraído para o usuário final, através de técnicas de visualização e representação do

conhecimento.

2.4 SOLUÇÕES SIMILARES

Esta seção tem o objetivo de apresentar soluções similares à proposta neste TCC

desenvolvidas em trabalhos acadêmicos. Porém, não foram encontradas soluções similares

específicas à proposta deste trabalho, somente soluções que utilizaram técnicas de IA no

desenvolvimento de softwares para apoio a prática desportiva em geral. A seguir serão apresentadas

duas propostas.

2.4.1 A IA entrando na quadra de vôlei: Scout inteligente

O Scout Inteligente é um projeto de software que tem como objetivo principal o

monitoramento de jogo de vôlei, através da utilização de técnicas de IA, que combinam agentes

inteligentes e mineração de dados para auxiliar os técnicos na tomada de decisão.

Existem vários softwares estatísticos que auxiliam nesta tarefa, tais como o Data Volley e o

Scout Técnico, porém, são sistemas estatísticos de captura, cruzamento de dados e emissão de

relatórios que não levam em consideração o histórico do jogador de toda uma temporada e o

contexto de uma partida de vôlei (ZAMBERLAM et al. 2005).

Page 38: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

29

A proposta do Scout Inteligente é utilizar um agente inteligente para fazer o papel de tutor

da comissão técnica, interagindo com ela e com a base de dados criada, contendo informações

semânticas e imagens/vídeos dos seus atletas e da equipe adversária ao longo de várias temporadas.

Os vídeos dos jogos contendo as jogadas da equipe adversária, antes armazenados no banco,

passarão por um processo de etiquetação semântica, em que serão informados atletas e seus

posicionamentos, jogadas e finalizações. Podendo assim, serem utilizados não somente antes de um

jogo, mas durante uma partida (ibidem).

O papel do agente é de um auxiliar técnico com crenças, desejos e intenções. As crenças são

informações do jogo em curso e de outros jogos armazenados na base de dados (como um

histórico), contendo todas as situações de um jogo, como ataque, defesa, posicionamento dos

jogadores. Os desejos são os estados do jogo a serem atingidos, situações mineradas da base de

dados, decorrente da análise semântica descrita nas jogadas da equipe adversária mais os dados

estatísticos da própria equipe. Finalmente, as intenções são representadas pelo planejamento e pela

realização de ações em forma de jogadas efetivas a serem executadas pela própria equipe,

previamente executadas por esse agente (ibidem).

Dessa forma, será possível traçar táticas e estratégias simuladas previamente pelo agente

auxiliar, o qual realizou inferências do ambiente (jogo) com base no resultado de um processo de

mineração (ibidem).

2.4.2 A informática e suas aplicações em educação física

Este projeto de pesquisa propôs a confecção de uma ferramenta baseada em hipermídia

voltada ao público de Educação Física. Com objetivo de agilizar e qualificar a prestação de serviços

ao público em geral, bem como criar atendimentos mais personalizados (BERG et al. 2004).

Foi desenvolvido tutorial envolvendo o tópico de saltos, compreendendo: aspectos

fisiológicos nas faixas etárias de iniciação, uso de materiais alternativos nas aulas de atletismo,

lesões mais freqüentes, materiais e regras (ibidem).

O aplicativo utilizou multimídia interativa, possibilitando a interatividade com o usuário, e

obtendo-se afinal uma aplicação hipermídia, como mostra a Figura 9.

Page 39: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

30

Figura 9. Aplicação Hipermídia

Fonte: Berg, Amaral, Streibel (2004).

2.5 FERRAMENTAS DE MINERAÇÃO DE DADOS

Segundo Goebel & Gruenwald (1999 apud DIAS 2002), atualmente grande parte das

ferramentas disponíveis são ferramentas derivadas da IA ou da comunidade de estatística. Muitas

vezes, essas ferramentas não processam os dados diretamente na base de dados, necessitando a

exportação e importação de dados, pré-processamento e pós-processamento dos dados e

transformação dos dados, gastando um tempo razoável com a manipulação dos mesmos.

Para escolher uma ferramenta de descoberta de conhecimento, devem ser observadas as

seguintes características (ibidem):

• Facilidade de acesso em diferentes fontes de dados;

• A possibilidade de incluir modelos de dados orientados a objetos ou modelos não

padronizados;

• O poder de processamento relacionado ao número máximo de tabelas/tuplas/atributos;

• A capacidade de processamento relacionado ao tamanho do banco de dados;

• Os diferentes tipos de atributos que a ferramenta pode manipular; e

• Tipo de linguagem de consulta.

Page 40: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

31

Um esquema de classificação de características pode ser utilizado para analisar as

ferramentas de descoberta de conhecimento e de mineração de dados. As características podem ser

divididas em três grupos chamados características gerais, conectividade de banco de dados e

características de mineração de dados (ibidem).

As características citadas acima foram analisadas para a escolha da ferramenta a ser utilizada

neste projeto, porém, optou-se pelo Weka devido principalmente a possibilidade da utilização de

recursos via API e da ferramenta ser distribuída gratuitamente, características que não foram

encontradas nas outras ferramentas pesquisadas.

2.5.1 Análise das ferramentas de mineração de dados

No início do TCCI já se tinha conhecimento da ferramenta de mineração de dados Weka,

uma ferramenta gratuita, com possibilidade de utilização de recursos via API, que possui código

aberto e orientado a objetos. Entretanto, foram pesquisadas outras ferramentas de MD procurando

encontrar características semelhantes à ferramenta Weka, mas não foram encontradas. Dentre as

ferramentas pesquisadas, foram descritas duas ferramentas que mais se destacaram, Clementine e

Enterprise Miner, com um quadro comparativo entre seus recursos.

Após analisar as características das ferramentas apresentadas anteriormente, tais como:

tarefas de mineração, algoritmos disponibilizados, conectividade com banco de dados, capacidade

de manipulação com grandes quantidades de dados, possibilidade de manipular diferentes tipos de

dados, utilização de recursos via API e o custo de aquisição da ferramenta, foi definida a ferramenta

de mineração de dados para dar suporte a este projeto.

A ferramenta Weka foi à escolhida, devido principalmente a possibilidade da utilização de

recursos via API e da ferramenta ser distribuída gratuitamente, características que as outras

ferramentas citadas não possuíam, e também pelo fato da ferramenta Weka ser citada por diversos

autores como uma excelente ferramenta para dar suporte à mineração de dados.

Entretanto, não se pode afirmar qual é a melhor ferramenta a ser utilizada, cada ferramenta

possui características diferentes, possuindo pontos positivos e negativos, a escolha de uma

ferramenta está diretamente relacionada aos objetivos que se pretende alcançar, no caso desse

trabalho, a opção foi o Weka.

Page 41: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

32

A Tabela 5 mostra de maneira resumida uma comparação entre as ferramentas apresentadas

neste projeto.

Tabela 5. Comparação entre as ferramentas de mineração de dados.

Utilização de recursos via API Ferramenta Gratuita

Clementine Não Não

Enterprise Miner Não Não

Weka Sim Sim

As ferramentas Clementine e Enterprise Miner serão descritas nas seções 2.5.1.1 e 2.5.1.2,

respectivamente. A ferramenta Weka será descrita, bem como exemplificada a utilização de sua

API, na seção 2.5.2.

2.5.1.1 Clementine

O Clementine é uma ferramenta que possui uma interface gráfica que suporta a

implementação das tarefas de mineração de dados. É possível a navegação por ícones que por sua

vez representam as tarefas, o usuário percorre todo o processo de DCBD. O usuário pode arrastar

esses ícones para a área de trabalho do Clementine criando uma seqüência de funções a serem

executadas (CLEMENTINE, 2007).

A ferramenta Clementine possibilita a utilização de tarefas de Classificação, Previsão,

Clustering, Associação, Regressão. Outra característica marcante é a possibilidade de utilização das

técnicas de Descoberta de regras de Associação (Apriori), Árvores de Decisão (C5.0, C&RT),

Redes Neuronais (Kohonen, MLP, RBFN). A ferramenta suporta as plataformas HP/UX, IBM AIX,

Sun Solaris, Windows (ibidem).

Dentre os pontos positivos e negativos da ferramenta Clementine pode-se citar:

• Pontos positivos: O Clementine permite operar sobre grandes conjuntos de dados através

de um modelo Cliente-Servidor.

• Pontos Negativos: A Ferramenta não é gratuita.

Page 42: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

33

2.5.1.2 Enterprise Miner

O Enterprise Miner implementa todo o processo DCBD recorrendo a um modelo próprio ao

qual o SAS Institute denominou SEMMA – Selecionar (Sample), Explorar (Explore), Modificar

(Modify), Modelar (Model) e Avaliar (Assess) (SAS, 2007).

A seleção dos dados é feita com a criação de tabelas. Estas devem possuir uma quantidade

de dados suficientes e significativos, porém, as tabelas não podem ter um tamanho muito grande, o

que tornaria lento o processo de descoberta.

O Enterprise Miner possui um conjunto de ferramentas de análise que podem ser

combinadas, possibilitando a criação e comparação de vários modelos. Possui também

funcionalidades de pré-processamento dos dados, transformação de variáveis, amostragem e

agrupamento dos dados, teste e validação. As suas ferramentas de visualização permitem uma fácil

interpretação dos resultados extraídos (MATOS, 2004).

A ferramenta Enterprise Miner possibilita a utilização das tarefas de Classificação, Previsão,

Clustering, Associação, Regressão. Provê técnicas de Árvores de Decisão (CART, CHAID), Redes

Neuronais (Kohonen, SOM, RBFN), Case-Based Reasoning. A ferramenta suporta as plataformas

Cliente – Windows; Servidor – Unix, Windows (ibidem).

Dentre os pontos positivos e negativos do Enterprise Miner pode-se citar:

• Pontos Positivos: Quantidade de tarefas e técnicas disponibilizadas.

• Pontos negativos: A Ferramenta não é gratuita.

2.5.2 Weka

O Weka é uma ferramenta de DCBD que contempla uma série de algoritmos de preparação

de dados, de aprendizagem de máquina (mineração) e de validação de resultados. Weka foi

desenvolvido na Universidade de Waikato na Nova Zelândia, sendo escrito em Java e possuindo

código aberto.

O sistema possui uma interface gráfica amigável e seus algoritmos fornecem relatórios com

dados analíticos e estatísticos do domínio minerado. A maioria de seus recursos podem ser

utilizados através de sua interface gráfica, sendo que os demais, podem ser utilizados através de

API’s (SILVA, 2004).

Page 43: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

34

O Weka foi implementado na linguagem Java, sua principal característica é a portabilidade,

desta forma pode rodar em diversas plataformas, aproveitando também os benefícios de uma

linguagem orientada a objetos, tais como: modularidade, polimorfismo, encapsulamento,

reutilização de código dentre outros, além disso, é um software de domínio público estando

disponível em http://www.cs.waikato.ac.nz/ml/weka/.

Alguns métodos de classificação disponíveis no pacote Weka:

• Árvore de decisão induzida;

• Regras de aprendizagem;

• Naive Bayes;

• Tabelas de decisão;

• Regressão local de pesos;

• Aprendizado baseado em instância;

• Regressão lógica;

• Perceptron; e

• Perceptron multicamada.

Alguns métodos para predição numérica:

• Regressão linear;

• Geradores de árvores modelo;

• Regressão local de pesos;

• Aprendizado baseado em instância;

• Tabelas de decisão; e

• Perceptron multicamadas.

Page 44: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

35

2.5.2.1 O arquivo ARFF

Segundo Silva (2004) “o Weka possui um formato de arquivo próprio, o ARFF, deve-se

descrever o domínio do atributo, pois o mesmo não pode ser obtido automaticamente pelo seu

valor”. Antes de utilizar algum algoritmo do pacote Weka, os dados devem ser convertidos para o

formato ARFF que é constituído por três partes:

• Relação: a primeira linha do arquivo, que deve ser igual a @relation, seguida de uma

palavra-chave de identificação da relação;

• Atributos: um conjunto de linhas onde cada uma inicia com @attribute, seguida do nome

do atributo e seguida do seu tipo, que podem ser nominais ou numéricos; e

• Dados: depois de uma linha contendo @data. Cada linha deve corresponder a uma

instancia e deve ter valores separados por vírgula correspondentes dos atributos da seção

atributos.

A Figura 10 mostra um exemplo do formato do arquivo ARFF.

Figura 10. Arquivo no formato ARFF

Fonte: Adaptado de Silva (2004).

Dentre os pontos positivos e negativos do Weka pode-se citar:

• Pontos positivos: Portabilidade, o weka possui código aberto e é gratuito. Também é

possível a utilização de seus recursos via API’s.

Page 45: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

36

• Pontos Negativos: Uma limitação da ferramenta é sua escalabilidade, e também limita o

volume de dados a ser manipulado à dimensão de memória principal.

2.5.2.2 Testes de integração com a ferramenta Weka

Após analisar algumas ferramentas de mineração de dados, foi escolhida a ferramenta Weka

para dar suporte a MD neste TCC. Devido as suas características, tais como: portabilidade,

contempla vários algoritmos de MD, possui o código aberto, linguagem orientada a objetos, seu

ambiente provê o desenvolvimento de aplicações e script e é uma ferramenta gratuita.

A integração da ferramenta Weka com a linguagem de programação Java, necessita de

alguns requisitos, como:

• Ter o ambiente de desenvolvimento Java (J2SE, Java 2 Standard Edition) instalado, não

basta ter somente a máquina virtual (J2SE Runtime Environment); e

• Ter a ferramenta Weka devidamente instalada.

A princípio o teste de integração foi realizado com o ambiente de desenvolvimento Eclipse,

em sua versão 3.1., porem, após analisar o ambiente de desenvolvimento NetBeans 5.0, evidenciou-

se que é mais simples a integração com a ferramenta Weka, pois não é necessário configurar

variáveis de ambiente como acontecia com o Eclipse. A seguir serão mostrados os dois testes de

integração, com o Eclipse e com o NetBeans respectivamente.

O arquivo .arff utilizado para ambos os casos foi o arquivo weather.arff, um exemplo de

arquivo que vem junto com o pacote Weka, sua estrutura pode ser visualizada na Figura 11.

Page 46: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

37

Figura 11. Exemplo do arquivo ARFF utilizado.

2.5.2.3 Integração com a IDE Eclipse

Para a execução deste teste o ambiente de desenvolvimento utilizado foi o Eclipse, em sua

versão 3.1. Inicialmente é necessário fazer algumas configurações no ambiente de desenvolvimento

(Eclipse), para que o pacote Weka possa ser incluído nas classes do projeto teste, deve-se adicionar

o arquivo weka.jar no inicio do projeto, configurando as variáveis de ambiente.

Foi desenvolvida uma pequena aplicação teste, que compreendeu a execução de alguns

passos, o funcionamento da aplicação teste é descrito a seguir.

Inicialmente o programa apresenta uma tela com a opção de selecionar um arquivo para

minerar, o usuário clica na opção selecionar e escolhe um arquivo no formato .arff e confirma, logo

após o programa habilita um botão com a opção minerar, o usuário clica no botão minerar e o

programa chama a classe do weka, processa o arquivo e apresenta o resultado em uma caixa de

texto.

Para este teste de integração foi utilizado o arquivo weather.arff, e o algoritmo foi o J48. A

seguir o trecho de código da aplicação teste que executa o algoritmo J48.

java –cp /c/ weka-3-4/weka.jar weka.classifiers.trees.J48 -t /c/ weka-3-4/data/

weather.arff

Page 47: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

38

Este código deve estar escrito em uma única linha. A opção –cp foi utilizado para indicar o

uso de um pacote adicional para a máquina vitual Java, este deve ser composto pelo caminho

completo para localizar o arquivo weka.jar, neste caso o pacote Weka foi instalado em c/ weka-3-

4/weka.jar. O nome da classe do algoritmo classificador é weka.classifiers.trees.J48.

A opção –t indica o nome do arquivo utilizado para ser executado o algoritmo minerador, no

caso -t /c/ weka-3-4/data/ weather.arff.

Após a execução do trecho de código apresentado, o seguinte resultado foi obtido como

mostra a Figura 12.

Figura 12. Resultado da classificação com o algoritmo J48.

2.5.2.4 Integração com a IDE NetBeans

Para a execução deste teste o ambiente de desenvolvimento utilizado foi a IDE NetBeans,

em sua versão 5.0. Inicialmente é necessário criar um novo projeto dentro do NetBeans e dar um

nome, por exemplo TesteWeka, após nomear o projeto, é necessário adicionar o arquivo weka.jar na

pasta Libraries do projeto, para que o pacote Weka possa ser incluído nas classes do projeto teste,

como mostra a Figura 13.

Page 48: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

39

Figura 13. Adicionando o arquivo weka.jar

Foi desenvolvida uma pequena aplicação teste, o funcionamento da aplicação teste é descrito

a seguir.

O arquivo utilizado foi o weather.arff, e o algoritmo foi o J48. Inicialmente o sistema teste

apresenta uma tela com a opção de minerar, então o usuário clica no botão minerar, é a partir disto

que é acionado o comando que executa a integração com a ferramenta Weka, onde o algoritmo

classificador J48 processa o arquivo weather.arff.

A seguir a Figura 14 mostra o trecho de código da aplicação teste que executa o algoritmo

J48. Para que o código funcione corretamente, é necessário copiar o arquivo weather.arff, que no

caso se encontra em C:\Arquivos de programas\Weka-3-4\data, para a pasta onde está o projeto

teste, no caso C:\Documents and Settings\TesteWeka.

Page 49: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

40

Figura 14. Código que executa o algoritmo classificador J48.

Após a execução do trecho de código apresentado na Figura 15, o resultado do

processamento do algoritmo minerador J48 é mostrado na tela para o usuário, o resultado obtido é

ilustrado na Figura15.

Figura 15. Resultado da classificação com o algoritmo J48.

Page 50: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

41

O resultado não tem uma visualização amigável, mediante tal situação, a proposta deste

TCC é gerar visualizações textuais com fácil interpretação por parte do especialista, através do

sistema proposto.

Page 51: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

42

3 PROJETO

Este projeto trata-se de uma aplicação voltada à análise de banco de dados, desenvolvida

utilizando a tecnologia J2SE e utilizando a ferramenta Weka para dar suporte no processo de

mineração de dados.

Foi desenvolvido para extrair conhecimento dos dados armazenados pelo Sistema de

Informação da Academia da UNIVALI, com a utilização de algoritmos de MD, para uma possível

descoberta de novas correlações, padrões e tendências significativas por meio da análise dos dados

armazenados, com objetivo de melhorar de alguma maneira o atendimento aos alunos da academia

de musculação da UNIVALI.

Os dados inicialmente seriam obtidos a partir do Sistema de Informação da Academia da

UNIVALI (SIAMU), mas, devido a não utilização do sistema pela academia, foi desenvolvida uma

ferramenta auxiliar para efetuar o cadastro das informações referentes aos alunos da academia de

musculação, onde são coletadas as informações necessárias para a aplicação da mineração de dados

proposta neste projeto e resultar informações reais que serão válidas para auxiliar o profissional de

educação física na tomada de decisão.

No TCCI já era sabido da não utilização do SIAMU, mas era pretendido durante o TCCII,

colocá-lo em execução. Isso não foi possível devido a problemas técnicos na implantação do

sistema na academia, inviabilizando a utilização de dados reis para a realização da MD.

Na análise de riscos, essa possibilidade foi levantada, e foi proposto que caso o SIAMU não

fosse utilizado, a fonte de dados para aplicar a MD neste projeto seria a base de dados utilizada por

Balbinotti (2006) na validação de seu projeto. Essa estratégia não foi utilizada, pois os dados são

hipotéticos e não trariam resultados reais que pudessem auxiliar o profissional de educação física na

tomada de decisão. Devido a isto, optou-se em desenvolver uma ferramenta auxiliar para cadastro

dos alunos da academia, com isso, possibilitando uma MD com resultados reais.

A ferramenta auxiliar foi desenvolvida com base nas variáveis de interesse selecionadas do

banco de dados do SIAMU, simulando a consulta feita para a alimentação do DW, com o objetivo

de armazenar dados reais em seu banco de dados, para que a aplicação proposta neste projeto faça a

consulta nesses dados e seja aplicada a etapa de pré-processamento, etapa onde ocorre a limpeza,

seleção e normalização dos dados. Em seguida, esses dados são armazenados no DW auxiliar e a

Page 52: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

43

partir disto o sistema aplica a etapa de MD, etapa onde ocorre o processo automático de extração de

conhecimento, através de algoritmos mineradores disponibilizados pela Ferramenta Weka.

Embora a base de dados utilizada para seleção dos dados seja o da ferramenta auxiliar de

cadastro de alunos, o sistema desenvolvido continuará utilizando o banco de dados do SIAMU, o

banco de dados está sendo alimentado com dados hipotéticos e submetido ao processo de mineração

de dados descrito neste projeto, porém os resultados não têm validade para auxiliar o profissional de

educação física, pois serão dados fictícios. Caso o SIAMU venha a ser implantado e utilizado pela

academia, esta ferramenta estará apta à utilização das informações contidas na base de dados do

mesmo.

Por fim, após a etapa de MD, o conhecimento extraído é avaliado na etapa de pós-

processamento, onde ocorre a seleção do conhecimento mais relevante, para depois ser apresentado

para usuário final.

3.1 CARACTERIZAÇÃO DO DOMÍNIO DA APLICAÇÃO

Esse TCC possui dois domínios, com dois BD, ela deverá consultar a base de dados do

Sistema de Informação da academia e consultar a base de dados da ferramenta auxiliar para

cadastro de alunos, posteriormente aplicar a etapa de pré-processamento, onde ocorre a

normalização dos dados, sendo que, a partir disto irá alimentar os DW elaborados com os dados já

normalizados, para depois o usuário aplicar a mineração de dados e finalizando o processo de

descoberta de conhecimento visualizar os resultados obtidos.

Para melhor compreensão do funcionamento do sistema (apresentado a seguir na Subseção

3.4), é importante destacar que o DW foi elaborado após a análise do banco de dados do SIAMU

desenvolvido por Balbinotti (2006). A ferramenta auxiliar é baseada nas variáveis de interesse

selecionadas a partir do SIAMU, e tem como objetivo armazenar apenas os dados que serão

minerados.

3.2 Normalização dos Dados

Para o desenvolvimento desta aplicação, inicialmente foi preciso analisar o banco de dados

do Sistema de Informação proposto para a academia, o qual serviu como estudo de caso para este

projeto. Após a análise do banco de dados as variáveis de interesse foram estipuladas, e para um

Page 53: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

44

melhor entendimento, a seguir uma breve descrição das variáveis selecionadas que compõe o DW

como mostra a Tabela 6.

Tabela 6. Normalização dos dados.

Variável Banco de dados do SIAMU DataWarehouse

SEXO Assume os valores M e F Assumirá os valores 0 e 1 respectivamente

IDADE Idade do aluno Idade do aluno FAIXA_ETARIA Idade do aluno Agrupado por faixa etária, com

intervalos de 6 em 6 anos, sendo que o primeiro grupo assume o valor 1 com intervalo de idade de 15 a 20 anos e o último grupo o valor 8 com intervalo de idade de 57 a 62 anos;

ALTURA Referente à altura do aluno Classificado em três grupos assumindo os valores 1,2 e 3 respectivamente: 1: menor que 1m60cm; 2: maior que 1m60cm e menor ou igual a 1m79cm; 3: for maior que 1m79cm; OBJETIVO Identifica qual o objetivo que o

aluno deseja alcançar, as categorias são as seguintes: Hipertrofia, estética, reabilitação, correção e condicionamento;

Assumirão os valores sim ou não, na presença ou não das categorias;

IAF Referente ao índice de aptidão física do aluno

Classificado em três categorias: insuficiente, aceitável e alto. Assumindo os valores 0,1 e 2 respectivamente;

PESO Refere-se ao peso do aluno Agrupado por intervalos de peso, sendo que o primeiro grupo inicia com o peso de 40 a 60 Kilos e assumirá o valor 1, e o último grupo grupo inicia com o peso de 121 a 150 Kilos e assumirá o valor 5;

IMC Referente ao índice de massa corporal do aluno

Classificado em grupos: abaixo do peso, peso normal, acima do peso e obeso, assumindo os valores 1,2 e 3 respectivamente;

PA Referente à pressão arterial do aluno

Classificado por grupos: Baixa, normal, limite e alta. Assumindo os valores 0,1,2 e 3 respectivamente.

Page 54: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

45

A estrutura do DW foi criada com o banco de dados MySQL, e pode ser visualizada logo

abaixo como mostra a Figura 16.

Figura 16. Estrutura do DW criado.

O DW será carregado a partir do banco de dados do sistema de informação da academia da

UNIVALI. O modelo entidade relacionamento do banco de dados do sistema de informação pode

ser visualizado no anexo A.

3.3 FERRAMENTA AUXILIAR PARA CADASTRO DE ALUNOS

Devido a não implantação e utilização do Sistema de Informação desenvolvido para

academia, o banco de dados do Sistema de Informação não contem nenhum registro real

armazenado. Sendo assim, uma alternativa para a coleta de dados foi desenvolvida para dar

continuidade ao projeto, foi desenvolvida uma ferramenta auxiliar para efetuar o cadastro das

informações referentes aos alunos da academia de musculação, onde são coletadas as informações

necessárias para a aplicação da mineração de dados proposta neste projeto.

Esta ferramenta foi implementada com a linguagem de programação Delphi 7, utilizando o

banco de dados MySQL, mesmo banco de dados utilizado no SIAMU. A ferramenta auxiliar foi

desenvolvida para coletar informações dos alunos previamente selecionadas a partir do Sistema de

Informação da academia, ou seja, serão cadastrados somente os dados identificados como variáveis

de interesse para a mineração de dados eliminando informações desnecessárias para efetuar o

processo de extração de conhecimento.

Page 55: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

46

Para um melhor entendimento do funcionamento da ferramenta auxiliar de cadastro de

alunos, a seguir serão apresentados os passos necessários para efetuar o cadastro dos alunos, bem

como a apresentação das telas desenvolvidas para a ferramenta.

Inicialmente a ferramenta apresenta a tela principal, com as duas opções, que são: cadastro e

sair. Selecionando a opção de cadastro, a ferramenta apresenta a tela de cadastro, referente aos

dados dos alunos, estas informações são armazenadas no banco de dados que posteriormente

servirão como base de dados para aplicar o pré-processamento e a partir disto alimentar o data

warehouse auxiliar. Esta tela de cadastro foi dividida em três categorias de informações como

mostram as imagens da Figura 17, Figura 18 e Figura 19 respectivamente, que são:

• Horário: Com as opções de turma, semestre, mês e dias da semana em que o aluno

freqüenta a academia;

Figura 17. Tela de cadastro da ferramenta auxiliar, horário.

• Informações Gerais: Com as opções de idade, objetivo, sexo, peso, altura, pressão

arterial, aptidão física e IMC; e

Page 56: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

47

Figura 18. Tela de cadastro da ferramenta auxiliar, informações gerais.

• Prescrição da atividade física: Que coleta as informações sobre os aparelhos utilizados e

exercícios atribuídos para os alunos.

Figura 19. Tela de cadastro da ferramenta auxiliar, prescrição.

O usuário preenche as informações da tela e clica no botão gravar, sendo assim, o registro já

estará gravado no banco de dados. Esta ferramenta foi uma alternativa para coletar os dados dos

alunos da academia para se obter resultados reais após o processo de mineração de dados, que

possam auxiliar o profissional de educação física na tomada de decisão.

Page 57: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

48

3.3.1 Normalização dos dados da aplicação auxiliar

Como mencionado no início do capítulo 3, o Sistema de Informação não foi implantado e

utilizado pela academia da UNIVALI, com isso, nenhum dado foi armazenado no banco de dados

do Sistema de Informação. Mediante esta situação, uma alternativa para a coleta de dados foi criada,

foi desenvolvida uma ferramenta auxiliar para cadastro de alunos, a qual irá armazenar os dados dos

alunos em seu banco de dados.

O banco de dados desta ferramenta auxiliar será utilizado como fonte de dados para

alimentar um DW auxiliar, que servirá como estudo de caso, possibilitando extrair conhecimento

com dados reais que permitirá auxiliar o profissional de educação física na tomada de decisão. As

variáveis que compõem o DW auxiliar contém as mesmas variáveis selecionadas do SIAMU, com o

acréscimo de mais algumas variáveis que foram solicitadas pelo especialista, que são:

• Horário: refere-se ao turno em que o aluno freqüenta a academia, no banco de dados da

ferramenta auxiliar possui os valores matutino, vespertino e noturno, e assumirá respectivamente os

valores 1,2 e 3;

• Semestre: indica o semestre em que o aluno se matriculou na academia, possui os

valores primeiro e segundo, a assumirá os valores 1 e 2 respectivamente;

• Mês: indica o mês que o aluno se matriculou na academia, possui o intervalo de valores

entre 1 e 12 e assumirá os mesmos valores no DW auxiliar;

• Dias da semana: referente aos dias da semana em que o aluno pratica atividade física na

academia, dividido em: segunda, terça, quarta, quinta, sexta e sábado, que assumiram os valores sim

ou não no DW auxiliar;

A estrutura do DW foi criada com o banco de dados MySQL, e pode ser visualizada logo

abaixo como mostra a Figura 20.

Page 58: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

49

Figura 20. Estrutura do DW auxiliar criado.

3.4 FUNCIONAMENTO DA MD NAS APLICAÇÕES

Com o objetivo de proporcionar ao leitor deste trabalho o melhor entendimento do uso do

sistema proposto, nesta sessão, são apresentados os passos para a utilização do sistema, baseados

nas telas desenvolvidas no projeto, conforme segue.

Para iniciar o sistema, o usuário deverá efetuar o login (Figura 21). O login é apenas para

restringir a utilização do sistema por pessoas alheia, sendo verificado atravéz de uma senha padrão

fornecida para o usuário do sistema.

Figura 21. Tela de login.

Page 59: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

50

Tendo efetuado o login com sucesso, será exibida a tela principal do sistema com as duas

opções disponíveis, atualizar DataWarehouse e mineração de dados.

No primeiro momento o usuário deverá selecionar a opção Atualizar Data Warehouse, que

irá consultar os dados na base de dados do SIAMU, aplicando um pré-processamento nos dados e

eliminando possíveis dados inválidos ou nulos, normalizando esses dados, depois será exibida a tela

de mensagem padrão (Figura 22).

Figura 22. Tela de mensagem padrão.

Se a operação de atualização do DW foi executada corretamente, o sistema apresentará uma

mensagem de confirmação, caso contrário, uma mensagem de erro. Suponhamos que a operação

tenha sido executada com sucesso, o usuário clica no botão ok e volta à tela principal.

A partir deste momento o sistema já pode efetuar a operação de mineração de dados. O

usuário seleciona a opção mineração de dados, o sistema apresenta a tela de mineração de dados

com suas opções (Figura 23).

Page 60: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

51

Figura 23. Tela de mineração de dados.

O usuário seleciona o tipo de tarefa e variáveis que desejar. Dependendo do tipo de tarefa

que o usuário seleciona, algumas variáveis não serão disponibilizadas, pois cada algoritmo processa

tipos diferentes de dados. Logo após, o usuário seleciona a opção gerar arquivo ARFF, então o

sistema verifica qual a tarefa de mineração e quais as variáveis de interesse foram selecionadas,

para a partir disto gerar o arquivo arff para a mineração de dados. Após executar este passo, o

usuário seleciona a opção minerar, então o sistema inicia o processo de mineração de dados e

apresenta a tela de visualização com o conhecimento extraído.

O conhecimento extraído apresentado inicialmente pelo sistema não é simples de

compreender, nem a maneira mais desejável, o usuário pode optar por uma melhor visualização,

escolhendo a opção visualizar na tela de visualização (Figura 24).

Page 61: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

52

Figura 24. Tela de visualização do conhecimento.

O usuário seleciona o modo de visualização que desejar e clica em visualizar, o sistema

apresenta o conhecimento em um formato de texto, facilitando a interpretação do conhecimento

extraído. Entretanto, a MD realizada nesse momento utilizando a base de dados do SIAMU não traz

resultados relevantes, porque os dados são fictícios. Contudo, a aplicação proposta neste TCC estará

apta à utilização das informações contidas na base de dados do mesmo.

3.5 MODELAGEM DO SISTEMA

A modelagem do sistema foi realizada utilizando a UML (Unified Modeling Language), foi

utilizada a ferramenta Enterprise Architect na diagramação e na especificação de requisitos. Foram

elaborados diagramas de Caso de Uso e protótipos das telas. Essa modelagem é válida para as duas

aplicações, a diferença entre as duas está na tela de mineração de dados, onde a aplicação que

Page 62: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

53

consulta a base de dados auxiliar possui uma variação das variáveis de interesse como mostra a

Figura 27.

Figura 25. Tela de mineração de dados auxiliar.

Nesta seção é apresentada parte da descrição dos diagramas. A descrição completa está

contida no Apêndice A.

3.5.1 Levantamento de Requisitos

O levantamento de requisitos é a etapa de compreensão do problema aplicada ao

desenvolvimento de software.

“Os requisitos são uma descrição das necessidades do sistema que se pretende construir,

nesta fase o objetivo é identificar e documentar o que é realmente necessário, com uma

Page 63: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

54

comunicação clara que seja compreendida ao cliente e as pessoas envolvidas ao projeto”

(LARMAN, 2000).

Após análise e compreensão do domínio da aplicação, os seguintes requisitos foram

especificados:

3.5.1.1 Requisitos Funcionais

• RF01: O sistema deverá permitir autenticação de usuário;

• RF02: O sistema deverá permitir consultar a base de dados do sistema de informação da

academia;

• RF03: O sistema deverá permitir a atualização do Data Warehouse;

• RF04: O sistema deverá permitir a mineração de dados;

• RF05: O sistema deverá permitir salvar em arquivo o conhecimento extraído;

• RF06: O sistema deverá permitir selecionar diferentes modos de visualização do

conhecimento extraído.

3.5.1.2 Requisitos Não Funcionais

• RNF01: O sistema deverá ser implementado utilizando a tecnologia J2SE;

• RNF02: O sistema deverá utilizar banco de dados MySQL;

• RNF03: O sistema deverá utilizar a ferramenta de mineração de dados Weka; e

• RNF04: A autenticação dos usuários deverá ser realizada através de uma senha padrão;

3.5.1.3 Regras de Negócio

• A mineração de dados somente poderá ser executada se o data warehouse estiver com

registros;

3.5.2 Projeto do Sistema

Nesta seção serão apresentados os diagramas de Caso de Uso. Para Melo (2004) um caso de

uso apresenta uma seqüência de ações que representam um cenário principal e os cenários

alternativos, com objetivo de demonstrar o funcionamento do sistema a partir de interações com

atores.

Page 64: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

55

3.5.2.1 Diagrama de casos de uso

Os diagramas de caso uso deste projeto estão divididos em dois pacotes: Controle de Acesso

e Operações. O detalhamento completo dos diagramas está contido no apêndice A.

Caso de Uso de Controle de Acesso

O controle de acesso de usuários ao sistema será simplesmente para evitar a utilização do

sistema por pessoas que não são permitidas, verificando uma senha padrão que será entregue ao

usuário (Figura 28).

Figura 28. Diagrama de Caso de Uso – Pacote Controle de Acesso.

Caso de Uso de Operações

Este caso de uso apresenta todas as operações que o sistema permite fazer. O usuário pode

atualizar o DW a partir do banco de dados do sistema de informação, e posteriormente aplicar a

mineração de dados e visualizar o conhecimento extraído (Figura 29).

Page 65: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

56

Figura 29. Diagrama de Caso de Uso – Pacote Operações.

3.6 IMPLEMENTAÇÃO DO SISTEMA

A etapa de implementação compreende a codificação do projeto do sistema, através da

tecnologia J2SE, respeitando todos os requisitos levantados na modelagem do sistema.

A codificação foi realizada utilizando o ambiente de desenvolvimento NetBeans em sua

versão 5.0, ferramenta que agiliza a programação, principalmente na criação de interfaces gráficas

com a possibilidade da utilização de componentes gráficos, e também pela simplicidade em

adicionar classes externas ao projeto sem a necessidade de configuração de variáveis de ambiente.

Outro ambiente de desenvolvimento foi testado para a codificação, a plataforma de

desenvolvimento Eclipse em sua versão 3.1, que disponibiliza recursos como à instalação de

plugins, compilação, depuração e a execução de programas JAVA. Porém não foi adotado para a

codificação deste projeto, pois ficou em desvantagem em relação ao NetBeans principalmente na

criação de interfaces gráficas e na manipulação de classes externas ao projeto.

A ferramenta de mineração de dados Weka foi adotada para dar suporte a MD neste projeto,

devido principalmente ao fato de ser gratuita, orientada a objetos e a possibilidade de utilização de

recursos via API, características que não foram encontradas em outras ferramentas pesquisadas.

3.6.1 Problemas encontrados

Os principais problemas encontrados na implementação do sistema foram: Obtenção dos

dados do SIAMU, a geração do arquivo ARFF e a utilização do algoritmo de associação Apriori.

Page 66: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

57

3.6.1.1 Obtenção dos dados do SIAMU

Devido a não utilização do SIAMU pela academia da UNIVALI, o banco de dados do

Sistema de Informação não possui nenhum registro real armazenado. Uma alternativa para

solucionar este problema foi adotada, foi desenvolvida uma ferramenta auxiliar para cadastrar os

dados dos alunos da academia da UNIVALI, que foi instalada no computador da academia. Foram

cadastrados 185 registros de alunos, 60% do total de alunos. Os dados foram coletados a partir das

fichas de cadastro dos alunos da academia.

3.6.1.2 Geração do arquivo ARFF

Outro problema em relação à codificação deste projeto, foi a integração da aplicação com a

ferramenta de MD Weka. A princípio, a aplicação estava gerando um erro freqüente, que após

várias depurações, foi identificado que o erro não estava na codificação, mas sim na geração do

arquivo ARFF junto com a utilização de alguns tipos de algoritmos de mineração, por exemplo, o

algoritmo apriori não aceita atributos do tipo numérico.

Após a identificação deste problema, foi adotada uma solução que consistia em gerar um

arquivo ARFF com o tipo dos atributos que cada algoritmo suporta processar. Entretanto,

realizando novos testes, chegou-se a uma alternativa mais adequada para o problema, que foi gerar

um arquivo ARFF em um formato em que todos os algoritmos conseguem processar, a partir disto a

aplicação não apresentou mais problemas quando executada.

Para cada tarefa de MD foi necessário utilizar um algoritmo específico. Para a tarefa de

associação foi utilizado o algoritmo apriori, já para a tarefa de classificação foi utilizado o

algoritmo J48 e para a tarefa de agrupamento foi utilizado o algoritmo K-Means.

3.6.1.3 Utilização do algoritmo de associação Apriori

Diferente dos algoritmos de classificação e de agrupamento, o algoritmo de associação não

possui uma classe evaluation, que possui um método que retorna o resultado da mineração, após a

passar os parâmetros (algoritmo, arquivo_arff), por exemplo, a classe weka.classifiers.Evaluation e

weka.clusterers.ClusterEvaluation. A Figura 26 mostra o trecho de código que executa o método

evaluation da classe weka.classifiers.Evaluation.

Page 67: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

58

Figura 26. Execução do algoritmo J48.

A solução para o problema foi gerar um arquivo .bat para processar o algoritmo Apriori,

gerando o resultado da mineração em um arquivo texto dentro do diretório da aplicação. Como

mostra a Figura 27.

Figura 27. Geração do arquivo apriori.bat.

A Figura 28 mostra o trecho de código que executa o arquivo bat gerado para solucionar o

problema descrito.

Figura 28. Execução do arquivo apriori.bat.

3.7 TESTES E VALIDAÇÃO DO SISTEMA

Inicialmente a ferramenta auxiliar foi instalada em um computador na academia de

musculação da UNIVALI, a partir disto, foram cadastrados na base de dados 185 registros

referentes aos alunos da academia, 60% do total de alunos. Após ter os dados cadastrados, os testes

com a aplicação foram iniciados. A princípio foi executada a rotina de atualização do DW, etapa

Page 68: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

59

onde ocorre a normalização dos dados contidos na base de dados da ferramenta auxiliar para depois

serem armazenados no DW.

A etapa de atualização do DW não apresentou nenhum problema. Após ter validada a rotina

de atualização, iniciou-se o teste com a rotina que gera o arquivo ARFF para a mineração, rotina

que consulta o DW e gera um arquivo no formato ARFF, formato de arquivo que a ferramenta de

mineração de dados Weka usa para extrair o conhecimento. A geração do arquivo ARFF não teve

maiores problemas.

Seguindo os testes de implementação, iniciou-se os teste com a rotina de mineração de

dados, e, nesta rotina é que começaram a aparecer alguns erros freqüentes. Inicialmente, com o

primeiro formato de arquivo ARFF gerado, no momento do processamento do arquivo, ou seja,

quando os dados estavam sendo minerados, começaram a ocorrer dois erros freqüentes.

A princípio o arquivo ARFF era gerado com diferentes tipos de atributos, por exemplo,

atributos do tipo numérico, nominal e real. Quando a aplicação executava a etapa de mineração,

rotina onde as classes do Weka são instanciadas, passando como parâmetro o arquivo ARFF que se

deseja minerar, a aplicação estava gerando erros referentes aos tipos de atributos e também estouro

de memória.

Para resolver esses dois erros, os tipos dos atributos foram alterados, após várias

combinações de tipos de atributos, chegou-se a um formato de arquivo ARFF que se tornou apto

para executar nas três tarefas da mineração. O arquivo é constituído apenas com atributos nominais,

os atributos que inicialmente eram numéricos e reais, passaram a assumir valores nominais, mas

mantendo seu valor. Os valores que representavam os intervalos de algumas variáveis, por exemplo,

faixa etária que eram valores reais, passaram a assumir valores nominais sem comprometer a

classificação do intervalo.

O principal problema encontrado na codificação do sistema foi a definição de um padrão

para geração do arquivo ARFF após a consulta no DW. Após resolver este problema, a aplicação

não apresentou mais erros, e se tornou apta a minerar os dados.

Embora a validação não tenha sido realizada, alguns resultados extraídos pelo sistema

podem ser citados, tais como:

Page 69: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

60

• Se o sexo do aluno é masculino e a altura do aluno está entre 1,71m até 1,90m então o

objetivo do aluno não era estética corporal, com 98% de confiança;

• Se o peso do aluno estiver entre 61 kg até 80 kg então ele não tinha como objetivo a

reabilitação física, com 100% de confiança;

• Os alunos que procuraram a academia com objetivo de hipertrofia muscular e do sexo

masculino possuíam pressão arterial normal , com 100% de confiança;

• Se o peso do aluno está entre 61 kg e 80 kg e aptidão física do aluno é média então o

objetivo do aluno não era estética corporal, com confiança de 92%; e

• Alunos com idade entre 15 e 20 anos com peso de 61 kg até 80 kg ingressaram na

academia com objetivo de hipertrofia muscular, com confiança de 99%.

Page 70: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

61

4 CONCLUSÕES

As etapas do Trabalho de Conclusão de Curso, relatadas nas seções anteriores, destacam

conceitos levantados através da revisão bibliográfica e o desenvolvimento do projeto de software.

Na revisão bibliográfica os temas como o processo de descoberta de conhecimento em bases

de dados e mineração de dados, tiveram maior abordagem, devido ao foco principal desse trabalho,

que é desenvolver uma aplicação que utilize mineração de dados para descoberta de conhecimento

contido na base de dados do Sistema de Informação proposto para a academia da UNIVALI.

Com a pesquisa realizada em busca de soluções similares desenvolvidas em trabalhos

acadêmicos, foi verificado que não existem soluções similares específicas à proposta deste trabalho,

somente soluções que utilizaram técnicas de IA no desenvolvimento de softwares para apoio a

prática desportiva em geral. Entretanto, existem muitas ferramentas de auxílio à prática desportiva,

porém, desenvolvidas como um produto, com foco comercial e não como projeto de pesquisa.

O DW definido nesse trabalho embora não tão complexo, possui características pertencentes

a um DW, como dar suporte ao processo decisório já que auxilia na MD, possui um conjunto de

dados baseado em assunto, é variável em relação ao tempo e os dados armazenados são destinados

somente para leitura. O DW foi definido sem o auxílio de um especialista do domínio, baseado nas

variáveis utilizadas no desenvolvimento do trabalho de Balbinotti (2006). A busca das informações

foi de maneira direta onde fica explícito o que se deseja encontrar no banco de dados. O objetivo da

busca no banco de dados foi de maneira descritiva, onde envolve a descoberta de padrões

interpretáveis pelos humanos.

As tarefas da descoberta de conhecimento que foram utilizadas neste projeto são: regras de

associação, classificação e agrupamento.

O conhecimento adquirido através da revisão bibliográfica serviu de base para elaboração do

projeto do sistema. A modelagem do sistema foi elaborada seguindo os padrões da UML. Foram

apresentados apenas os diagramas considerados relevantes, ao projeto do software. Também foi

apresentado o funcionamento do sistema de forma textual, com o auxílio das telas desenvolvidas

para o projeto.

Page 71: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

62

Embora a validação não tenha sido realizada, a avaliação dos testes mostrou a

funcionalidade da aplicação. Dentre melhorias que a validação poderia apresentar está a definição

de algoritmos mais significativos para a mineração dos dados neste caso específico.

O desenvolvimento deste TCC mostrou que a dependência da utilização de um sistema por

uma determinada entidade, pode comprometer os resultados esperados, contudo, espera-se que o

Sistema de Informação desenvolvido para a academia venha ser utilizado futuramente, tornando

assim possível a utilização do trabalho proposto neste TCC, auxiliando o profissional de educação

física no acompanhamento dos alunos na tomada de decisão.

Para trabalhos futuros, pode-se mencionar o aprimoramento da visualização dos dados

gerados pela ferramenta Weka, visto que mesmo após a geração de uma visualização textual pelo

sistema proposto, ainda assim o especialista necessita de instrução para interpretar os resultados

obtidos. As regras de associação poderiam ser representadas por gráficos, facilitando a compreensão

do conhecimento obtido. Para os resultados da classificação e agrupamento, pesquisar uma forma

que facilite a interpretação do conhecimento gerado.

Page 72: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

63

5 REFERÊNCIAS BIBLIOGRÁFICAS

AURÉLIO, M.; VELLASCO, M.; LOPES C. H. Descoberta de conhecimento e mineração de dados apostila, 1999. Disponível em: < http://www.ppgia.pucpr.br/~picolotto/DataMining/C%F3pia%20de%20DM-apostila12.pdf >. Acesso em: 17 jun. 2004.

BALBINOTTI, A. M. 2006. Sistema de informações baseado em sistemas especialistas e raciocínio baseado em casos para auxiliar na prática desportiva na UNIVALI. Trabalho de Conclusão do Curso (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2006.

BABTISTA J.; CARVALHO D. R. Data mining como apoio a decisão em projetos públicos. In: CONGRESSO BRASILEIRO DE COMPUTAÇÃO, 3., 2003, Itajaí. Anais...Itajaí:Univali-CTTMar, 2003.

BERG, A.C.; AMARAL, J. D.; STREIBEL, M. A informática e suas aplicações em educação física.2004. Disponível em: <http://www.inf.ufsc.br/sbc-ie/revista/nr4/062RS-berg.htm>. Acesso em: 25 maio 2007.

CARVALHO, L. A. V. Datamining: a Mineração de Dados no Marketing, Medicina, Economia, Engenharia e Administração. São Paulo: Érica, 2001.

CLEMENTINE. 2007. Disponível em: < http://www.spss.com/clementine/index.htm >. Acesso em: 01 junho 2007.

COLAÇO JÚNIOR, Methanias. Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse. Rio de Janeiro: Axcel Books do Brasil Editora Ltda, 2004.

COLLAZOS, K.; BARRETO, J. “KDD ferramenta para análise de dados epidemiológicos”. Anais do III Congresso Brasileiro de Computação – Workshop de Informática aplicada à Saúde-CBCOMP’2003, Itajaí, p.2226-2236, 2003.

COSTA, A. F.; ANCIÃES, F. C. Aspectos de criação e Carga de um ambiente de Data Warehouse. 2001. Trabalho de Conclusão (Graduação)-Departamento de Ciência da Computação, Instituto de Matemática, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2001.

DEBANTIN, P. C. et al.EIS aplicado à área escolar utilizando data warehouse. In: CONGRESSO BRASILEIRO DE COMPUTAÇÃO, 3.,2003, Anais... Itajaí: Univali-CTTMar, 2003.

DIAS, M. M. Parâmetros na escolha de técnicas e ferramentas de mineração de dados. Departamento de Informática, Maringá – PR . 2002.

DOMINGUES, Marcos Aurélio. Generalização de regras de associação. 2004. Dissertação de Mestrado, ICMC-USP, São Carlos, SP, 2004.

FERNANDES, A.M. Inteligência Artificial noções gerais, Florianópolis – SC, ed. Visual Books, 2003.

INMON, W.H. Como construir o data warehouse. 1997. Rio de janeiro, Editora Campus. 1997.

LARMAN, Graig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos. Porto Alegre: Bookman, 2000.

Page 73: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

64

MACHADO, Felipe Nery Rodrigues. Projeto de Data Warehouse: uma Visão Multidimensional. São Paulo: Érica, 2000.

MELO, Ana Cristina. Desenvolvendo aplicações com UML 2.0: do conceitual à implementação. Rio de Janeiro: Brasport, 2004.

NASCIMENTO JR, C. L; YONEYAMA, T. Inteligência artificial e controle e automação. São Paulo: Edgar Blucher Ltda; FAPESP, 2000.

OLIVEIRA, R.B.T. O processo de extração do conhecimento de base de dados apoiado por agentes de software. 2000. Dissertação de Mestrado, ICMC-USP, São Carlos, SP, 2000.

PACHECO, M. A.; Vellasco, M.; Lopes, C. H. Descoberta de conhecimento e mineração de dados, Notas de Aula em Inteligência Artificial. Rio de Janeiro, ICA-Laboratório de Inteligência Computacional Aplicada, departamento de Engenharia elétrica – PUC-RIO. Disponível em: <http://www.ica.ele.puc-rio.br. 1999>.

PIETRO, R.G. Desenvolvimento de uma ferramenta de mineração de dados aplicada à Medicina. 2004. Trabalho de Conclusão do Curso de Ciência da Computação, Universidade do Vale do Itajaí, Itajaí, 2004.

PEREIRA, R. M. Ferramenta midas-uff : Módulo de Classificação. 2004. Trabalho de Conclusão do Curso de Ciência da Computação, Departamento de Ciência da Computação,Niterói, RJ. 2004.

SAS. Technologies/Analytics.2007. Disponível em: <http://www.sas.com/technologies/analytics/datamining/miner/>. Acesso em: 31 maio 2007.

SCHENATZ, B. N. Utilização de data mining em um sistema de informação gerencial para o diagnóstico da formação de professores da graduação. 2005. Dissertação de Mestrado, UFSC, Florianópolis. 2005.

SILVA, M.P.S. Mineração de Dados – Conceitos, Aplicações e Experimentos com Weka. 2004. Mini-Curso de Mineração de Dados – Universidade do estado do Rio Grande do Norte (UERN), Mossoró, RN, 2004.

SILVA, S. G. Estudo de técnicas e utilização de mineração de dados em uma base de dados da saúde pública. 2003. Trabalho de Conclusão (Graduação) – Curso Superior de Tecnologia em Informática , Universidade Luterana do Brasil, Canoas, 2003.

SILVEIRA, R. F. 2003. Mineração de dados aplicada a definição de índices em sistemas de raciocínio baseado em casos. Dissertação (pós-graduação) – Universidade Federal do Rio Grande do Sul. Curso de Pós-Graduação em Web Sistemas de Informação, Porto Alegre. 2003.

SULIMAN JR., Alberto; SOUZA, Jano Moreira. Prospecção de Conhecimento em Banco de Dados. Developers Magazine, Rio de Janeiro, Ano 1, Nº 6, p. 38-39, fev., 1997.

ROMÃO, W. Descoberta de Conhecimento Relevante em Banco de Dados sobre Ciência e Tecnologia. Trabalho de Pós-Graduação. Florianópolis-SC : UFSC, 2002.

TENÒRIO JR, N.N. Análise de desempenho das funções de avaliação de um algoritmo genérico aplicado ao processo de KDD. 2001. Trabalho de Pós-Graduação, UFSC, Florianópolis. 2001.

WANGENHEIN, C. G. e WANGENHEIN, A. V. Raciocínio Baseado em Casos. São Paulo: Manole, 2003.

Page 74: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

65

ZAMBERLAM, Alexandre de Oliveira ; WIVES, L. K. ; GOULART, R. R. V. ; SILVEIRA, R. . A IA entrando na quadra de vôlei: scout inteligente. Hífen, Uruguaiana, v. 1, 2005. Disponível em: <http://www.rodrigo.goulart.nom.br/publicacoes/zamberlam2005.pdf>. Acesso em: 10 maio 2007.

Page 75: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

66

APÊNDICES

Page 76: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

A MODELAGEM DO SISTEMA

A.1 CASOS DE USO

A modelagem dos casos de uso deste projeto está dividida em dois pacotes: Controle de

Acesso e Operações. A Figura 29 apresenta o relacionamento entre os mesmos.

Figura 29. Diagrama de Pacotes dos Casos de Uso.

A.1.1 Pacote 01: Controle de acesso

Este pacote apresenta o caso de uso referente à autenticação do usuário da aplicação. Sendo:

• Usuário: Ator abstrato que representa um Operador que interage com o sistema.

Figura 30. Casos de Uso do Pacote Controle de Acesso.

A.1.1.1 UC01. 01 - Efetua Login

Caso de uso responsável pela autenticação do usuário:

Page 77: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

68

Relações

• RF01: O sistema deverá permitir autenticação de usuário;

• RNF04: A autenticação dos usuários deverá ser realizada através de uma senha padrão;

Condições

• Pré Condição: O usuário deve estar cadastrado no sistema; e

• Pós Condição: Um usuário está autenticado no sistema.

Cenários

Fluxo Principal: Efetua login

1. O sistema apresenta uma tela solicitando o login e a senha do usuário. (TEL01);

2. O usuário preenche os dados (login/senha);

3. O usuário solicita a confirmação de identidade;

4. O sistema valida o login e a senha fornecidos; e

5. O sistema apresenta a tela principal com o menu de opções(TEL02).

Fluxo de Exceção 1: Campos obrigatórios

Se no passo 3 o login e/ou a senha estiver(em) em branco, o sistema apresenta mensagem:

“Login e/ou senha em branco” (TEL06) e retorna ao passo 1.

Fluxo de Exceção 2: Dados inválidos

Se no passo 4 o login ou a senha não puderem ser validadas, o sistema apresenta uma

mensagem: “Login ou senha inválidos!” (TEL06) e retorna ao passo 1.

A.1.2 Pacote 02: Operações

Este pacote apresenta os casos de uso referente às operações que podem ser efetuadas no

sistema, além do caso de uso que registra todas as operações efetuadas.

Page 78: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

69

Figura 31. Casos de Uso do Pacote Operações.

A.1.2.1 UC02. 01 – Atualiza DataWarehouse

Caso de uso responsável pela atualização do data warehouse.

Relações

• RF02: O sistema deverá permitir consultar a base de dados do sistema de informação da

academia; e

• RF03: O sistema deverá permitir a atualização do Data Warehouse.

Condições

• Pré Condição: O usuário deve estar autenticado no sistema.

Cenários

Fluxo Principal: Atualiza data warehouse

1. Usuário seleciona o botão atualizar data warehouse. (TEL-002);

2. O sistema apresenta mensagem de confirmação (TEL-006);

3. O usuário confirma; e

4. O sistema apresenta a tela principal (TEL-002).

Page 79: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

70

Fluxo de Exceção 1: Erro de execução

Se no passo 2, o sistema apresentar uma mensagem de erro "verifique a conexão com o

banco de dados" (TEL006),o usuário confirma e o sistema apresenta a tela principal(TEL-002).

A.1.2.2 UC02.02 – Minera dados

Caso de uso responsável pela mineração de dados.

Relações

• RF04: O sistema deverá permitir a mineração de dados;

• RF05: O sistema deverá permitir salvar em arquivo o conhecimento extraído; e

• RF07: O sistema deverá permitir selecionar diferentes modos de visualização do

conhecimento extraído.

Condições

• Pré Condição: O usuário ter atualizado o data warehouse.

Cenários

Fluxo Principal: Minera dados

1. Usuário seleciona o tipo de tarefa para mineração;

2. Usuário seleciona variáveis para utilizar no processo de mineração; e

3. O sistema apresenta o conhecimento extraído na caixa de texto.

Fluxo Alternativo 1: Salvar arquivo

1. O usuário seleciona a opção salvar arquivo;

2. O sistema salva o arquivo e apresenta uma mensagem de confirmação (TEL-006); e

3. O usuário confirma e fecha a tela de mensagens.

Fluxo de Exceção: Erro em salvar o arquivo

Page 80: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

71

No passo 1, caso o usuário não tenha efetuado a mineração, o apresenta mensagem "Não é

possível salvar o arquivo, efetue a mineração"(TEL006) e retorna ao passo 1.

Fluxo Alternativo 2: Visualizar

1. O usuário seleciona a opção visualizar;

2. O sistema apresenta a tela de visualização com suas opções (TEL-004);

3. O usuário seleciona o tipo de visualização; e

4. O sistema apresenta a visualização selecionada.

Fluxo de Exceção: Erro em visualizar o arquivo

No passo 1, caso o usuário não tenha efetuado a mineração, o apresenta mensagem "Não é

possível visualizar, efetue a mineração"(TEL006) e retorna ao passo 1.

A.1.2.3 UC02. 03 – Visualiza dados

Caso de uso responsável pela visualização do conhecimento extraído.

Relações

• RF06: O sistema deverá permitir selecionar arquivos de histórico de extração de

conhecimento para visualização; e

• RF07: O sistema deverá permitir selecionar diferentes modos de visualização do

conhecimento extraído;

Condições

• Pré-Condição: O usuário efetuado a mineração de dados, e/ou salvado um arquivo

obtido pelo processo de mineração.

Cenários

Fluxo Principal: Visualiza conhecimento

1. Usuário seleciona opção de visualização;

Page 81: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

72

2. Usuário seleciona opção visualizar; e

3. O sistema apresenta em forma de árvore o conhecimento extraído.

Fluxo Alternativo 1: Abrir arquivo

1. Usuário seleciona opção abrir arquivo;

2. O sistema abresenta uma caixa de seleção de arquivo;

3. Usuário seleciona arquivo;

4. O sistema valida o arquivo;

5. Usuário seleciona opção de visualização;

6. Usuário seleciona opção visualizar; e

7. O sistema apresenta em forma de árvore o conhecimento extraído.

Fluxo de Exceção: Arquivo inválido

No passo 3, se o usuário selecionar um arquivo inválido, o sistema apresenta uma mensagem

de erro " arquivo inválido"(TEL006) e retorna ao passo 1.

Page 82: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

73

ANEXOS

Page 83: Área de Inteligência Artificial por Marlon Kleinschmidt ...siaibib01.univali.br/pdf/Marlon Kleinschmidt.pdf · CURSO DE CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS PARA AVALIAÇÃO

74

I MODELO ENTIDADE RELACIONAMENTO

Modelo entidade relacionamento do banco de dados do sistema de informação da academia

da UNIVALI.