Post on 25-Jan-2019
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
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
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
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
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í
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
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
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.
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.
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.
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
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.
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.
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
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.
7
No Capítulo 4, Conclusões, é apresentada a conclusão deste projeto, descreve sobre os
resultados obtidos, problemas encontrados, objetivos conquistados, dentre outros.
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.
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.
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:
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.
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).
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.
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;
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.
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.
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.
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
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
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;
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.
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).
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
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.
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).
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
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).
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).
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.
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.
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.
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.
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).
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.
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.
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.
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
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.
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.
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.
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.
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
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
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.
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.
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
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.
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.
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.
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).
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).
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
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
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.
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).
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.
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.
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
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:
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%.
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.
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.
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.
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.
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.
66
APÊNDICES
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:
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.
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).
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
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;
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.
73
ANEXOS
74
I MODELO ENTIDADE RELACIONAMENTO
Modelo entidade relacionamento do banco de dados do sistema de informação da academia
da UNIVALI.