82
CENTRO UNIVERSITÁRIO FEEVALE ÉMERSON BUTZEN PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL Novo Hamburgo, novembro de 2008.

PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

Embed Size (px)

DESCRIPTION

Sistemas de Apoio a Decisão, normalmente utilizados em empresas no processo de tomada de decisão, também são utilizados em equipes de voleibol e/ou em outros esportes, com a finalidade de gerar melhores resultados. Nesse universo de equipes esportivas, foram elaborados sistemas estatísticos de monitoramento de desempenho de atletas e de equipes, também conhecidos como sistemas de scout, permitindo às comissões técnicas decidirem sobre treinamentos, estratégias de jogo e táticas sobre jogadas. Contudo, a quantia de informações (precisas e/ou desnecessárias) é mesmo assim enorme, deixando o processo de decidir bastante empírico, ou seja, dependente da experiência do técnico ou de algum integrante da comissão técnica. A mineração de dados (data mining) entra nesse campo com o intuito de descobrir informações mais precisas, evitando assim informações desnecessárias. Dessa forma, o objetivo deste trabalho é realizar a análise e o projeto de um módulo de data mining para o sistema de scout do projeto de pesquisa “A IA entrando na quadra de vôlei: Scout Inteligente”.

Citation preview

Page 1: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

CENTRO UNIVERSITÁRIO FEEVALE

ÉMERSON BUTZEN

PROPOSTA DE UM MÓDULO DE DATA MINING PARA

SISTEMA DE SCOUT NO VOLEIBOL

Novo Hamburgo, novembro de 2008.

Page 2: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

ÉMERSON BUTZEN MARQUES

PROPOSTA DE UM MÓDULO DE DATA MINING PARA

SISTEMA DE SCOUT NO VOLEIBOL

Centro Universitário Feevale

Instituto de Ciências Exatas e Tecnológicas

Curso de Sistemas de Informação

Trabalho de Conclusão de Curso

Professor Orientador: Alexandre de Oliveira Zamberlam

Novo Hamburgo, novembro de 2008.

Page 3: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

AGRADECIMENTOS

Gostaria de agradecer a todos os que, de alguma

maneira, contribuíram para a realização desse

trabalho de conclusão, em especial:

Meu pai, José Jorge Marques da Silveira, que

foi quem me ensinou a nunca desistir, minha

mãe, Teresinha Dolores Butzen Marques, pela

dedicação aos filhos, meu orientador,

Alexandre de Oliveira Zamberlam, que me

auxiliou de maneira única para a realização

deste projeto, a minha namorada, Mônica

Reichert, pelo incentivo a crescer sempre e

paciência em alguns momentos, ao meu amigo

Rafael Arnold pela oportunidade que me

indicou, aos amigos tricolores (Hoff, Minuzzo e

Thiago), aos demais amigos e pessoas que

convivem comigo, minha sincera gratidão, pelo

apoio em todos os períodos do trabalho.

Obrigado pela confiança.

Page 4: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

RESUMO

Sistemas de Apoio a Decisão, normalmente utilizados em empresas no processo de

tomada de decisão, também são utilizados em equipes de voleibol e/ou em outros esportes,

com a finalidade de gerar melhores resultados. Nesse universo de equipes esportivas, foram

elaborados sistemas estatísticos de monitoramento de desempenho de atletas e de equipes,

também conhecidos como sistemas de scout, permitindo às comissões técnicas decidirem

sobre treinamentos, estratégias de jogo e táticas sobre jogadas. Contudo, a quantia de

informações (precisas e/ou desnecessárias) é mesmo assim enorme, deixando o processo de

decidir bastante empírico, ou seja, dependente da experiência do técnico ou de algum

integrante da comissão técnica. A mineração de dados (data mining) entra nesse campo com o

intuito de descobrir informações mais precisas, evitando assim informações desnecessárias.

Dessa forma, o objetivo deste trabalho é realizar a análise e o projeto de um módulo de data

mining para o sistema de scout do projeto de pesquisa “A IA entrando na quadra de vôlei:

Scout Inteligente”.

Palavras-chave: Sistemas de Apoio a Decisão. Mineração de Dados. Sistema de

Monitoramento de Desempenho. Scout Voleibol.

Page 5: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

ABSTRACT

Decision Support Systems, normally used in companies in the making decisions

process, also are used in volleyball teams and/or in other sports, with the aim to get better

results. In this universe of sport teams, statistics systems of performance tracking of athletes

and of teams were prepared, also known like scout (Scout Systems), allowing to the technical

committees decide about training, game strategies and tactical moves. However, the amount

of information (precise and/or unnecessary) is, anyway, enormous, letting the decision

process a lot empirical, in other words, dependent on the couch experience or on any other

person of the technical committee. The data mining gets into this field with the purpose of

discovering precise information, avoiding unnecessary information. This way, the goal of this

study is to perform the analysis and the project of a data mining module to the scout system of

the research project “The IA getting into the volleyball court: Intelligent Scout”.

Key words: Decision Support Systems. Data Mining. Statistics Systems of Performance

Tracking of Athletes. Scout Volleyball.

Page 6: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

LISTA DE FIGURAS

Figura 1.1 – Etapas que precedem a aplicação de técnicas de Mineração de Dados ............... 17

Figura 1.2 – Árvore de Decisão de classificação de grau ......................................................... 24

Figura 1.3 – Exemplos de diferentes esquemas ........................................................................ 25

Figura 1.4 – Aproveitamento de Saque (Atleta/Tempo de Jogo) ............................................. 28

Figura 2.1 – Figura da tabela de análise estatística dos fundamentos de voleibol. .................. 34

Figura 3.1 – Esquema geral do scout inteligente ...................................................................... 40

Figura 3.2 – Modelagem do banco de dados do sistema scout................................................. 41

Figura 3.3 – Modelagem do banco de dados alterada .............................................................. 42

Figura 3.4 – Diagrama de Atividade do sistema scout de Raimann (2008) ............................. 43

Figura 3.5 – Mapa Conceitual do Fundamento Saque.............................................................. 44

Figura 3.6 – Mapa Conceitual dos Fundamentos Defesa/Passe ............................................... 45

Figura 3.7 – Mapa Conceitual dos Fundamentos Levantamento ............................................. 45

Figura 3.8 – Mapa Conceitual dos Fundamentos Cortada........................................................ 46

Figura 3.9 – Mapa Conceitual dos Fundamentos Bloqueio...................................................... 46

Figura 3.10 – Diagrama de Caso de Uso geral ......................................................................... 50

Figura 3.11 – Diagrama de Caso de Uso geral do módulo de Mineração de Dados ................ 51

Figura 3.12 – Diagrama de Atividade referente a gerar dados para análise ............................. 53

Figura 3.13 – Diagrama de Atividade referente a selecionar dados gerados para análise ....... 55

Figura 3.14 – Diagrama de Atividade referente a aplicar técnicas de mineração de dados ..... 57

Figura 3.15 – Diagrama de Classes referente a integração do módulo MD e o WEKA .......... 59

Figura 3.16 – Diagrama de Seqüência referente ao caso de uso UC001 (Gerar Dados para

Análise) ..................................................................................................................................... 60

Figura 3.17 – Diagrama de Seqüência referente ao caso de uso UC002 (Selecionar Dados

Gerados para Análise) .............................................................................................................. 60

Page 7: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

Figura 3.18 – Diagrama de Seqüência referente ao caso de uso UC002 (Selecionar Dados

Gerados para Análise) .............................................................................................................. 61

Figura 4.1 – Protótipo da tela inicial do módulo de mineração de dados................................. 65

Figura 4.2 – Protótipo da tela de geração de dados para o módulo de MD .............................. 65

Figura 4.3 – Protótipo da tela de selecionar dados gerados para análise.................................. 66

Figura 4.4 – Protótipo da tela de aplicar técnicas de mineração de dados ............................... 66

Figura 4.5 – Modelagem do Data Mart .................................................................................... 67

Figura 4.6 – Figura apresenta o código fonte da classe de integração ClusteringEM .............. 69

Figura 4.7 – Figura apresenta o código fonte da classe de integração ClusteringFarthestFirst 70

Figura 4.8 – Figura apresenta o arquivo ARFF submetido ao algoritmo EM do WEKA ........ 71

Figura 4.9 – Figura apresenta o resultado da aplicação do algoritmo EM do WEKA ............. 72

Figura 4.10 – Figura do arquivo ARFF submetido ao algoritmo FarthestFirst do WEKA ...... 73

Figura 4.11 – Figura mostra o resultado da aplicação do algoritmo FarthestFirst do WEKA . 73

Figura Apêndice 1 – Função SQL do PostgreSQL para geração de dados no DataMart ........ 81

Figura Apêndice 2 – Função SQL do PostgreSQL que gera o arquivo para o relatório de

agrupamento de atletas por efeito de fundamento .................................................................... 82

Figura Apêndice 3 – Função SQL do PostgreSQL que gera o arquivo para o relatório de

agrupamento de atletas por posição e efeito de fundamento .................................................... 82

Page 8: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

LISTA DE TABELAS

Tabela 1.1 – Jogos de jogadores e aproveitamento do fundamento bloqueio .......................... 21

Tabela 1.2 – Classificação de dados do grau ............................................................................ 23

Tabela 1.3 – Simples exemplo de agrupamento de informação ............................................... 24

Tabela 1.4 – Aproveitamento de Saque (Atleta/Tempo de Jogo)............................................. 27

Page 9: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

LISTA DE QUADROS

Quadro 3.1 – Caso de Uso Gerar Dados para Análise.............................................................. 51

Quadro 3.2 – Caso de Uso Selecionar Dados Gerados para Análise ....................................... 53

Quadro 3.3 – Caso de Uso Aplicar Técnicas de Mineração de Dados ..................................... 55

Page 10: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

LISTA DE ABREVIATURAS E SIGLAS

MD Mineração de Dados

DM Data Mining

DCBD Descoberta de Conhecimento em Base de Dados

KDD Knowledge Discovery in Databases

OLAP On-Line Analytic Processing

SGBD Sistema de Gerenciamento de Banco de Dados

Page 11: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

SUMÁRIO

INTRODUÇÃO ...................................................................................................................... 13

1 MINERAÇÃO DE DADOS ................................................................................................ 16 1.1 O processo de mineração de dados ................................................................................ 17

1.1.1 Definição do problema ........................................................................................ 18

1.1.2 Coleta dos dados .................................................................................................. 18

1.1.3 Pré-processamento dos dados .............................................................................. 19 1.1.4 Especificação do possível método ....................................................................... 20 1.1.5 Interpretação e análise dos dados produzidos pelo método ................................. 20

1.2 Principais métodos de mineração de dados ................................................................... 21 1.2.1 Regras de Associação (Association Rules) .......................................................... 21

1.2.2 Classificação (Classification) .............................................................................. 22 1.2.3 Agrupamento (Clustering) ................................................................................... 24 1.2.4 Dados em séries temporais (Time-Series Data) ................................................... 26

1.2.5 Padrões seqüenciais (Sequential Patterns) .......................................................... 29

1.3 Ferramentas de Mineração de Dados ............................................................................ 30

1.3.1 WEKA ................................................................................................................. 30 1.3.2 RapidMiner .......................................................................................................... 31

2 SCOUT .................................................................................................................................. 33 2.1 Trabalho Correlato - Advanced Scout: Data Mining and Knowledge Discovery in NBA

Data 36 2.2 Utilização de técnicas de KDD em um call center ativo ............................................... 37

3 A PROPOSTA DE MÓDULO DE MINERAÇÃO .......................................................... 39 3.1 Especificação dos requisitos .......................................................................................... 47

3.1.1 Requisitos funcionais ........................................................................................... 47 3.1.2 Requisitos não funcionais .................................................................................... 48

3.2 Casos de Uso ................................................................................................................. 49

3.2.1 Diagrama de Casos de Uso .................................................................................. 50

3.2.2 Casos de Uso Estendidos ..................................................................................... 51

3.3 Diagrama de Classes ...................................................................................................... 58 3.4 Diagrama de Seqüência ................................................................................................. 60

4 PROTÓTIPO DO MÓDULO DE MINERAÇÃO DE DADOS ...................................... 62 4.1 Linguagem de Programação .......................................................................................... 62 4.2 Sistema de Gerenciamento de Banco de Dados ............................................................ 63 4.3 Ferramenta para Administração do PostgreSQL ........................................................... 64 4.4 Modelagem do Módulo de Mineração de Dados .......................................................... 64

Page 12: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

4.5 Protótipo do Módulo de Mineração de Dados ............................................................... 64 4.6 Preparação dos Dados Mineração de Dados ................................................................. 67

4.7 Classes de integração Módulo com o WEKA ............................................................... 68 4.8 Resultados ...................................................................................................................... 70

CONCLUSÃO ......................................................................................................................... 75

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 77

APÊNDICES ........................................................................................................................... 80

Page 13: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

INTRODUÇÃO

Na atualidade, os sistemas de informação são requisitos básicos para a tomada de

decisão automatizada, pois o processo decisório apóia-se na malha de sistemas de informação

de uma organização (BINDER, 1994). A importância da informação nas organizações

aumenta de acordo com o crescimento da complexidade da sociedade e das organizações, ou

seja, em todos os níveis organizacionais a informação é um recurso fundamental (FREITAS et

al, 1997).

Há muito tempo, existe a preocupação de como a informação é processada, pois

segundo Martin (1984), há muitas situações em que os gestores não recebem a informação de

que necessitam dos seus diversos sistemas. Binder (1994) alega que em um ambiente

propício, a informática torna-se útil no processo de tomada de decisão, possibilitando

obtenção de dados com melhor qualidade. Freitas (1997) afirma que a forma com que a

informação é trabalhada deve ser observada, pois não pode haver risco que um usuário,

envolvido em processo decisório, receba “ruídos” em sua informação. A partir dessas

afirmações, deve-se saber distinguir o que são dados e o que são informações.

De acordo com (DAVIS; OLSON, apud FREITAS, 1997) os dados são a matéria

prima da informação, são grupos de símbolos não aleatórios que representam quantidades,

ações, objetos, etc. Ainda, segundo o mesmo autor, a informação é um dado que foi

processado de uma forma significativa para o usuário e seu valor é real ou percebido no

momento, ou em ações prospectivas nas decisões.

Binder (1994) aponta que a atividade máxima de um líder é a tomada de decisão.

Esse é o momento onde se demonstra toda sua capacidade de direcionar sua equipe e sua

razão de ser dentro de uma organização. A tomada de decisão consiste, basicamente, na

Page 14: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

14

escolha de uma opção entre diversas alternativas existentes, seguindo determinados passos

previamente estabelecidos e culminando na resolução ou não de problema.

Na gestão de um time de voleibol, a todo o momento, a partir de uma quantidade

diversificada de informações, decisões importantes devem ser tomadas. Decidir onde um

jogador deve sacar, qual sua posição na quadra oferece maior rendimento, qual jogador

substituir e por quem, que tipo de treinamento deve ser realizado para apurar um atleta e/ou a

equipe toda (treino de fundamentos de voleibol, posicionamento, jogadas, saque, etc), enfim,

qual a melhor estratégia ou quais táticas utilizar são situações as quais uma comissão técnica

de voleibol deve estar atenta (ZAMBERLAM et al., 2005).

Por isso, existem sistemas estatísticos que auxiliam nessa tarefa, conhecidos como

scout. São sistemas que capturam e processam informações estatísticas de desempenho dos

atletas da equipe e da equipe adversária. Porém, eles não levam em consideração o histórico

do jogador de toda uma temporada (comportamento do atleta em outros jogos) e o contexto de

uma partida de vôlei, ou seja, o comportamento do atleta nos diferentes níveis da partida. Um

set (parte de uma partida) de vôlei possui basicamente três níveis. O terceiro nível, próximo

do final, é o de maior tensão em que o físico e o emocional do atleta devem estar ajustados.

Dessa forma, os sistemas atuais, simplesmente, repassam dados para a comissão, que avalia

essa gama diversificada referente aos fundamentos básicos do vôlei e/ou jogadas realizadas

pela equipe adversária, num tempo extremamente reduzido e toma decisões relacionadas com

aqueles dados relatados. Decisões muitas vezes baseadas mais no conhecimento empírico do

técnico ou da comissão do que no fator racional real daquela situação (ZAMBERLAM et al.,

2005).

A mineração de dados, ou data mining, entra nesse contexto para oferecer um

ambiente propício e dados confiáveis, pois através dela, existe o processo de seleção, de

exploração e de modelagem de dados em grande escala (GIUDICI, 2003).

O projeto de pesquisa “A IA entrando na quadra de vôlei: Scout Inteligente”

(ZAMBERLAM et al., 2005) busca mostrar que equipes de voleibol não são diferentes no que

diz respeito ao processo de tomada de decisão, em que a comissão técnica está

constantemente monitorando os jogadores e seu desempenho, a fim de decidir a melhor tática

ou estratégia de jogo ou de treinamento. Sua proposta tem como foco descrever como técnicas

de Inteligência Artificial, que combinam agentes inteligentes e mineração de dados, podem

Page 15: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

15

ser utilizadas para auxiliar a comissão técnica. Esse projeto tem como objetivo final projetar e

construir um sistema de observação inteligente para a gestão de equipes de voleibol, a fim de

manipular e produzir conhecimentos específicos de forma quantitativa e qualitativa para o

processo de decisão, reduzindo assim o fator empírico e o tempo das decisões.

Surge então este trabalho, como parte do projeto de pesquisa acima citado. Portanto,

através da base de dados do sistema de scout, projetado por Raimann (2008), também parte

desse projeto, foi realizada a aplicação de técnicas de data mining. Os resultados foram

analisados e a técnica de data mining escolhida foi a de agrupamento. Espera-se, assim,

auxiliar professores e profissionais de Educação Física no ensino de gestão de equipes, bem

como a gestão de jogadores e tipos de treinamentos.

O trabalho foi dividido em quatro capítulos, sendo que o primeiro trata sobre

Mineração de Dados, mostrando as principais técnicas e aplicações. O segundo aborda o

scout, ou seja, o sistema de avaliação de desempenho de atletas, apresentando o que é esse

sistema, quais suas finalidades e como é utilizado geralmente, também foram encontrados

alguns trabalhos correlatos nesse capítulo. No terceiro capítulo, apresenta-se a proposta de

módulo de data mining em um sistema de scout. O quarto capítulo apresenta o protótipo do

módulo, e a aplicação da técnica de agrupamento através de dois de seus algoritmos.

Finalmente, as considerações finais e as referências bibliográficas.

Page 16: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

1 MINERAÇÃO DE DADOS

A grande quantidade de dados armazenados em bancos de dados na atualidade é um

problema de muitas empresas. Esse problema gera muitas dificuldades para organizações em

geral, desde a aquisição de servidores que suportem a maior demanda de processamento,

passando por unidades de armazenamento enormes à dificuldade em obter informações

precisas. Dados de um relatório de 2003 apontam uma população de 6,3 bilhões de pessoas, e

que cada pessoa produz 800 megabytes por ano (CHARLES et al., 2003). Dentro desse

panorama existem tecnologias que podem fazer de um grande banco de dados uma fonte de

informações até então desconhecidas, obtendo assim uma vantagem competitiva. Uma dessas

tecnologias é a Mineração de Dados (MD), também conhecida como Data Mining (DM).

De acordo com o dicionário de Ferreira (1988), mineração significa exploração de

minas, a exploração de minas remete ao ato de descobrir preciosidades da Terra, assim a

mineração de dados busca essas preciosidades na forma de informação. Para Giudici (2003), a

associação de dados com essa palavra sugere uma pesquisa em profundidade para encontrar

informações adicionais que, anteriormente passaram despercebidas na massa de dados

disponíveis. O mesmo autor aponta que o termo mineração de dados foi formalizado por

Usama Fayyad, em 1995, na Primeira Conferência Internacional de Descoberta de

Conhecimento e Mineração de Dados em Montreal. Esse evento é considerado uma das

principais conferências sobre o tema.

Segundo Feldens et al. apud Wives (2004) a mineração de dados é uma etapa do

processo de Descoberta do Conhecimento em Banco de Dados (DCBD) mais conhecido por

Knowledge Discovery in Databases (KDD). Em (GOEBEL; GRUENWALD, apud WIVES,

2004) também é observado que muitas vezes o termo mineração de dados é utilizado como

sinônimo para todo o processo de descoberta de conhecimento, entretanto ela é a etapa mais

importante, respondendo por 15 a 25 por cento do processo de descoberta. Cabena et al. apud

Page 17: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

17

Gonchoroski (2007) aponta que a mineração de dados é o processo de extrair informações

válidas antes desconhecidas, de grandes bases de dados, auxiliando em decisões cruciais no

mundo dos negócios.

Para isso, data mining utiliza-se de técnicas ou algoritmos de áreas como

Aprendizado de Máquinas, Estatística, Redes Neurais, Algoritmos Genéricos, etc (ELMASRI;

NAVATHE, 2005). O mesmo autor aponta que a mineração de dados apóia o conhecimento

indutivo, descobrindo novas regras e padrões nos dados minerados. Para Kantardzic (2003),

os dois primeiros objetivos da mineração de dados são: a predição e a descrição. A predição

utiliza algumas variáveis ou campos de um conjunto de dados para prever valores

desconhecidos ou futuros de outras variáveis de interesse. A descrição concentra-se em

encontrar padrões nos dados que possam ser interpretados por humanos.

Como a mineração de dados é uma parte do processo de Descoberta do

Conhecimento em Banco de Dados, as etapas (Figura 1.1) devem ser realizadas antes de

aplicar-se alguma técnica de data mining. Conforme Bramer (2007), os dados possivelmente

vêm a partir de muitas fontes, esses dados devem ser integrados e/ou coletados e armazenados

em lugar comum. O próximo passo é a preparação dos dados, então é aplicada alguma técnica

de mineração de dados, que produz uma saída na forma de regras ou em algum tipo de padrão.

Figura 1.1 – Etapas que precedem a aplicação de técnicas de Mineração de Dados

Fonte: Adaptado de BRAMER, 2007

Essas regras ou padrões são também conhecidos como modos de descoberta, os mais

conhecidos são a descoberta de regras de associação, classificação, agrupamento, padrões

seqüenciais e padrões em séries temporais.

1.1 O processo de mineração de dados

Para Kantardzic (2003) o processo de mineração de dados é composto por cinco

fases. São elas: definição do problema; seleção e coleta dos dados; pré-processamento dos

Page 18: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

18

dados; especificação de possível método; interpretação e análise dos dados produzidos pelo

método.

1.1.1 Definição do problema

Segundo Giudici (2003), nem sempre é fácil de definir o fenômeno que se quer

analisar. Os objetivos e o problema da empresa ou equipe que são passados são claros, mas os

problemas subjacentes podem ser difíceis de traduzir em objetivos a serem analisados.

Kantardzic (2003) aponta que a grande maioria das bases de dados existentes é específica para

os seus sistemas, o que requer experiência e domínio de um perito. Uma declaração clara do

problema e os objetivos a atingir são os pré-requisitos para a criação da análise correta. Pode-

se utilizar, como exemplo no voleibol, os excessivos erros do fundamento saque, quando

realizada a análise dos dados, pode-se concluir que o destino/alvo do saque tem sido sempre o

mesmo, assim a comissão técnica interage com os jogadores para que mudem o destino/alvo

de seu saque. Nesse caso, fica explícito a definição do problema - “porque erramos os

saques”. Sendo assim, os estatísticos e os mineradores de dados (data miners) sabem onde

devem atuar - nos dados do fundamento saque, e extrair o máximo de informações possíveis

para a comissão técnica.

1.1.2 Coleta dos dados

A principal preocupação dessa etapa é a forma como os dados são gerados e/ou

coletados. Em geral, dá-se de duas maneiras distintas: a primeira é quando o processo está

sobre o domínio de um perito, em que o mesmo realiza a coleta; a segunda possibilidade é

quando o perito não pode influenciar o processo de geração de dados. Essa é conhecida como

a abordagem observacional, e dados podem ser perdidos (KANTARDZIC, 2003). Um

exemplo pode ser visto no próprio voleibol, quando vários scouters1 utilizam bases

independentes em seus laptos. Essas bases devem ser integradas para gerar a informação

correta. Nesses casos, a mineração é normalmente aplicada após os jogos.

1 Responsável em realizar o scout.

Page 19: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

19

1.1.3 Pré-processamento dos dados

Giudici (2003) divide essa tarefa em duas etapas. A primeira é composta por seleção,

organização e tratamento inicial dos dados. Nessa etapa são identificadas as fontes de dados,

em que o ideal é que seja um armazém de dados (data warehouse) histórico que não esteja

sujeito a mudanças, facilitando a coleta de dados. Nela, também é necessária uma limpeza

preliminar nos dados. A segunda etapa contém a análise de dados e posterior transformação.

Aqui, é desenvolvida uma análise exploratória dos dados semelhante a técnicas de OLAP,

uma análise inicial da importância dos dados pode levar a uma transformação das variáveis

originais para melhor compreender o fenômeno, ou que pode levar a métodos estatísticos em

que satisfaçam objetivos específicos iniciais. Giudici (2003) afirma que é fundamental essa

fase, pois permite ao analista prever métodos estatísticos que possam ser mais adequados na

próxima fase. Utilizando-se do exemplo anterior (voleibol e bases independentes em

notebooks), uma base de dados tem várias entidades: Clube; Cidade; Equipe; Jogador;

JogadorPartida; Sets; JogoSetRotacao; Movimento; Evento; Saque; etc, Nesse caso eliminar

entidades como Cidade e Clube e dados sobre ex-atletas da entidade Jogador seria

interessante. Os demais dados podem ser armazenados em um data warehouse, eliminando-se

possíveis “ruídos” na informação que será gerada pela mineração de dados.

1.1.3.1 Armazém de Dados (Data Warehouse)

O armazém de dados é uma coleção de dados orientada por assunto, integrada, não

volátil, variante no tempo, que dá apoio às decisões. Proporciona acesso aos dados para uma

análise complexa, descoberta de conhecimento e tomada de decisão (ELMASRI; NAVATHE,

2005).

Além do Data Warehouse existe o Data Mart (mercado de dados), que normalmente

é uma parte extraída do Data Wharehouse. O Data Mart é uma base de dados temática

originalmente orientada para o campo do marketing (GIUDICI, 2003). O escopo é confinado

aos assuntos específicos selecionados (HAN; KAMBER, 2006).

Um Data Mart pode ser criado (em algumas situações com certa dificuldade) mesmo

quando não há nenhum sistema de armazém de dados (Data Warehouse) integrado. A criação

de estruturas de dados temáticos como Data Marts representa o primeiro e movimento

fundamental para um ambiente informativo para a atividade da mineração de dados

(GIUDICI, 2003).

Page 20: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

20

1.1.3.2 Processamento Analítico On-Line (OLAP)

De acordo com Barbieri apud Wagner (2008), o termo OLAP (On-line Analytical

Processing), traduzido para Processamento Analítico On-line, representa essa característica de

se trabalhar os dados, com operadores dimensionais, possibilitando uma forma múltipla e

combinada de análise. Elmasri e Navathe (2005) apontam que OLAP é a análise de dados

complexos a partir de um armazém de dados.

Han e Kamber (2006) sugerem a utilização dessas três tecnologias conjuntas,

afirmando que o armazém de dados pode ser empregado para a descoberta do conhecimento e

a tomada de decisão usando ferramentas da mineração de dados. Sendo necessário assim três

tipos de aplicações do armazém de dados: processamento de informação, processamento

analítico (OLAP) e mineração de dados.

1.1.4 Especificação do possível método

A escolha do método depende do problema a ser estudado ou o tipo de dados

disponíveis. Os métodos utilizados podem ser classificados de acordo com o objetivo da

análise (GIUDICI, 2003). Esse processo não é simples, a aplicação é baseada em vários

métodos. Os principais métodos ou técnicas (descritos no capítulo 1.2) e a seleção dos

melhores é uma tarefa adicional (KANTARDZIC, 2003). Um possível método a ser utilizado

num módulo de Data Mining para scout de Vôlei é o método de agrupamento (Clustering),

aplicado no fundamento saque, em que os dados ficariam agrupados por faixas de

aproveitamento.

1.1.5 Interpretação e análise dos dados produzidos pelo método

O objetivo dos dados obtidos pelo método é ajudar a tomada de decisão. Empresas

ou equipes esportivas possuem peritos que podem analisar se os dados obtidos são ou não

interessantes para o tomador de decisão. Dessa maneira, pode-se descartar um determinado

método que não gerou dados de relativo interesse. Vale observar que os métodos de

interpretação mais fáceis são os métodos com menor precisão.

Finalizada a descrição das fases do processo de mineração de dados, indicadas por

Kantardzic (2003), segue uma contextualização dos principais métodos de mineração.

Page 21: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

21

1.2 Principais métodos de mineração de dados

Os métodos ou técnicas são, na verdade, algoritmos computacionais. Cada um desses

algoritmos tem características particulares, normalmente entradas e saídas específicas

(GONCHOROSKI, 2007). A seguir são apresentados os algoritmos mais utilizados.

1.2.1 Regras de Associação (Association Rules)

O objetivo é encontrar qualquer relação existente entre os valores das variáveis

(BRAMER, 2007). Para Kantardzic (2003), a técnica de regras de associação é uma das

principais técnicas de mineração de dados. Através dela é possível recuperar todos os padrões

interessantes em uma base de dados. A base de dados é uma coleção de transações, no

voleibol é possível elencar características semelhantes que podem ser identificadas através de

regras de associação. A Tabela 1.1 mostra os jogadores em quadra e o aproveitamento da

equipe no fundamento bloqueio.

Tabela 1.1 – Jogos de jogadores e aproveitamento do fundamento bloqueio

IdJogo (Partida) iNumeroCamisetaJogador (em quadra) Bloqueio (Resultado)

1 2, 5, 6, 8, 10, 11 Excelente

1 1, 4, 5, 6, 8, 10 Regular

2 2, 3, 5, 8, 10, 11 Bom

2 1, 3, 4, 8, 9, 11 Péssimo Fonte: AUTOR, 2008

Uma regra de associação é da forma X => Y, onde X = {x1, x2,..., xn} e Y = {y1,

y2,..., ym} são conjuntos de itens com xi e yi sendo distintos para todo i e todo o j. Essa

associação estabelece que quando o jogador X estiver escalado, ele estará propenso a jogar

com o Jogador Y. Caso este também estiver escalado na mesma equipe ou da equipe

adversária, um determinado bloqueador escalado para bloquear específico atacante.

Normalmente essas regras de associação têm a forma LME (lado da mão esquerda) e LMD

(lado da mão direita), cada uma formando um conjunto de itens. Quando LME une-se a LMD

(LME LMD) tem-se o conjunto-item, que é, no exemplo do voleibol, o conjunto de todos

os jogadores escalados. Para descobrir interesses nessa regra, ela precisa satisfazer algumas

medidas, as mais comuns fornecem suporte e confiança (ELMASRI; NAVATHE, 2005).

O suporte para a regra LME => LMD refere-se à freqüência que ela ocorre no banco

de dados, ou seja, o percentual de transações que contém todos os itens na própria relação

LME LMD. Se o suporte é baixo, implica que não existe evidência significativa que os

Page 22: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

22

itens LME LMD ocorram juntos. A confiança dessa regra é calculada como o suporte

(LME LMD) / suporte (LMD). Pode-se assim analisar a possibilidade dos jogadores do

LMD sejam escalados juntos, dado que os jogadores do LME também sejam escalados pelo

técnico (ELMASRI; NAVATHE, 2005).

Para exemplificar o suporte e a confiança, considere essas regras: Jogador 10 =>

Jogador 11 e Jogador 8 => Jogador 11. Observa-se na Tabela 1.1 que existem quatro

transações de duas partidas de vôlei: o suporte para {Jogador 10, Jogador 11} é de 50%, e o

suporte de {Jogador 8, Jogador 11} é 75%. Já a confiança de Jogador 10 => Jogador 11 é de

66,7%, ou seja, das três vezes em que o jogador 10 é escalado, duas tem a companhia do

jogador 11, e a confiança do Jogador 8 => Jogador 11 é também de 66,7%.

Pode-se notar que o suporte e a confiança nem sempre são proporcionais. A meta

para as regras de associação é gerar todas as possíveis regras que excedam a especificação do

usuário garantindo suporte e confiança acima do limite definido (ELMASRI; NAVATHE,

2005). O principal algoritmo de regras de associação é o algoritmo Apriori.

1.2.2 Classificação (Classification)

De acordo com Bramer (2007), a classificação é uma das aplicações mais comuns de

mineração de dados. Ela corresponde a uma tarefa que ocorre com freqüência na vida diária

do ser humano. Por exemplo, um hospital pode querer classificar pacientes médicos naqueles

que estão em elevado, em médio ou em baixo risco de adquirir uma determinada doença. Já

uma pesquisa de opinião de votação pode desejar classificar as pessoas entrevistadas naquelas

que tendem a votar em um partido político ou são indecisos. Pode-se desejar classificar um

trabalho de um estudante com a distinção, merecê-lo, passá-lo ou reprová-lo. Apesar de

diferentes todos são exemplos de classificação.

Para Elmasri e Navathe (2005), a classificação é o processo de encontrar um modelo

que descreva classes diferentes de dados. Essas classes são predeterminadas e essa atividade

também é chamada de aprendizado supervisionado. Dado que esse modelo é construído, ele

pode então ser usado para classificar novos dados. A primeira etapa do modelo de

aprendizado é realizada usando um treinamento com um conjunto de dados que já foi

classificado, cada registro de dados desse treinamento possui um atributo, conhecido como

rótulo de classe, indicando a que classe o registro pertence.

Page 23: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

23

O exemplo a seguir mostra uma situação típica (Figura 1.2). Tem-se uma série de

dados no formulário de uma tabela que contém graus estudantes em cinco disciplinas (os

valores dos atributos TCI, BDII, INOVTEC, GERPROJ e TOPAVA) e em suas classificações

totais do grau. Procura-se encontrar alguma maneira de predizer a classificação para outros

estudantes dados somente sua turma “Perfil”.

Tabela 1.2 – Classificação de dados do grau

TCI BDII INOVTEC GERPROJ TOPAVA TURMA

A B A B B Segunda

A B B B B Segunda

B A A B A Segunda

A A A A B Primeira

A A B B A Primeira

B A A B B Segunda

A A B A B Primeira Fonte: Adaptado de BRAMER, 2007

Segundo Bramer (2007) existem várias maneiras para fazer isto, incluindo as

seguintes:

Vizinho mais próximo de correspondência (Nearest Neighbour

Matching): este método confia em identificar (palavra) os cinco

exemplos que são "mais próximos", em algum sentido a um não

classificada. Se os cinco "mais próximos vizinhos" têm graus B, A, B, B

e B pode-se concluir razoavelmente que a nova instância deverá ser

classificada como 'Segunda'.

Regras de classificação (Classification Rules): Procura-se as regras que

pode-se predizer a classificação de um exemplo despercebido, segue

exemplos: SE TCI=A E TOPAVA=A ENTÃO TURMA=Primeira, SE

TCI=A E TOPAVA=B E BDII=B ENTÃO TURMA=Segunda ou ainda

SE TCI=B ENTAO TURMA=Segunda;

Árvore da classificação (Classification Tree): uma forma de geração de

regras de classificação é por intermédio de estrutura chamada árvore de

classificação ou de uma decisão árvore, como a seguir:

Page 24: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

24

Figura 1.2 – Árvore de Decisão de classificação de grau Fonte: Adaptado de BRAMER, 2007

1.2.3 Agrupamento (Clustering)

Uma dada população de eventos ou novos itens podem ser particionados

(segmentados) em conjuntos de elementos „padrões‟ (ELMASRI; NAVATHE, 2005). Bramer

(2007) confirma que os algoritmos de agrupamento analisam os dados para encontrar grupos

de itens que são semelhantes. Amostras de agrupamento são representadas como um vetor de

medições, ou, mais formalmente, como um ponto em um espaço multidimensional. As

amostras de um agrupamento válido são mais semelhantes (não necessariamente iguais) entre

si do que as amostras que pertencem a um agrupamento diferente (KANTARDZIC, 2003).

De acordo com Kantardzic (2003), a técnica de agrupamento é adequada para a

exploração de inter-relações entre as amostras e para fazer uma avaliação preliminar da

estrutura da amostra. A Tabela 1.3 tem um simples exemplo de agrupamento de informação.

São doze atletas distribuídos em três agrupamentos. As características que descrevem esses

atletas são: o aproveitamento em percentual no fundamento bloqueio e o número de bloqueios

realizados.

Tabela 1.3 – Simples exemplo de agrupamento de informação

Agrupamentos Aproveitamento Bloqueios Realizados Atletas

Agrupamento 1

100% 1 Jogador 1

90% 4 Jogador 3

80% 1 Jogador 6

Agrupamento 2

70% 20 Jogador 2, Jogador 9

60% 30 Jogador 4, Jogador5

50% 30 Jogador 8

Agrupamento 3

40% 10 Jogador 7

20% 3 Jogador11

0% 5 Jogador 10, Jogador 12 Fonte: AUTOR, 2008

Page 25: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

25

Pode-se concluir que o Agrupamento 1 tem o melhor aproveitamento, mas

pouquíssimos bloqueios foram efetuados por seus atletas. No Agrupamento 2, existe a melhor

média, pois vários bloqueios foram efetuados. O Agrupamento 3 apresenta atletas que

possivelmente não tenham esse fundamento como principal característica.

Para utilizar a técnica de agrupamento, é necessário um critério objetivo. Para

descrever esse processo é preciso dominar os conceitos básicos e o processo de agrupamento.

A entrada para uma análise de agrupamento pode ser descrita como um par requisitado (X, s),

ou (X, d), onde X é um jogo (descrições das amostras), e s e d são medidas para a

similaridade ou a dissimilaridade (distância) entre amostras, respectivamente. A saída é uma

divisão Λ = {G1, G2,…, GN} onde Gk, k = 1,…, N é um subconjunto cristalino de X tal que G1

G2 ... GN = X, e Gi Gj = , i j. Assim os membros G1, G2,…, GN de Λ são

chamados de agrupamentos. Cada um dos agrupamentos é descrito com algumas

características. Na descoberta, tanto o agrupamento (um conjunto de pontos distintos em X)

quanto suas características, são gerados como resultado de um procedimento de agrupamento

(KANTARDZIC, 2003).

Kantardzic (2003) aponta que a representação da descoberta por agrupamento pode

se dar por diferentes esquemas (Figura 1.3), os mais conhecidos são:

Representar o agrupamento dos pontos em um espaço n-dimensional

(amostras) por seu centróide ou por um conjunto de distantes (fronteira)

pontos em um agrupamento;

Representar graficamente usando um agrupamento de nós em um

agrupamento de árvore;

Representar agrupamentos, usando a expressão lógica de amostra de

atributos.

Figura 1.3 – Exemplos de diferentes esquemas Fonte: KANTARDZIC, 2003

Page 26: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

26

A vasta coleção de algoritmos de agrupamento disponíveis na literatura e os

diferentes softwares confundem os usuários que tentam selecionar aproximações mais

apropriadas para o seu problema. A maior parte dos algoritmos de agrupamento tem por base

as duas seguintes abordagens: agrupamento hierárquico e agrupamento particional iterativo.

As técnicas hierárquicas organizam dados em uma seqüência aninhada dos grupos, que

normalmente são indicados através de uma estrutura de árvore. Já os algoritmos particionais

tentam obter essa divisória que minimiza o espalhamento dentro do agrupamento ou

maximiza o espalhamento entre os agrupamentos. Esses métodos não são hierárquicos porque

todos os agrupamentos resultantes são grupos das amostras no mesmo nível da divisória

(KANTARDZIC, 2003).

1.2.4 Dados em séries temporais (Time-Series Data)

Para Elmasri e Navathe (2005) esses padrões podem ser encontrados em posições de

uma série temporal de dados, que é uma seqüência de dados capturada a intervalos regulares

(segundos, horas, dias, semanas, etc). Han e Kamber (2006) confirmam dizendo que séries

temporais consistem em seqüências de valores ou medidas repetidas, excessivamente, em

intervalos de tempos. As aplicações mais populares com base de dados de padrões com séries

temporais são as de análise da bolsa de valores, índices econômicos, observação de

fenômenos naturais (tais como a atmosfera, a temperatura, o vento, o terremoto) e

experiências científicas e da engenharia.

Com a distribuição crescente de um grande número de sensores, de dispositivos da

telemetria, e de outras ferramentas de levantamento de dados, a quantidade de dados em séries

temporais está aumentando rapidamente, freqüentemente na ordem dos gigabytes por dia

(como o números de negociações na bolsa de valores) ou por minuto (como de programas do

espaço da NASA). A mineração de dados em séries temporais tem o desafio de analisar tais

números enormes de dados em séries temporais para encontrar os padrões similares ou

regulares, tendências rapidamente ou mesmo responder em tempo real (HAN; KAMBER,

2006).

No vôlei, pode-se analisar o desempenho de atletas pelo tempo de jogo, e analisar

assim qual é o tempo de jogo ideal para ele (período no set ou no jogo todo). Existem atletas

que jogam com um mesmo nível a partida inteira, outros atletas têm um início de alto nível, e

no decorrer da partida o nível cai, mas após o período de estresse, o nível volta a ser bom.

Page 27: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

27

Outros que mantêm um bom nível durante boa parte da partida, mas depois o nível cai e não

retorna mais. Há de se considerar, aqui, também o aspecto emocional de cada atleta, não

apenas os números. Na Tabela 1.4, podem-se ver os dois últimos tipos de atletas citados e

seus desempenhos. Esse é um exemplo ilustrativo apenas, já que em uma situação real o

volume de dados seria muito maior. Pode-se, também, dividir um set em fases (de 0 a 8

pontos, fase um; de 9 a 19, fase dois; e de 20 a 25, fase 3). Nessa divisão é possível perceber

os diferentes comportamentos dos atletas (qualidade da jogada, concentração, obediência

técnica e tática) devido ao aumento do estresse emocional do final do set.

Tabela 1.4 – Aproveitamento de Saque (Atleta/Tempo de Jogo)

Atletas Tempo de Jogo (minutos)

5 min. 10 min. 15 min. 20 min. 30 min. 40 min. 60 min.

Jogador 01 100 % 80 % 70 % 60 % 40 % 50 % 80 %

Jogador 02 60 % 60 % 60 % 70 % 70 % 70 % 65 %

Fonte: AUTOR, 2008

Em geral, são dois os objetivos na análise de séries temporais: modelagem das séries

temporais (isto é, ganhar uma visão sobre os mecanismos subjacentes ou forças que geram as

séries temporais), e previsão de séries temporais (isto é, predizer os futuros valores do tempo

de séries de variáveis), as técnicas mais usadas são a análise de tendências e a pesquisa por

semelhança (HAN; KAMBER, 2006).

No voleibol, a análise de tendência parece ser a mais atrativa, já que a partir dos

dados históricos é possível traçar tendências de jogadas de equipes adversárias, e analisando

os dados da Tabela 1.4, pode-se visualizar a tendência de aproveitamento dos atletas

conforme o tempo de jogo. Segundo Han e Kamber (2006) uma série temporal que envolve

uma variável Y, representando, por exemplo, o aproveitamento de uma atleta ao final de um

set ou partida, pode ser vista em função do tempo t, isto é, Y = F (t). Essa função é ilustrada

como um gráfico de séries temporais, como mostrado na Figura 1.4, que descreve um ponto

em movimento com o passar do tempo.

Page 28: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

28

Figura 1.4 – Aproveitamento de Saque (Atleta/Tempo de Jogo) Fonte: AUTOR, 2008

Han e Kamber (2006) apontam que análise de tendência consiste nos quatro

componentes seguintes ou movimentos para caracterizar dados em uma série temporal:

Tendência ou movimentos em longo prazo: indicam o sentido geral em

que um gráfico de série temporal está se movendo sobre um intervalo

longo do tempo. Esse movimento é indicado por uma curva da

tendência, ou por uma linha da tendência. Por exemplo, a curva da

tendência de Figura 1.4 é indicada por uma curva tracejada. Os métodos

típicos para determinar uma curva da tendência ou uma linha da

tendência incluem o método de médias móveis e o método dos mínimos

quadrados;

Movimentos cíclicos ou variações cíclicas: consultam as oscilações em

longo prazo sobre uma linha ou uma curva da tendência, que possam ou

não possam ser periódicas. Isto é, os ciclos não necessitam

necessariamente seguir exatamente testes padrões similares após

intervalos iguais do tempo;

Movimentos sazonais ou variações sazonais: são sistemáticos ou

relacionados ao calendário. Os exemplos incluem os eventos que

retornam anualmente, como o aumento repentino nas vendas dos

chocolates e das flores antes do dia de namorados ou aumento observado

Page 29: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

29

no consumo da água no verão devido ao calor. Nesses exemplos, os

movimentos sazonais são os testes padrões idênticos ou quase idênticos

que uma série de tempo parece seguir durante meses correspondentes de

anos sucessivos;

Movimentos irregulares ou aleatórios: caracterizam o movimento

esporádico da série de tempo devido à aleatoriedade, tais como disputas

trabalhistas e as inundações fazem parte desde tipo.

Para a análise no vôlei, a utilização do primeiro movimento já proporciona

resultados, pois através dos resultados das médias móveis já se observa a tendência de

desempenho futura.

1.2.5 Padrões seqüenciais (Sequential Patterns)

Elmasri e Navathe (2005) apontam que a técnica de padrões seqüenciais é a

investigação de seqüências de ações ou eventos. Han e Kamber (2006) escrevem que é uma

técnica desafiadora, pois pode gerar e/ou testar um número combinatório explosivo de

seqüências intermediárias. Para Sumathi e Sivanandam (2006), essa técnica tem algumas

similaridades com a técnica de regras, a diferença é que faz exame da dimensão seqüencial

dos dados analisados. O problema de mineração de dados em padrões seqüenciais foi

introduzido pela primeira vez por Agrawal e Srikant, em 1995, com base no seu estudo de que

cliente compra em seqüência. Segue um exemplo: dada uma relação de seqüências, em que

cada seqüência consiste em uma lista dos eventos (ou dos elementos) e cada evento consiste

em um conjunto de artigos. E dado um ponto inicial mínimo, especificado pelo usuário, da

sustentação do limite mínimo, os achados seqüenciais da mineração do teste padrão

freqüentam subseqüências, isto é, as subseqüências cuja freqüência da ocorrência na relação

das seqüências não é nenhum menos do que limite mínimo (HAN; KAMBER, 2006).

Esse problema foi motivado inicialmente por aplicações na indústria do comércio e

varejo, e de satisfação de cliente. Mas os resultados aplicam-se a muitos domínios científicos

e de negócio. Por exemplo, no domínio médico, uma seqüência dos dados pode corresponder

aos sintomas ou às doenças de um paciente, com uma transação que corresponde aos sintomas

exibidos ou às doenças diagnosticadas durante uma visita ao médico. Os testes padrões

Page 30: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

30

descobertos usando os dados poderiam ser usados na pesquisa da doença ajudar identificar os

sintomas/doenças que precedem determinadas doenças (SUMATHI; SIVANANDAM, 2006).

No voleibol, essa técnica pode ser utilizada para identificar o comportamento padrão

de ataque ou defesa de equipes adversárias. Existem casos em que equipes têm jogadas

prontas, principalmente por características e/ou limitações técnicas de seus atletas. Essas

jogadas podem dar resultados positivos sempre que bem efetuadas, mas se a outra equipe

identificar esse padrão de jogo durante a partida, pode se beneficiar e ganhar a partida, pois

estaria anulando a jogada de seu adversário. Mas muitas vezes não é identificada essa

seqüência padrão de acontecimentos. Para exemplificar uma seqüência de jogada padrão:

equipe A saca, jogador seis da equipe B recepciona e passa para jogador três de sua equipe,

que levanta para o jogador cinco que efetua a cortada. Na próxima jogada tem-se a recepção

do jogador cinco, que passa para o jogador três e recebe o levantamento para a cortada. Mais

uma jogada, mas agora quem recepciona é o jogador dois que passa para o jogador três que

levanta para o jogador cinco cortar. Já é possível perceber uma seqüência padrão nessas

jogadas. Toda vez que o jogador três receber a bola, ele levantará sempre, ou na grande

maioria, para o jogador cinco fazer a cortada. Utilizando a técnica de padrões seqüências, esse

comportamento padrão seria percebido no resultado da mineração. O suporte de confiança ou

limite mínino especificado pela comissão técnica, nesse caso poderia ser: “jogador cinco

recebe mais de dois levantamentos do mesmo jogador três”.

1.3 Ferramentas de Mineração de Dados

Existem várias ferramentas de Mineração de Dados, as duas ferramentas escolhidas

foram o WEKA e o RapidMiner, nas próximas duas seções são abordados mais detalhes de

cada uma dessas ferramentas.

1.3.1 WEKA

Desenvolvido na Univesidade de Waikato, o WEKA (Waikato Enviroment

Knowledge Analysis) é uma coleção de algoritmos da aprendizagem de máquina para tarefas

de mineração de dados. Esses algoritmos podem ser aplicados diretamente a uma série de

dados ou serem chamados de seu próprio código Java. O WEKA contém ferramentas para o

pré-processamento dos dados, a classificação, a regressão, o agrupamento, as regras da

associação e visualização, é também bem adequado para o desenvolvimento de novos

Page 31: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

31

sistemas de aprendizagem. Através da interface gráfica chamada Explorer é possível com

facilidade utilizar todas as funções através de menus de seleção. Por exemplo, é possível

rapidamente ler uma série de dados de dentro um arquivo e construir uma árvore de decisão

(decision tree) dessa série de dados, mas árvore de decisão é apenas o começo: há muitos

outros algoritmos disponíveis a explorar (WITTEN; FRANK, 2005).

Para trabalhar as séries de dados, recomenda-se que converta a série em arquivos do

formato ARFF (Attribute-Relation File Format). Esse formato é um arquivo texto composto

por três partes: relação, atributos e dados. Outra característica do WEKA é sua portabilidade

para outras aplicações Java através de suas classes (SANTOS, 2005).

O WEKA tem sido usada em diversos trabalhos. Podem-se citar os trabalhos de

Gonchoroski (2007) e Wagner (2008), por ter explorado os principais algoritmos e técnicas de

mineração de dados.

1.3.2 RapidMiner

RapidMiner (anteriormente Yale) é um ambiente para aprendizagem de máquina e do

processo de mineração de dados desenvolvido na Universidade de Dortmund. O RapidMiner

introduz novos conceitos de manipulação de dados transparente e modelagem do processo que

facilitam a configuração do processo para usuários finais (MIERSWA et al., 2006).

Segundo Coelho (2008), sua operação se dá por processos, isto significa que, para

realizar uma classificação de dados nesta ferramenta, é necessário incluir operadores para

cada processo que antecede a tarefa final desejada, sendo que alguns operadores possuem

parâmetros configuráveis. A lista de operadores, sua seqüência de execução e parâmetros são

armazenados em um arquivo XML para edição. O RapidMiner conta com diversos operadores

para as mais diversas finalidades de mineração de dados.

Mierswa et al. (2006) aponta que é muito simples alcançar os dados de um SGBD

como Oracle, Microsoft SQL Server, PostgreSQL ou MySQL. O RapidMiner suporta uma

escala larga desses sistemas sem nenhum esforço adicional.

Após essa breve conceituação e caracterização da mineração de dados, suas técnicas

e algumas ferramentas, chama a atenção que não existe uma técnica que seja melhor que

outra. É através da sua aplicação aos problemas que se terá uma avaliação de qual se encaixa

Page 32: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

32

melhor ao problema definido. No caso de um sistema de scout, não é diferente, devem ser

aplicadas técnicas, a fim de analisar os resultados, para definir a melhor técnica. No próximo

capitulo apresenta-se alguns conceitos e características dos sistemas scout.

Page 33: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

2 SCOUT

A informática está presente, cada dia mais, nas vidas das pessoas. Como não podia

ser diferente, está presente no esporte, onde existem sistemas de avaliação de desempenho de

atletas que são normalmente chamados por scout. Esse tipo de sistema, como apresentado na

Introdução, tem como função capturar e processar informações estatísticas de desempenho

dos atletas da equipe e da adversária, e que, em muitas vezes, não levam em consideração o

histórico do jogador em outros jogos e nem o comportamento do atleta nos diferentes

níveis/fases da partida. Dessa forma, os sistemas repassam dados para a comissão, que avalia

essa gama diversificada referente aos fundamentos básicos do vôlei e/ou jogadas realizadas

pela equipe adversária, num tempo reduzido e toma decisões muitas vezes baseadas mais no

conhecimento empírico do técnico ou da comissão do que no fator racional real daquela

situação (ZAMBERLAM et al., 2005).

Bizzocchi apud (RAIMANN, 2008) aponta que nos jogos olímpicos de 1984, os

norte-americanos foram os responsáveis pela inclusão do computador na quadra de voleibol,

tornando-se obrigatório também para treinamentos e elaboração de planos táticos e técnicos.

A seleção brasileira de vôlei, comandada pelo técnico Bernardo Rezende

(Bernardinho), utiliza-se dos dois scouts: tático e técnico. O tático faz um mapeamento da

quantidade, do percentual e do tipo de jogadas do time adversário; analisa tendências dos

atletas (direções, preferências e posicionamentos). O scout técnico analisa o próprio time,

como cada atleta se comporta em cada fundamento, qual seu aproveitamento final. Isso

possibilita, por exemplo, elaborar quadros evolutivos de saque de um determinado atleta

(BERNARDINHO, 2006). A planilha, encontrada na Figura 2.1, foi apresentada pelo técnico

da seleção brasileira, com o objetivo de exemplificar a utilização da análise estatística nos

jogos da seleção. Essa planilha apresenta os dados coletados durante os Jogos Olímpicos,

Page 34: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

34

realizado na Grécia, na data do dia 29 de agosto de 2004. O jogo em questão foi à final dos

Jogos Olímpicos, realizado entre Brasil e Itália.

Figura 2.1 – Figura da tabela de análise estatística dos fundamentos de voleibol.

Fonte: BERNARDINHO, 2006

Esses dados são coletados durante a partida por um ou mais scouters. Antes da

informática, os scouters coletavam esses dados em planilhas manuais, analisando os jogos

gravados em fitas de vídeo (VHS). Atualmente, os sistemas scouts permitem o armazenando

desses dados durante a partida, o processo de coleta de dados (ao longo do jogo) é difícil, pois

a velocidade com que um jogo de vôlei transcorre é alta, então é normal que contenham erros

em seqüências de jogadas. Alguns sistemas scouts possuem regras que não permitem erros

primários, por exemplo, depois de um saque ocorrer um levantamento da equipe adversária

sem ocorrer uma recepção.

De posse dos dados, os estatísticos das equipes começam a fazer os estudos para

apresentarem para suas comissões técnicas, emitindo, assim, relatórios estatísticos à comissão

técnica, que por sua vez faz uma análise empírica em cima dos dados que a mesma considera

importantes. No “calor” de uma partida, dados podem ser interpretados de maneira

equivocada, proporcionando tomadas de decisões equivocadas. Esses estudos são realizados

antes, durante e após a partida (RAIMANN, 2008).

Bernardinho (2006) aponta que ao analisar a Figura 2.1, a relação total de saques-

errados / saques-pontos tem um saldo muito positivo, pois a equipe teve 10 saques errados,

mas, fez nove aces (pontos obtidos direto do saque). Avaliando a coluna bloqueio (BLOK), é

possível distinguir entre bloqueio-ponto (BP) e bloqueio para contra-ataque (BC), ou seja,

aqueles que propiciam contra-ataques são bloqueios defensivos extremamente importantes. É

muito freqüente, durante os jogos, ocorrerem um número pequeno de BP, mas um número

Page 35: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

35

elevado de BC. São avaliados ainda os passes, a qualidade de cada ação e a proporção de

passes acertos (PA), ditos perfeitos sobre o total de ações, Bernardinho (2006) afirma que as

colunas de contra-ataque mostram talvez o ponto menos eficiente do jogo. Do total de contra-

ataques (29), 14 foram convertidos em pontos, ou seja, 48% de aproveitamento. Observa-se

também a grande atuação do atleta Gustavo, camisa 13, com 100% de aproveitamento. A

coluna E aponta erros cometidos sem relação com as ações anteriormente avaliadas: mão na

rede, dois toques, etc. Já a coluna APV mede o aproveitamento individual de cada jogador:

pontos efetuados – pontos concedidos.

Além do sistema da seleção brasileira, que foi criado pela estatística Roberta Giglio,

existem outros sistemas scouts. Os mais conhecidos, de acordo com Raimann (2008), são:

Scout Graph 1.0: sistema scout proprietário da empresa SFW

Informática tem como funções armazenar dados de jogos específicos e

gerar relatórios para uma análise mais precisa de cada equipe, atleta ou

fundamento, é um sistema portável a outros esportes como futebol,

futebol de salão, basquete, voleibol e handebol;

SisVolei: sistema scout proprietário e através dele é possível analisar

todos os fundamentos do vôlei, sendo eles: saque, passe (recepção),

levantamento, ataque, bloqueio e defesa, é voltado ao voleibol apenas;

Data Volley: sistema scout proprietário desenvolvido pela empresa

DataProject permite monitorar todos os fundamentos do voleibol, com

uma avaliação completa, que inclui, além do sentido, o tipo de ataque e

as zonas de partida e de chegada, até mesmo, informações específicas

como o número de jogadores em bloco e o tipo de erro, além disso,

possui integração com outros sistemas da empresa como o Data Video

2007 que permite sincronizar, o scout com o filme do jogo, facilitando

assim o estudo e entendimento dos atletas, apresentando

posicionamentos em função das possíveis alterações de jogadores da

equipe adversária. A maioria das grandes seleções de vôlei utiliza esse

sistema.

Page 36: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

36

Raimann (2008) aponta como clara a importância dos Sistemas de Monitoramento

para auxiliar na tomada de decisão quando aplicada a esportes como o vôlei. Por exemplo,

jogadas velozes combinadas com boa tática, posicionamento correto e análise do adversário,

podem ser decisivos para a vitória do jogo e até mesmo do campeonato.

O scout desenvolvido por Raimann (2008) tem as seguintes características: não é um

sistema proprietário, possui cadastro de jogos, cadastro de sets, cadastro de rotação inicial do

set, o módulo de entrada de dados de um jogo, em que os fundamentos são cadastrados na

forma de caracteres. Com a finalidade de tornar mais rápida a entrada de dados, foi proposta

uma gramática para análise de comandos suprindo as necessidades de velocidade no cadastro

das jogadas. A gramática de comandos foi criada de forma a ser mais completa, mas para o

sistema scout aborda somente a entrada de dados relativa aos fundamentos do voleibol.

Enfim, após a descrição de um sistema scout, segue a apresentação de um sistema

scout (para o basquete) que se utiliza da mineração de dados.

2.1 Trabalho Correlato - Advanced Scout: Data Mining and Knowledge

Discovery in NBA Data

Em (BHANDARI et al.,1997), é apresentado o software Advanced Scout (AS). Esse

sistema procura e descobre padrões interessantes em dados de jogos da NBA (liga norte-

americana de basquete). Sua primeira utilização se deu na temporada 1995-1996, onde

dezesseis das vinte e nove equipes o receberam para avaliação. As comissões técnicas o

avaliaram positivamente, afirmando ser uma valiosa ferramenta. Esse software trabalha em

quatro etapas: coleta de dados, pré-processamento, mineração de dados e interpretação do

conhecimento descoberto.

A coleta de dados é feita por um software especialmente desenhado para o registro

de dados de basquete. Esses dados são armazenados em uma base de dados comum a todas as

equipes. Posteriormente, as equipes realizam o download dessa base de dados e a manipulam

de forma independente e sigilosa.

O pré-processamento é feito após o download da base de dados. O AS permite

realizar uma série de consistências na base de dados, visto que informações errôneas

permitiriam interpretações erradas dos dados, assim os dados errados são corrigidos por meio

de regras base ou através de alguém que tenha domínio do assunto. Após a consistência, os

Page 37: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

37

dados são transformados e reformatados. Os dados brutos são reformatados na forma de

fichas de jogo, que são familiares para as comissões técnicas que, assim, analisam os eventos

discretos (padrões) de um jogo. Nessa fase os dados são enriquecidos através da verificação

das regras ou da entrada de dados adicionais.

A mineração de dados no AS ocorre quando um membro da comissão técnica inicia

uma consulta geral. Automaticamente a mineração de dados procura por padrões interessantes

na equipe da casa ou na visitante, em busca dos arremessos à cesta de basquete (um dos

fundamentos do basquete, por exemplo), detectando o percentual padrão de desempenho

(aproveitamento). As análises posteriores podem incluir consultas mais específicas em torno

de atributos (como por exemplo, o jogador, a função do jogador, lado da quadra, etc.) ou

fundamentos particulares (rebote, arremesso, etc.). A técnica de mineração de dados utilizada

no AS é conhecida como Attribute Focusing (AF) (BHANDARI, 1995).

A interpretação do conhecimento descoberto é a forma como o resultado da

mineração de dados é mostrada. No AS, os resultado são vistos de duas formas: através de

uma descrição textual ou gráfica. O objetivo é que os resultados sejam compreendidos

facilmente pela comissão técnica. O processo de interpretação de padrões representa a

descoberta de conhecimento e exige, normalmente, alguém que tenha domínio do assunto.

Essa interpretação é facilitada pela possibilidade do usuário ter várias formas de aprofundar a

análise interativamente para obter informações adicionais ao resultado.

A seguir, a descrição de um trabalho, fora do domínio de sistemas de scout, mas que

colaborou na realização deste trabalho.

2.2 Utilização de técnicas de KDD em um call center ativo

O Trabalho de Conclusão de Curso apresentado por Gonchoroski (2007), mostrou

que o fato de Call Center não possuir nenhuma técnica de mineração de dados pode significar

um mau aproveitamento dos dados disponíveis. Uma vez que o emprego de mineração

confirmou a existência de informações importantes que não estavam disponíveis na

visualização dos dados, que dizem respeito à relação entre as características dos clientes e o

resultado do contato. Como são vários os fatores que influenciam as vendas, é importante a

combinação de mais de uma característica do cliente, e isso pode ser fundamental para definir

o perfil da pessoa que mais adquire produtos.

Page 38: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

38

O foco da aplicação das técnicas de Descoberta de Conhecimento em Base de Dados

(DCBD) ou Knowledge Discovery in Databases (KDD) desse trabalho foi a venda de títulos

de capitalização, pois é grande quantidade de atributos presentes em cada registro de cliente a

ser contatado, crescendo a possibilidade de aumentar o grau de qualidade e diversidade das

informações geradas. A técnica de KDD escolhida foi a de classificação. As árvores de

classificação tornaram possível organizar os atributos e a relação entre eles, para os contatos

com venda ou recusa. O software de mineração utilizado foi WEKA versão 3, que possui

todas as funcionalidades necessárias para aplicar KDD e dar todo o suporte para que os dados

sejam minerados. A aplicação de técnicas de KDD permitiu conhecer os perfis dos

compradores em potencial dos produtos, possibilitando unir o conhecimento adquirido pelos

analistas de informações da empresa de telemarketing e o conhecimento descoberto com a

mineração, auxiliando a seleção mais eficiente dos prospectos, aumentando as vendas e

reduzindo a quantidade de contatos telefônicos com os clientes.

Após apresentar esses trabalhos correlatos mostrando a influência da Data Mining

sobre os Sistemas de Tomada de Decisão, no próximo capítulo é apresentada a proposta de

um Módulo de Data Mining para o sistema scout de Raimann (2008).

Page 39: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

3 A PROPOSTA DE MÓDULO DE MINERAÇÃO

Um sistema scout, como já escrito, é um sistema estatístico de monitoramento de

atletas, auxiliando em decisões importantes na gestão de equipes. Entretanto, a quantidade de

informações continua muito grande, deixando o processo de decidir dependente da

experiência do técnico ou de algum integrante da comissão técnica.

Solieman (2006) aponta que há igualmente muitos tipos de estatísticas que são

recolhidas para cada atleta. Por exemplo, um jogador de basquetebol terá dados para pontos,

rebotes, assistências, roubadas e bloqueios para cada jogo. Isso pode conduzir à sobrecarga de

informação para aqueles que tentam derivar o significado das estatísticas. Assim, os esportes

são ideais para ferramentas e técnicas da mineração de dados.

A vantagem para equipes esportivas quando utilizam a mineração de dados está no

desempenho resultante de suas equipes e respectivos jogadores. Alguns esportes são

atualmente mais avançados do que outros, em especial no caso do voleibol e de seu uso atual

da análise estatística.

Por isso, surge a idéia deste trabalho - desenvolver um módulo de mineração de

dados para o sistema: “Scout: Sistema de Monitoramento em Equipes de Voleibol”

desenvolvido por Raimann (2008), parte integrante do projeto de pesquisa “A IA entrando na

quadra de vôlei: Scout Inteligente” (ZAMBERLAM, 2005). Para facilitar a visualização, a

Figura 3.1 ilustra o que está sendo realizado e como o módulo de mineração fará parte do

sistema scout.

Page 40: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

40

Figura 3.1 – Esquema geral do scout inteligente

Fonte: ZAMBERLAM, 2005

O módulo de mineração interage com a base de dados, destacado com círculo na

Figura 3.1, fornecendo informações mais precisas à comissão técnica, evitando assim o uso de

complicadas planilhas, pois existem grandes dificuldades nas leituras dessas planilhas. Os

dados que são inseridos não passam por nenhuma filtragem, não “saltam” aos olhos os

problemas ou as vantagens das equipes na partida.

Na Figura 3.2 é possível visualizar parte da estrutura do banco de dados do sistema

de scout desenvolvido por Raimann (2008), a fim de ilustrar em quais dados a mineração

deverá atuar. Para armazenar os dados de maneira mais eficiente, foram feitas algumas

alterações na base de dados original. As alterações foram a inclusão do campo Tempo na

tabela de Movimento, para saber em qual momento do jogo ocorreu o movimento; a outra foi

a inversão das cardinalidades entre as tabelas Movimento e Evento, onde um movimento terá

N eventos até a conclusão do ponto. E entre tabelas Evento, Saque, DefesaPasse,

Levantamento, Cortada e Bloqueio, onde cada evento representa um fundamento até a

conclusão do movimento. Essa alteração pode ser vista na Figura 3.3.

Page 41: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

41

Figura 3.2 – Modelagem do banco de dados do sistema scout

Fonte: RAIMANN, 2008

Page 42: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

42

Figura 3.3 – Modelagem do banco de dados alterada

Fonte: Autor, 2008

Page 43: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

43

Através dessa estrutura do banco de dados, é possível perceber a quantidade de dados

que uma partida de voleibol pode gerar. Por meio do diagrama de atividade apresentado na

Figura 3.4, pode-se visualizar como o sistema de scout se comporta.

Figura 3.4 – Diagrama de Atividade do sistema scout de Raimann (2008)

Fonte: Autor, 2008

De forma simplificada, pode-se dizer que o processo de scout de uma partida

propriamente dito, inicia a partir do cadastro de jogos, para cada jogo são cadastrados todos os

jogadores (duas equipes por partida) que ficarão disponíveis para a disputa. O próximo passo

Page 44: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

44

é cadastrar os sets e quais serão os fundamentos (saque, bloqueio, etc.) que serão analisados.

Ao inicializar cada set são informados os jogadores que entram em quadra. Esse é o cadastro

de rotação inicial, também deve ser sinalizado qual é o jogador sacador, é por meio desses

dados que será controlada a rotação do jogo, que é realizada automaticamente pelo sistema. A

partir desse ponto, os scouters (pessoas que ficam na quadra cadastrando cada jogada e

substituições ocorridas durante a partida) dão a entrada de dados do jogo.

Conforme Raimann (2008), esses dados são gravados na forma de caracteres, com o

objetivo de tornar mais rápida a entrada de dados. Cada fundamento e sua seqüencia de

caracteres são separados por ponto e vírgula. Abaixo é descrito e ilustrado a seqüência de

fundamentos executados em uma partida e como os dados devem ser inserido dentro do

sistema scout de Raimann (2008).

O fundamento saque armazena: número da camiseta do jogador, posição em que fez

o saque, tipo de saque, direção em que fez o saque, efeito do saque e observações. Na Figura

3.5 é possível visualizar o Mapa Conceitual desse fundamento.

Figura 3.5 – Mapa Conceitual do Fundamento Saque

Fonte: RAIMANN, 2008

Os fundamentos defesa e passe armazenam as seguintes informações: número da

camiseta do jogador, posição em que fez a defesa, tipo de defesa, efeito da defesa e

observações, Figura 3.6 apresenta seu mapa conceitual.

Page 45: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

45

Figura 3.6 – Mapa Conceitual dos Fundamentos Defesa/Passe

Fonte: RAIMANN, 2008

O fundamento levantamento armazena: número da camiseta do jogador, posição em

que fez o levantamento, forma de levantamento, qualidade do levantamento, direção do

levantamento e observações, veja seu mapa conceitual (Figura 3.7).

Figura 3.7 – Mapa Conceitual dos Fundamentos Levantamento

Fonte: RAIMANN, 2008

No fundamento de ataque cortada, os dados são os seguintes: número da camiseta do

jogador, posição em que fez a cortada, direção da cortada, efeito da cortada, velocidade da

cortada e observações, detalhes dos dados Figura 3.8.

Page 46: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

46

Figura 3.8 – Mapa Conceitual dos Fundamentos Cortada

Fonte: RAIMANN, 2008

Fundamento de defesa bloqueio armazena essas informações: número da camiseta do

jogador, posição em que fez o bloqueio, tipo de bloqueio, efeito do bloqueio e observações,

detalhes dos dados Figura 3.9.

Figura 3.9 – Mapa Conceitual dos Fundamentos Bloqueio

Fonte: RAIMANN, 2008

São essas as informações que o módulo de Data Mining vai analisar, pois é através

de dados como o número do jogador que será analisado o desempenho do mesmo em um set

ou em uma partida. A posição de cada fundamento é essencial para analisar as preferências

dos jogadores e também pontos fracos dos mesmos. O efeito é a conseqüência do fundamento,

que é uma numeração de 0 a 3, onde zero é erro do fundamento, gerando assim ponto para o

Page 47: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

47

adversário, 1 continuidade negativa, pois possibilita ao adversário um contra ataque, 2 é uma

continuidade positiva pois gerou dificuldades ao adversário e 3 e ponto direto da equipe.

Alguns fundamentos têm outras informações relevantes, como a direção é comum a

saque, levantamento e cortada. O fundamento de defesa/passe ainda conta com informação

sobre o tipo de defesa/passe. No levantamento a forma e a qualidade são informações

imprescindíveis. Na cortada a velocidade pode ser um fator relevante e no bloqueio seu tipo é

a informação mais importante. Essas informações vão passar por um tratamento, que será a

etapa da preparação de dados que está inserida no capítulo 4.

Uma vez contextualizado os dados a serem manipulados pelo módulo proposto,

seguem os detalhes da modelagem.

3.1 Especificação dos requisitos

De acordo com Guedes (2008); a especificação de requisitos de software contém e

descreve os requisitos, ou seja, define o produto e pode servir como um documento auxiliar

no contrato de desenvolvimento do produto. As seções que seguem, referentes à modelagem,

foram baseadas nas orientações encontradas em (MEDEIROS, 2004).

3.1.1 Requisitos funcionais

Conforme Guedes (2008) os requisitos funcionais são declarações de funções que o

sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve se

comportar em determinadas situações.

REQF1 – [Controlar Acesso ao Sistema]

Requisito corresponde ao controle de acesso às opções do site: caso o usuário esteja

com o status bloqueado ele não terá acesso a nenhuma opção no sistema, é herdado do sistema

proposto por Raimann (2008).

Classificação: Essencial

Page 48: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

48

REQF2 – [Gerar Dados para Análise]

Requisito que corresponde a gerar dados para análise para o módulo de Mineração de

Dados. Deve constar: data e hora da geração dos dados. É através desse requisito que são

executados os primeiros passos da mineração de dados, onde os dados da base de dados

original são selecionados e inseridos no Data Mart, esses dados ganham um código e data e

hora de geração para futuras comparações históricas. Esse procedimento será realizado

através de comandos SQL (select, insert) que serão colocados em uma função do PostgreSQL,

essa executada a partir do site da aplicação.

Classificação: Essencial

REQF3 – [Selecionar Dados Gerados para Análise]

Requisito que corresponde a consultar os dados para análise para o módulo de

Mineração de Dados. Através de uma lista de códigos, data e hora o usuário selecionará a

geração desejada para a mineração de dados.

Classificação: Essencial

REQF4 – [Aplicar Técnicas de Mineração de Dados]

Requisito que corresponde a aplicação das técnicas de mineração de dados na

consulta selecionada no REQF3, esse requisito consiste nos demais passos da mineração de

dados, é nesse requisito que são gerados os arquivos ARFF para serem submetidos às classes

selecionadas do WEKA.

Classificação: Essencial

3.1.2 Requisitos não funcionais

Guedes (2008) afirma que são restrições sobre os serviços ou as funções oferecidas

pelo sistema. Entre eles, destacam-se restrições de tempo, restrições sobre o processo de

desenvolvimento, padrões e outros.

Page 49: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

49

REQNF1 – [Utilização de Banco de Dados Relacional]

Requisito que corresponde a utilização de um banco de dados relacional. Vai manter-

se a utilização do PostgreSQL.

Classificação: Essencial

REQNF2 – [Base de dados Alimentada]

A base de dados do sistema desenvolvido por Raimann (2008) deve estar alimentada

com dados de pelo menos cinco jogos envolvendo uma determinada equipe para que os

resultados da mineração de dados sejam proveitosos efetivamente.

Classificação: Essencial

REQNF3 – [Links/Ícones/Botões para Acesso às Principais Funções]

Requisito corresponde ao acesso às principais funções por meio de links/ícones.

Facilitando assim a utilização do sistema.

Classificação: Essencial

REQNF4 – [Java Virtual Machine]

Requisito corresponde à execução do módulo.

Classificação: Essencial

3.2 Casos de Uso

Para Guedes (2008) é o diagrama mais geral da UML2, utilizado na maioria das

vezes nas fases de levantamento e análise de requisitos do sistema, também é utilizado

durante todo o processo de modelagem e serve como base para outros diagramas, fornecendo

uma compreensão comum entre todos os envolvidos no projeto.

2 UML: Unified Modeling Language ou simplesmente Linguagem de Modelagem Unificada.

Page 50: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

50

3.2.1 Diagrama de Casos de Uso

O diagrama apresenta uma macro atividade do sistema, descrevendo/detalhando as

opções que o sistema disponibilizará. Também busca identificar os atores que executam

atividades, bem como outros sistemas que possam interagir com o sistema. Para Medeiros

(2004) um Ator pode ser uma pessoa, um sistema ou mesmo uma entidade externa.

Na Figura 3.10 é apresentado um diagrama geral do sistema scout e onde o módulo

de Mineração de Dados entra. A Figura 3.11 detalha as opções que o módulo de Mineração,

assim como os Atores que terão interação com o mesmo.

Figura 3.10 – Diagrama de Caso de Uso geral

Fonte: AUTOR, 2008

Page 51: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

51

Figura 3.11 – Diagrama de Caso de Uso geral do módulo de Mineração de Dados

Fonte: AUTOR, 2008

3.2.2 Casos de Uso Estendidos

São utilizados para detalhar de forma mais precisa as interações entre os usuários e o

módulo de mineração de dados. Lembrando que essa estrutura foi baseada em (MEDEIROS,

2004).

UC001 – Gerar Dados para Análise

Breve Descritivo: Este caso de uso descreve o processo de Gerar Dados para

Análise.

Quadro 3.1 – Caso de Uso Gerar Dados para Análise

Requisitos Funcionais: REQF1 – [Controlar Acesso ao Sistema]

Requisitos Não Funcionais: REQNF1 – [Utilização de Banco de Dados Relacional]

REQNF2 – [Base de dados Alimentada]

REQNF3 – [Links/Ícones/Botões para Acesso às

Principais Funções]

Page 52: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

52

REQNF4 – [Java Virtual Machine]

Atores: Usuário Administrador.

Pré-condições: Ser um usuário com permissões de administrador.

Fluxo Principal: O administrador acessa o módulo de mineração de

dados e clica na opção gerar dados para análise.

Campo: data e hora da geração.

Subfluxo:

1. Gerar Dados.

Subfluxos: 1. Gerar Dados:

1.1 O administrador informa a data e a hora da

nova geração;

1.2 O administrador clica no botão/link “Gerar

Dados”;

1.3 O módulo verifica os dados e sugere um código

para a nova geração;

1.4 O módulo executa a função do PostgreSQL

(Figura Apêndice 1) que seleciona os dados na

base de dados original e os insere no Data

Mart, essa etapa no processo de mineração de

dados equivale a preparação dos dados;

1.5 O módulo retorna a mensagem: “Dados

gerados com sucesso.”.

Tratamento de Exceções: 1.3.1 Verifica se os dados foram preenchidos

corretamente. Caso não estejam ele retorna a

mensagem de erro “Dados para geração não

informados.”.

1.3.2 Caso o banco de dados não responda a

requisição ele retorna a mensagem de erro “Banco

indisponível.”.

Pós-condições: Os usuários administrador, scouter, restrito estarão

aptos a consultar os dados gerados para análise.

Fonte: Autor, 2008.

O Diagrama de Atividade referente à gerar dados para análise é apresentado na

Figura 3.12. É importante ressaltar que o uso de diagramas de atividades com casos de usos

estendidos auxilia na validação dos fluxos, subfluxos e exceções descritas nos casos de uso.

Page 53: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

53

Figura 3.12 – Diagrama de Atividade referente a gerar dados para análise

Fonte: AUTOR, 2008

UC002 – Selecionar Dados Gerados para Análise

Breve Descritivo: Este caso de uso descreve o processo de Selecionar Dados

Gerados para Análise.

Quadro 3.2 – Caso de Uso Selecionar Dados Gerados para Análise

Requisitos Funcionais: REQF1 – [Controlar Acesso ao Sistema]

REQF2 – [Gerar Dados para Análise]

Requisitos Não Funcionais: REQNF1 – [Utilização de Banco de Dados Relacional]

Page 54: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

54

REQNF2 – [Base de dados Alimentada]

REQNF3 – [Links/Ícones/Botões para Acesso às

Principais Funções]

REQNF4 – [Java Virtual Machine]

Atores: Usuário Administrador, Scouter e Restrito.

Pré-condições: Ser um usuário cadastrado no sistema.

Ter dados gerados para consulta.

Fluxo Principal: O usuário acessa o módulo de mineração de dados e

clica na opção selecionar dados gerados para análise.

Campos: Data Início e Data Fim

Subfluxo:

1. Consultar Gerações;

2. Selecionar Geração.

Subfluxos: 1. Consultar Gerações:

1.1 O usuário informa a data e hora de início e fim

da geração que deseja realizar análises;

1.2 O usuário clica no botão/link “Consultar

Gerações”;

1.3 O módulo carrega os dados em uma tabela,

listados com o código, data e hora de sua

geração além da coluna selecionado;

2. Selecionar Geração:

2.1 O usuário seleciona a geração desejada

clicando sobre o botão de checagem da coluna

selecionado;

2.2 O usuário clica no botão/link “Salvar

Informações”;

2.3 O módulo grava as informações no banco de

dados;

2.4 O módulo retorna a mensagem: “Dados salvos

com sucesso.”.

Tratamento de Exceções: 1.3.1 e 2.3.1 Caso o banco de dados não responda a

requisição ele retorna a mensagem de erro “Banco

indisponível.”.

Pós-condições: Os usuários estarão aptos a aplicar as técnicas de MD.

Fonte: Autor, 2008.

Figura 3.13 apresenta o diagrama de atividade, a fim de contemplar o caso de uso

estendido.

Page 55: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

55

Figura 3.13 – Diagrama de Atividade referente a selecionar dados gerados para análise

Fonte: AUTOR, 2008

UC003 – Aplicar Técnicas de Mineração de Dados

Breve Descritivo: Este caso de uso descreve o processo de Aplicar Técnicas de

Mineração de Dados.

Quadro 3.3 – Caso de Uso Aplicar Técnicas de Mineração de Dados

Requisitos Funcionais: REQF1 – [Controlar Acesso ao Sistema]

REQF2 – [Gerar Dados para Análise]

Page 56: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

56

REQF3 – [Selecionar Dados Gerados para Análise]

Requisitos Não Funcionais: REQNF1 – [Utilização de Banco de Dados Relacional]

REQNF2 – [Base de dados Alimentada]

REQNF3 – [Links/Ícones/Botões para Acesso às

Principais Funções]

REQNF4 – [Java Virtual Machine]

Atores: Usuário Administrador, Scouter e Restrito.

Pré-condições: Ser um usuário cadastrado no sistema.

Ter selecionado dados para a análise.

Fluxo Principal: O usuário acessa o módulo de mineração de dados e

clica na opção aplicar técnicas de mineração de dados.

Subfluxo:

1. Relatório de Agrupamento de Atletas por Efeito de

Fundamento;

2. Relatório de Agrupamento de Atletas por Posição e

Efeito de Fundamento.

Subfluxos: 1. Relatório de Agrupamento de Atletas por Efeito

de Fundamento:

1.1 Usuário clica no botão/link “Agrupamento de

Atletas por Efeito de Fundamento”;

1.2 O módulo através de uma função do

PostgreSQL (Figura Apêndice 2) gera o

arquivo ARFF e o grava no disco rígido;

1.3 O módulo, através da classe de integração

ClusteringEM carrega o arquivo ARFF e

submete a classe EM do WEKA através do

método buildClusterer, depois o retorno é lido

pela classe de integração através do método

getNumClusters da classe ClusterEvaluation;

1.4 Esse retorno é tratado para que os dados sejam

de fácil entendimento da comissão técnica;

2. Relatório de Agrupamento de Atletas por

Posição e Efeito de Fundamento:

2.1 Usuário clica no botão/link “Agrupamento de

Atletas por Posição e Efeito de Fundamento”;

2.2 O módulo através de uma função do

PostgreSQL (Figura Apêndice 3) gera o

arquivo ARFF e o grava no disco rígido;

2.3 O módulo, através da classe de integração

ClusteringFarthestFirst carrega o arquivo ARFF

e submete a classe FarthestFirst do WEKA

Page 57: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

57

através do método buildClusterer, depois o

retorno é lido pela classe de integração através

dos métodos getNumClusters e toString da

própria classe ClusterEvaluation FarthestFirst;

2.4 Esse retorno é tratado para que os dados sejam

de fácil entendimento da comissão técnica.

Tratamento de Exceções: 1.2.1 e 2.2.1 Caso o banco de dados não responda a

requisição ele retorna a mensagem de erro “Banco

indisponível.”.

Pós-condições: Os usuários administrador, scouter, restrito estarão

aptos analisar relatório das técnicas aplicadas.

Fonte: Autor, 2008.

Figura 3.14 apresenta o diagrama de atividade, como forma de validar o caso de uso

estendido.

Figura 3.14 – Diagrama de Atividade referente a aplicar técnicas de mineração de dados

Fonte: AUTOR, 2008

Page 58: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

58

3.3 Diagrama de Classes

Guedes (2008) aponta que o principal objetivo do diagrama de classes é apresentar

quais classes vão compor o módulo com seus respectivos atributos e métodos, além de

demonstrar como as classes se relacionam. Na seguir (Figura 3.15) é apresentado o diagrama

de classes do módulo proposto.

Page 59: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

59

Figura 3.15 – Diagrama de Classes referente a integração do módulo MD e o WEKA

Fonte: AUTOR, 2008

Page 60: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

60

3.4 Diagrama de Seqüência

Medeiros (2004) afirma que esse diagrama pode ser usado para mostrar a evolução

de uma dada situação em determinado momento do software, mostrar uma dada colaboração

entre as classes e pode, também, ser usado para mostrar a tradução do caso de uso. Enfim, é

através desse diagrama que métodos são definidos e em quais classes eles serão depositados.

A seguir (Figuras 3.16, 3.17 e 3.18) são apresentados os diagramas de seqüência dos

casos de uso apresentados anteriormente.

Figura 3.16 – Diagrama de Seqüência referente ao caso de uso UC001 (Gerar Dados para

Análise) Fonte: AUTOR, 2008

Figura 3.17 – Diagrama de Seqüência referente ao caso de uso UC002 (Selecionar Dados

Gerados para Análise) Fonte: AUTOR, 2008

Page 61: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

61

Figura 3.18 – Diagrama de Seqüência referente ao caso de uso UC002 (Selecionar Dados

Gerados para Análise) Fonte: AUTOR, 2008

Com base nos casos de uso e nos diagramas apresentados é possível iniciar o

desenvolvimento do módulo de mineração de dados, que segue no próximo capítulo.

Page 62: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

4 PROTÓTIPO DO MÓDULO DE MINERAÇÃO DE DADOS

Este trabalho apresenta um projeto de um módulo de mineração de dados. Essa é

mais uma etapa concluída do Projeto de Pesquisa “A IA Entrando na Quadra de Vôlei: Scout

Inteligente”.

4.1 Linguagem de Programação

Para o desenvolvimento do módulo proposto, é recomendada a linguagem de

programação Java 3, pois ela é compatível com os sistemas suporte, pois tanto o sistema scout

de Raimann (2008) quanto o WEKA são sistemas desenvolvidos nessa linguagem.

De acordo com a Sun, as principais qualidades são a versatilidade, eficiência e

portabilidade, permitindo aos desenvolvedores:

Criar um software em uma plataforma e executá-lo em praticamente qualquer

outra;

Criar programas para execução em navegadores e serviços da Web;

Desenvolver aplicativos no lado do servidor usados tanto em fóruns, lojas e

pesquisas on-line, como no processamento de formulários HTML, e muito

mais;

Combinar aplicativos ou serviços usando a linguagem Java para criar

aplicativos ou serviços altamente personalizados;

Criar aplicativos potentes e eficazes para telefones celulares, processadores

remotos, produtos de consumo de baixo custo e praticamente qualquer outro

dispositivo com tecnologia digital.

3 http://java.sun.com

Page 63: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

63

Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:

Sintaxe similar a Linguagem C/C++;

Facilidades de Internacionalização: Suporta nativamente caracteres Unicode;

É distribuída com um vasto conjunto de bibliotecas ou APIs;

Possui facilidades para criação de programas distribuídos e multitarefa;

Desalocação de memória automática por processo de coletor de lixo, Garbage

Collector.

O tipo de aplicação, web ou desktop, deverá ser definida após uma melhor análise do

tempo de processamento dos algoritmos de mineração de dados, os ensaios feitos durante esse

trabalho tiveram uma quantidade de dados muito pequena.

Caso aplicação seja web, deverá ser instalado um servidor de aplicação, o mais

conhecido é o Apache Tomcat4, esse servidor é distribuído como software livre e

desenvolvido como código aberto dentro do conceituado projeto Apache Jakarta e

oficialmente endossado pela Sun como a Implementação de Referência (RI) para as

tecnologias Java Servlet e Java Server Pages (JSP).

A ferramenta para o ambiente de desenvolvimento do modulo é o Eclipse IDE5 para

Java. É um ambiente de desenvolvimento integrado de código aberto para a construção de

programas de computador. É mantida atualmente pela Eclipse Foundation6.

4.2 Sistema de Gerenciamento de Banco de Dados

Como Sistema de Gerenciamento de Banco de Dados Objeto-Relacional foi utilizado

o PostgreSQL 8.3.37, pois é Open Source. Foi desenvolvido pela PostgreSQL Global

Development Group8 e possui a característica de ser multiplataforma.

O PostgreSQL possui alguns recursos como:

Consultas complexas;

Chaves estrangeiras;

4 http://tomcat.apache.org/download-60.cgi#6.0.16

5 http://www.eclipse.org/

6 http://www.eclipse.org/org/foundation/

7 http://www.postgresql.org/docs/

8 http://www.postgresql.org/

Page 64: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

64

Integridade transacional;

Controle de concorrência multi-versão;

Suporte ao modelo híbrido objeto-relacional;

Trigger;

Views;

Stored Procedures em várias linguagens.

4.3 Ferramenta para Administração do PostgreSQL

Como ferramenta de administração e manipulação de dados, foi utilizado o SQL

Manager for PostgreSQL 4.4.0.69 da EMS

10, contudo essa ferramenta não é livre, mas permite

avaliação por trinta dias. Seu diferencial são os inúmeros recursos facilitadores para o

desenvolvimento, gerenciamento e manipulação de dados.

4.4 Modelagem do Módulo de Mineração de Dados

Utilizou-se a UML 2.0 como linguagem de modelagem dos aspectos estruturais e

funcionais do modulo proposto. Optou-se por UML pela característica flexível e por ser uma

linguagem gráfica.

Foi utilizado o JUDE Community 5.3.2811

, que é uma ferramenta para modelagem,

devido a sua característica de software livre.

4.5 Protótipo do Módulo de Mineração de Dados

O protótipo do sistema foi baseado nos requisitos apresentados no capítulo 3 item 3.1

e nos casos de uso descritos no item 3.2.

A seguir são apresentados os protótipos das telas do módulo. Esses protótipos foram

desenvolvidos utilizando a tecnologia ASP.net da Microsoft por causa de sua fácil

manipulação com componentes web. A seguir (Figura 4.1) a tela inicial do módulo.

9 http://sqlmanager.net/products/postgresql/manager/

10 http://sqlmanager.net/en/about

11 http://jude.change-vision.com/jude-web/product/community.html

Page 65: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

65

Figura 4.1 – Protótipo da tela inicial do módulo de mineração de dados

Fonte: AUTOR, 2008.

Tela de geração de dados para o módulo de mineração de dados.

Figura 4.2 – Protótipo da tela de geração de dados para o módulo de MD

Fonte: AUTOR, 2008.

Page 66: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

66

A próxima tela que permite o usuário selecionar os dados desejados para aplicação

das técnicas de mineração de dados e posterior análise.

Figura 4.3 – Protótipo da tela de selecionar dados gerados para análise

Fonte: AUTOR, 2008.

A seguir a tela referente à aplicação das técnicas de mineração de dados.

Figura 4.4 – Protótipo da tela de aplicar técnicas de mineração de dados

Fonte: AUTOR, 2008.

Page 67: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

67

Além da prototipação das telas, também foram desenvolvidas algumas etapas da

mineração de dados, parte do processo para que o módulo seja integrado ao WEKA.

4.6 Preparação dos Dados Mineração de Dados

Após os ajustes feitos na base de dados do sistema scout de Raimann (2008)

ilustrado na Figura 3.3 do capítulo 3, foram simulados alguns sets para que houvesse dados

para que fossem elaborados os procedimentos de mineração de dados. As informações

armazenadas na base de dados do sistema scout são preparadas e carregadas em um Data

Mart. Esse Data Mart é estruturado para unir os dados dos fundamentos, possibilitando assim

uma melhor visão dos dados que serão submetidos a Mineração de Dados como pode ser visto

na Figura 4.5.

Figura 4.5 – Modelagem do Data Mart

Fonte: AUTOR, 2008

Após a criação desse Data Mart e da função apresentada na Figura Apêndice 1, é

possível popular com os dados inseridos na base original do sistema scout de Raimann (2008).

Além dessa função, foram criadas outras duas funções que geram os arquivos ARFF para cada

uma das técnicas selecionadas para os experimentos. Essas funções são apresentadas nas

Figuras Apêndice 2 e 3. O próximo passo é criação das classes de integração para que o

módulo possa comunicar-se diretamente com o WEKA.

Page 68: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

68

4.7 Classes de integração Módulo com o WEKA

A responsabilidade dessas classes é comunicar os arquivos ARFF gerados pelas

funções citadas anteriormente com o WEKA, sem que o usuário tome conhecimento, sendo

assim um processo transparente.

Após a aplicação de três técnicas de mineração de dados (regras de associação,

agrupamento e classificação) no Data Mart, a técnica escolhida para o módulo foi a de

agrupamento. Essa técnica possibilitou resultados interessantes, apesar da base de dados ser

incipiente. Os dados exibidos por essa técnica são entendíveis a alguém que está familiarizado

com o voleibol. Outro ponto positivo foi o grande número de algoritmos disponíveis para essa

técnica, porém foram selecionados os algoritmos EM12

e FarthestFirst13

para o

desenvolvimento das classes.

A classe apresentada na Figura 4.6 é responsável pela integração entre o módulo e o

algoritmo EM do WEKA.

12

Algoritmo EM (Expectation Maximization): atribui uma distribuição da probabilidade a cada exemplo, que

indica a que agrupamento pertence a cada exemplo.

13 Algoritmo FarthestFirst: maiores informações leia Hochbaum, D.; Shmoys, D.. A best possible heuristic for

the k-center problem. Em Mathematics of Operations Research, 10(2):180-184, 1985.

Page 69: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

69

Figura 4.6 – Figura apresenta o código fonte da classe de integração ClusteringEM

Fonte: AUTOR, 2008

Já a classe apresentada na Figura 4.7 é responsável pela integração entre o módulo e

o algoritmo FarthestFirst do WEKA.

import weka.core.Instances;

import weka.clusterers.DensityBasedClusterer;

import weka.clusterers.EM;

import weka.clusterers.ClusterEvaluation;

import java.io.BufferedReader;

import java.io.FileReader;

/**

* @author Émerson Butzen

*/

public class ClusteringEM {

/**

* @param filename the name of the ARFF file to run on

*/

public ClusteringEM(String filename) throws Exception

{

Instances data;

data = new Instances(new BufferedReader(new FileReader(filename)));

// normal

System.out.println("\n--> normal");

String[] options;

options = new String[2];

options[0] = "-t";

options[1] = filename;

ClusterEvaluation eval;

DensityBasedClusterer cl;

cl = new EM();

System.out.println(

ClusterEvaluation.evaluateClusterer(cl, options)

);

// manual call

System.out.println("\n--> manual");

cl.buildClusterer(data);

eval = new ClusterEvaluation();

eval.setClusterer(cl);

eval.evaluateClusterer(new Instances(data));

System.out.println("# of clusters: " + eval.getNumClusters());

// density based

System.out.println("\n--> density (CV)");

cl = new EM();

eval = new ClusterEvaluation();

eval.setClusterer(cl);

eval.crossValidateModel(cl, data, 10, data.getRandomNumberGenerator(1));

System.out.println("# of clusters: " + eval.getNumClusters());

}

}

Page 70: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

70

Figura 4.7 – Figura apresenta o código fonte da classe de integração ClusteringFarthestFirst

Fonte: AUTOR, 2008

Para cada técnica/algoritmo de mineração de dados foi criada uma classe de

integração, pois cada algoritmo do WEKA tem métodos diferentes uns dos outros. A seguir

são apresentados alguns resultados obtidos nos experimentos.

4.8 Resultados

Os resultados apresentados, a seguir, foram produzidos através do módulo proposto.

Para aferir esses resultados, os mesmos arquivos de formato ARFF foram submetidos

diretamente à ferramenta WEKA, através do seu módulo Explorer, e os resultados

permaneceram os mesmos.

Para o primeiro algoritmo (EM) da técnica de agrupamento foi submetido um

arquivo ARFF com os atributos fundamento, numerocamisetajogador e efeitofundamento,

com um total de 31 registros, todos eles do fundamento bloqueio. O objetivo desse primeiro

experimento é avaliar o resultado da mineração e qual seria sua aplicação numa equipe de

vôlei, na Figura 4.8 o arquivo ARFF gerado.

package ModuloDM;

import weka.core.Instances;

import weka.clusterers.FarthestFirst;

import java.io.BufferedReader;

import java.io.FileReader;

/**

* @author Émerson Butzen

*/

public class ClusteringFarthestFirst {

/**

* @param filename the name of the ARFF file to run on

*/

public ClusteringFarthestFirst(String filename) throws Exception {

Instances data;

String[] options;

FarthestFirst cl = new FarthestFirst();

data = new Instances(new BufferedReader(new FileReader(filename)));

// normal

System.out.println("\n--> normal");

options = new String[1];

options[0] = "-N 4";

cl.setOptions(options);

cl.buildClusterer(data);

System.out.println("# of clusters: " + cl.getNumClusters());

System.out.println(cl.toString());

}

}

Page 71: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

71

Figura 4.8 – Figura apresenta o arquivo ARFF submetido ao algoritmo EM do WEKA

Fonte: AUTOR, 2008

O resultado da aplicação desse algoritmo é apresenta na Figura 4.9, onde é visto que

foram criados três agrupamentos, um para cada jogador e seus valores mais representativos.

No primeiro agrupamento (cluster 0 da Figura 4.9) pode-se identificar que o atleta da

camiseta número 2 realizou em torno (Discrete Estimator. Counts) de 14 bloqueios e o efeito

desses foi de 3, ou seja, 14 pontos para sua equipe. Mas esses dados podem ser utilizados pela

comissão técnica adversária para orientar seus atletas para que não atacassem sobre esse

atleta. O segundo agrupamento apresenta dados semelhantes, porém de outro atleta: atleta

camiseta número 4. O último agrupamento apresenta dados do mesmo atleta, camiseta

número 2, onde houve uma mudança no efeito do fundamento. O efeito alcançado foi de 2

para duas ocorrências, ou seja, continuidade positiva mas não ponto. Conclui-se assim que

essa equipe é altamente forte no bloqueio e que alternativas devem ser criadas para evitá-lo.

@relation fundamentobloqueio

@attribute fundamento {BL}

@attribute numerocamisetajogador real

@attribute efeitofundamento real

@data

BL,2,3

BL,4,3

BL,2,3

BL,4,3

BL,2,3

BL,4,3

BL,4,3

BL,4,3

BL,2,2

BL,4,3

BL,2,3

BL,4,3

BL,2,3

BL,4,3

BL,2,3

BL,2,3

BL,2,3

BL,2,3

BL,2,3

BL,4,3

BL,4,3

BL,4,3

BL,4,3

BL,2,3

BL,4,3

BL,4,3

BL,2,3

BL,2,3

BL,2,3

BL,4,3

BL,2,3

Page 72: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

72

Figura 4.9 – Figura apresenta o resultado da aplicação do algoritmo EM do WEKA

Fonte: AUTOR, 2008

No segundo algoritmo (FarthestFirst) da técnica de agrupamento, foi submetido um

arquivo ARFF com os atributos fundamento, numerocamisetajogador, posicaojogador e

efeitofundamento (total de 31 registros) do fundamento bloqueio. A seguir o arquivo ARFF e

o resultado da mineração de dados (Figuras 4.10 e 4.11).

--> normal

EM

==

Number of clusters selected by cross validation: 3

Cluster: 0 Prior probability: 0.4833

Attribute: fundamento

Discrete Estimator. Counts = 14.97 (Total = 14.97)

Attribute: numerocamisetajogador

Normal Distribution. Mean = 2.0269 StdDev = 0.2303

Attribute: efeitofundamento

Normal Distribution. Mean = 3 StdDev = 0.1796

Cluster: 1 Prior probability: 0.4844

Attribute: fundamento

Discrete Estimator. Counts = 17.03 (Total = 17.03)

Attribute: numerocamisetajogador

Normal Distribution. Mean = 3.8485 StdDev = 0.5292

Attribute: efeitofundamento

Normal Distribution. Mean = 3 StdDev = 0.1796

Cluster: 2 Prior probability: 0.0323

Attribute: fundamento

Discrete Estimator. Counts = 2 (Total = 2)

Attribute: numerocamisetajogador

Normal Distribution. Mean = 2 StdDev = 1.016

Attribute: efeitofundamento

Normal Distribution. Mean = 2 StdDev = 0.1796

=== Clustering stats for training data ===

Clustered Instances

0 15 ( 48%)

1 15 ( 48%)

2 1 ( 3%)

Log likelihood: 0.06105

--> manual

# of clusters: 3

--> density (CV)

# of clusters: 0

Page 73: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

73

Figura 4.10 – Figura do arquivo ARFF submetido ao algoritmo FarthestFirst do WEKA

Fonte: AUTOR, 2008

Figura 4.11 – Figura mostra o resultado da aplicação do algoritmo FarthestFirst do WEKA

Fonte: AUTOR, 2008

--> normal

# of clusters: 2

FarthestFirst

==============

Cluster centroids:

Cluster 0

BL 4.0 P5 3.0

Cluster 1

BL 2.0 P2 2.0

@relation fundamentobloqueio

@attribute fundamento {BL}

@attribute numerocamisetajogador real

@attribute posicaojogador {P1, P2, P3, P4, P5, P6}

@attribute efeitofundamento real

@data

BL,2,P3,3

BL,4,P5,3

BL,2,P3,3

BL,4,P5,3

BL,2,P3,3

BL,4,P4,3

BL,4,P5,3

BL,4,P5,3

BL,2,P2,2

BL,4,P5,3

BL,2,P3,3

BL,4,P5,3

BL,2,P3,3

BL,4,P5,3

BL,2,P3,3

BL,2,P3,3

BL,2,P3,3

BL,2,P3,3

BL,2,P3,3

BL,4,P5,3

BL,4,P5,3

BL,4,P5,3

BL,4,P5,3

BL,2,P3,3

BL,4,P5,3

BL,4,P5,3

BL,2,P3,3

BL,2,P3,3

BL,2,P3,3

BL,4,P5,3

BL,2,P3,3

Page 74: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

74

Apesar de parecer simples o resultado desse algoritmo, é bastante conclusivo. O

atleta de camiseta número 2 quando bloqueia na posição dois não tem o mesmo

aproveitamento do que nas outras posições. Sendo assim, a comissão técnica adversária pode

orientar seus atacantes que explorem essa condição, aumentando a possibilidade de ponto de

sua equipe.

Como apresentado nesses dois experimentos, a mineração de dados realmente é

válida para a descoberta de informações antes não conhecidas.

Assim, conclui-se o projeto do módulo de mineração de dados para o sistema scout

de Raimann (2008), realizando a integração entre o sistema scout tradicional com uma

ferramenta avançada de mineração de dados, e obtendo informações que podem realmente

influenciar resultados de uma equipe de voleibol.

Page 75: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

CONCLUSÃO

Os sistemas de informação são essenciais no dia-a-dia das organizações, bem como

nas equipes de voleibol, que não tem condições de grandes investimentos nessa área. Tais

sistemas são conhecidos como sistemas scout, que monitoram desempenho de atletas. A cada

dia que passa, grandes quantias de informações são armazenadas nos bancos de dados desses

sistemas. Esses dados referem-se a atletas de uma equipe, ou de várias equipes. Quanto mais

rica a base de dados, mais cenários podem ser considerados no processo de tomada de

decisão. Por causa dessa grande quantidade de dados que o processo de decisão tem se

tornado cada vez mais difícil. Quanto maior o número de cenários a considerar, mais difícil é

para que o tomador de decisão encontre um padrão e tome a decisão correta.

No mundo esportivo, os sistemas são basicamente estatísticos (scout), ou seja, são

números e números a serem analisados, aumentando mais a dificuldade no processo de

tomada de decisão, além de não permitem uma visualização de padrões (de jogadas) que

podem estar ocorrendo em um jogo. Uma das soluções encontradas no mundo dos negócios

foi a mineração de dados, sendo que muitos dos sistemas de inteligência para o negócio

aplicam técnicas de mineração de dados para buscar padrões e traçar cenários futuros.

A partir desses problemas enfrentados por muitas equipes esportivas, principalmente

a nível amador, é que surge este trabalho. Com objetivo é projetar um módulo de mineração

de dados que possa ser acoplado ao sistema scout desenvolvido por Raimann (2008).

Este trabalho, assim como o de Raimann (2008), fazem parte de do projeto de

pesquisa “A IA entrando na quadra de vôlei: Scout Inteligente”, que visa disponibilizar

sistemas a equipes amadoras para que possam ter acesso a informações de suas equipes e

equipes adversárias, e assim preparar melhor seus atletas (melhora nos fundamentos) e suas

equipes (táticas de jogo).

Page 76: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

76

O trabalho realizou um estudo bibliográfico sobre Mineração de Dados. Este estudo

apresentou algumas características e funcionalidades de sistemas de informação e do processo

de tomada de decisão, além de apresentar principais características, funcionalidades,

utilizações e técnicas de mineração de dados. Também foram avaliados sistemas que utilizam

mineração de dados como solução para a melhora no processo de tomada de decisão. Sendo

que um deles é voltado ao esporte e outro ao telemarketing.

Através da elaboração de duas classes de integração foi possível integrar o módulo

proposto com o WEKA e aplicar dois algoritmos de mineração de dados da técnica de

agrupamento. A aplicação dos algoritmos nos dados do Data Mart possibilitou também

conferir a importância da mineração de dados para a descoberta de informações relevantes

para a comissão técnica de uma equipe de voleibol.

Este trabalho também possibilitou a publicação de um resumo e dois artigos, são eles

respectivamente:

Proposta de uso da Mineração de Dados em Sistemas de Avaliação de

Desempenho de Atletas, apresentado na II Mostra de Pesquisa e de

Iniciação Científica da Ulbra;

Proposta de um Módulo de Data Mining para um sistema de Scout no

Voleibol, apresentado no VII Simpósio de Informática da Região Centro

do Rio Grande do Sul - SIRC/RS.

Projeto de Módulo de Data Mining para Scout Voleibol, apresentado no

VII Seminário de Informática - RS – SEMINFO RS‟2008.

Algumas limitações foram encontradas, como por exemplo, o sistema Scout

(RAIMANN, 2008) em desenvolvimento e com sua base de dados incipiente além da

ausência de softwares para comparação com o módulo desenvolvido

Como trabalhos futuros, sugerem-se: a integração de mais técnicas de mineração de

dados ao módulo; o tratamento do retorno apresentado das técnicas de mineração aplicadas

neste trabalho, permitindo uma visualização melhor das informações. Outro trabalho

interessante seria a adaptação deste módulo para qualquer tipo de base de dados.

Page 77: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

REFERÊNCIAS BIBLIOGRÁFICAS

BERNARDINHO. Transformando suor em ouro. Rio de Janeiro, RJ: Sextante, 2006. 215 p.

BHANDARI, Inderpal Singh. Attribute Focusing: Data mining for the layman (Research

Report RC 20136). IBM T.J. Watson Research Center.

BHANDARI, Inderpal Singh; COLET, Edward; PARKER, Jennifer; PINES, Zachary;

PRATAP, Rajiv; RAMANUJAM, Krishnakumar. Advanced Scout: Data Mining and

Knowledge Discovery in NBA Data. Data Mining and Knowledge Discovery, Boston,

Massachusetts, EUA: Kluwer Academic Publishers, 1997, Vol. 1, No. 1, p. 121-125.

BINDER, Fábio Vinícius. Sistemas de apoio à decisão. São Paulo, SP: Érica, 1994. 98 p.

BRAMER, Max. Principles of Data Mining (Undergraduate Topics in Computer

Science). Londres, Inglaterra: Springer-Verlag London Ltd, 2007. 344 p.

CHARLES, Peter; GOOD, Nathan; JORDAN, Laheem Lamar; PAL, Joyojeet;

SWEARINGEN, Kirsten; LYMAN, Peter; VARIAN, Hal R.. How Much Information?

2003. Berkeley, Califórnia, EUA: 2003. School of Information Management and Systems, UC

Berkeley, 2003. Disponível em <http://www.sims.berkeley.edu/research/projects/how-much-

info-2003/>. Acesso em 03 de junho de 2008.

COELHO, Fabrício Luís. Classificação semi-automática de monografias. Novo Hamburgo,

RS: 2008. 71p. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) –

Instituto de Ciências Exatas e Tecnológicas, Feevale, 2008.

ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4ª ed. São

Paulo, SP: Pearson Addison Wesley, 2005. 724 p.

FAYYAD, Usama; PIATETSKY-SHAPIRO, Gregory; SMYTH, Padhraic. From Data

Mining to Knowledge Discovery in Databases. AI Magazine, American Association for

Artificial Intelligence. Menlo Park, California, EUA, 1996, v.17 n.3, p. 37-54.

FERREIRA, Aurélio Buarque de Holanda. Mini Dicionário da Língua Portuguesa. 2ª ed.

Rio de Janeiro, RJ: Nova Fronteira, 1988, 536 p.

FREITAS, Henrique; BECKER, João Luiz; KLADIS, Constantin Metaxa; HOPPEN,

Norberto. Informação e decisão: sistemas de apoio e seu impacto. Porto Alegre, RS: Ortiz,

1997. 214 p.

Page 78: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

78

GIUDICI, Paolo. Applied Data Mining: Statistical Methods for Business and Industry.

Chichester, West Sussex, Inglaterra: John Wiley & Sons Ltd, 2003. 364 p.

GONCHOROSKI, Sidinei Pereira. Utilização de técnicas de KDD em um call center ativo.

Novo Hamburgo, RS: 2007. 73p. Trabalho de Conclusão de Curso (Bacharelado em Ciência

da Computação) – Instituto de Ciências Exatas e Tecnológicas, Feevale, 2007.

GUEDES, Gilleanes T. A. UML Uma abordagem prática 3º ed. São Paulo: Ed. Novatec,

2008. 336 p.

HAN, Jiawei; KAMBER, Micheline, Data Mining Concepts and Techniques. São

Francisco, Califórnia, EUA: Morgan Kaufman Publishers, 2006. 772 p.

KANTARDZIC, Mehmed. Data Mining: Concepts, Models, Methods, and Algorithms.

Hoboken, Nova Jersey, EUA: John Wiley & Sons Inc., 2003. 343 p.

MARTIN, James. An information systems manifesto. Englewood Cliffs, Nova Jersey,

EUA: Prentice-Hall, c 1984. 300 p.

MEDEIROS, Ernani Sales de. Desenvolvendo Software com UML 2.0: Definitivo. São

Paulo: Pearson Makron Books, 2004. 264 p.

MIERSWA, Ingo; WURST, Michael; KLINKENBERG, Ralf; SCHOLZ, Martin; EULER,

Timm. Yale (now: RapidMiner): Rapid Prototyping for Complex Data Mining Tasks. In:

Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and

Data Mining (KDD 2006), Filadélfia, Pensilvânia, EUA: ACM, 2006.

PRODANOV, Cleber. Manual de Metodologia Científica. 3ª ed. Novo Hamburgo, RS:

FEEVALE, 2003. 79 p.

RAIMANN, Luís Henrique. Scout: Sistema de monitoração em equipes de voleibol. Novo

Hamburgo, RS: 2008. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de

Informação) – Instituto de Ciências Exatas e Tecnológicas, Feevale, 2008.

SANTOS, Rafael. Weka na Munheca: Um guia para uso do Weka em scripts e

integração com aplicações em Java. Apostila Princípios e Aplicações de Mineração de

Dados. S.l., 2005. 20 p. Disponível em: <

http://www.lac.inpe.br/~rafael.santos/Docs/CAP359/2005/weka.pdf>. Acessado em: 05 set.

2008.

SOLIEMAN, Osama K.. Data Mining in Sports: A Research Overview. Tucson: 2006. 76p.

MIS Master‟s Project, University of Arizona, 2006.

SUMATHI, S.; SIVANANDAM, S. N. Introduction to data mining and its applications

(Studies in Computational Intelligence). Berlim, Alemanha: Springer-Verlag Berlin

Heidelberg, 2006. p 828.

ZAMBERLAM, Alexandre de Oliveira; WIVES, Leandro Krug; GOULART, Rodrigo Rafael

Villarreal; SILVEIRA, Roni Gilberto. A IA entrando na quadra de vôlei: scout inteligente.

Hífen, Uruguaiana, RS, v.29, n.55/56, p.103-110, I/II semestre 2005.

Page 79: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

79

WAGNER, Eduardo Antonio. Utilizando data mining em pesquisa de clima

organizacional. Novo Hamburgo, RS: 2008. Trabalho de Conclusão de Curso (Bacharelado

em Sistemas de Informação) – Instituto de Ciências Exatas e Tecnológicas, Feevale, 2008.

WITTEN, Ian H.; FRANK, Eibe. Data Mining: Practical machine learning tools and

techniques. 2 ª ed. São Francisco, Califórnia, EUA: Morgan Kaufman Publishers, 2005.

Disponível em: <http://www.cs.waikato.ac.nz/ml/weka/index.html>. Acesso em: 24 jun.

2008.

WIVES, Leandro Krug. Utilizando conceitos como descritores de textos para o processo

de identificação conglomerados (clustering) de documentos. Porto Alegre, RS: 2004. 136

fl. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Rio Grande do

Sul, 2004.

Page 80: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

APÊNDICES

Page 81: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

81

Figura Apêndice 1 – Função SQL do PostgreSQL para geração de dados no DataMart

Fonte: AUTOR, 2008.

CREATE OR REPLACE FUNCTION "public"."fnPopulaDataMart" () RETURNS boolean AS

$body$

insert into public.dmhistorico (DataDm)

select now()::"timestamp";

insert into public.dmjogos

(

idjogo,

idequipe,

idjogador,

dmhistorico_idhistorico,

numerocamisetajogador,

funcaopartida

)

select vwdatamartdados.idjogo,

vwdatamartdados.idequipe,

vwdatamartdados.idjogador,

max(idhistorico) as "dmhistorico_idhistorico",

vwdatamartdados.numerocamisetajogador,

vwdatamartdados.funcaopartida

from vwdatamartdados, dmhistorico

group by vwdatamartdados.idjogo,

vwdatamartdados.idequipe,

vwdatamartdados.idjogador,

vwdatamartdados.numerocamisetajogador,

vwdatamartdados.funcaopartida;

insert into public.dmsetsrotacaofundamentos

(

idset,

dmjogos_idjogador,

dmjogos_idequipe,

dmjogos_idjogo,

dmjogos_dmhistorico_idhistorico,

idjogosetrotacao,

idmovimento,

tempomovimento,

idevento,

posicaojogador,

fundamento,

posicaofundamento,

efeitofundamento,

direcaofundamento,

tipofundamento,

constituicaofundamentobloqueio,

velocidadefundamentocortada,

formafundamentolevantamento,

qualidadefundamentolevantamento,

observacoesfundamento

)

select vwdatamartdados.idset,

vwdatamartdados.idjogador,

vwdatamartdados.idequipe,

vwdatamartdados.idjogo,

max(idhistorico)::integer as dmjogos_dmhistorico_idhistorico,

vwdatamartdados.idjogosetrotacao,

vwdatamartdados.idmovimento,

vwdatamartdados.tempomovimento,

vwdatamartdados.idevento,

vwdatamartdados.posicaojogador,

vwdatamartdados.fundamento,

vwdatamartdados.posicaofundamento,

vwdatamartdados.efeitofundamento,

vwdatamartdados.direcaofundamento,

vwdatamartdados.tipofundamento,

vwdatamartdados.constituicaofundamentobloqueio,

vwdatamartdados.velocidadefundamentocortada,

vwdatamartdados.formafundamentolevantamento,

vwdatamartdados.qualidadefundamentolevantamento,

vwdatamartdados.observacoesfundamento

from vwdatamartdados, dmhistorico

group by vwdatamartdados.idset,

vwdatamartdados.idjogador,

vwdatamartdados.idequipe,

vwdatamartdados.idjogo,

vwdatamartdados.idjogosetrotacao,

vwdatamartdados.idmovimento,

vwdatamartdados.tempomovimento,

vwdatamartdados.idevento,

vwdatamartdados.posicaojogador,

vwdatamartdados.fundamento,

vwdatamartdados.posicaofundamento,

vwdatamartdados.efeitofundamento,

vwdatamartdados.direcaofundamento,

vwdatamartdados.tipofundamento,

vwdatamartdados.constituicaofundamentobloqueio,

vwdatamartdados.velocidadefundamentocortada,

vwdatamartdados.formafundamentolevantamento,

vwdatamartdados.qualidadefundamentolevantamento,

vwdatamartdados.observacoesfundamento;

select true;

$body$

LANGUAGE 'sql'

VOLATILE

RETURNS NULL ON NULL INPUT

SECURITY INVOKER

COST 100;

Page 82: PROPOSTA DE UM MÓDULO DE DATA MINING PARA SISTEMA DE SCOUT NO VOLEIBOL

82

Figura Apêndice 2 – Função SQL do PostgreSQL que gera o arquivo para o relatório de

agrupamento de atletas por efeito de fundamento Fonte: AUTOR, 2008.

Figura Apêndice 3 – Função SQL do PostgreSQL que gera o arquivo para o relatório de

agrupamento de atletas por posição e efeito de fundamento Fonte: AUTOR, 2008.

CREATE OR REPLACE FUNCTION "public"."fnGerarRAAPEFarff" () RETURNS SETOF boolean AS

$body$

copy (

SELECT '@relation fundamentobloqueio'::text as Estrutura

union all

SELECT '@attribute fundamento {BL}'::text as Estrutura

union all

SELECT '@attribute numerocamisetajogador real'::text as Estrutura

union all

SELECT '@attribute posicaojogador {P1, P2, P3, P4, P5, P6}'::text as Estrutura

union all

SELECT '@attribute efeitofundamento real'::text as Estrutura

union all

SELECT '@data'::text as Estrutura

union all

select public.dmsetsrotacaofundamentos.fundamento ||','||

public.dmjogos.numerocamisetajogador ||','||

public.dmsetsrotacaofundamentos.posicaojogador ||','||

public.dmsetsrotacaofundamentos.efeitofundamento::text as Estrutura

FROM public.dmjogos

INNER JOIN public.dmsetsrotacaofundamentos ON (public.dmjogos.idjogo =

public.dmsetsrotacaofundamentos.dmjogos_idjogo)

AND (public.dmjogos.idequipe = public.dmsetsrotacaofundamentos.dmjogos_idequipe)

AND (public.dmjogos.idjogador = public.dmsetsrotacaofundamentos.dmjogos_idjogador)

AND (public.dmjogos.dmhistorico_idhistorico =

public.dmsetsrotacaofundamentos.dmjogos_dmhistorico_idhistorico)

where (public.dmjogos.dmhistorico_idhistorico = 5)

and (public.dmsetsrotacaofundamentos.fundamento = 'BL')

) to E'D:/My Documents/TCC/TCII/TCII_Modulo/Experimentos/RAAPEF.arff';

select true;

$body$

LANGUAGE 'sql'

VOLATILE

RETURNS NULL ON NULL INPUT

SECURITY INVOKER

COST 100 ROWS 1000;

CREATE OR REPLACE FUNCTION "public"."fnGerarRAAEFarff" () RETURNS boolean AS

$body$

copy (

SELECT '@relation fundamentobloqueio'::text as Estrutura

union all

SELECT '@attribute fundamento {BL}'::text as Estrutura

union all

SELECT '@attribute numerocamisetajogador real'::text as Estrutura

union all

SELECT '@attribute efeitofundamento real'::text as Estrutura

union all

SELECT '@data'::text as Estrutura

union all

select public.dmsetsrotacaofundamentos.fundamento ||','||

public.dmjogos.numerocamisetajogador ||','||

public.dmsetsrotacaofundamentos.efeitofundamento::text as Estrutura

FROM public.dmjogos

INNER JOIN public.dmsetsrotacaofundamentos ON (public.dmjogos.idjogo =

public.dmsetsrotacaofundamentos.dmjogos_idjogo)

AND (public.dmjogos.idequipe = public.dmsetsrotacaofundamentos.dmjogos_idequipe)

AND (public.dmjogos.idjogador = public.dmsetsrotacaofundamentos.dmjogos_idjogador)

AND (public.dmjogos.dmhistorico_idhistorico =

public.dmsetsrotacaofundamentos.dmjogos_dmhistorico_idhistorico)

where (public.dmjogos.dmhistorico_idhistorico = 5)

and (public.dmsetsrotacaofundamentos.fundamento = 'BL')

) to E'D:/My Documents/TCC/TCII/TCII_Modulo/Experimentos/RAAEF.arff';

select true;

$body$

LANGUAGE 'sql'

VOLATILE

RETURNS NULL ON NULL INPUT

SECURITY INVOKER

COST 100;