UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS VISÃO GERAL E UMA APLICAÇÃO NO ATLETISMO ALEXANDRE VIEIRA MYTO PAULO ROGÉRIO ASSIS LACERDA NOVEMBRO 2007 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS VISÃO GERAL E UMA APLICAÇÃO NO ATLETISMO Trabalho de Projeto Final de Curso apresentado por Alexandre Vieria Myto e Paulo Rogério Assis Lacerda à Universidade Católica de Goiás, como requisito parcial para obtenção do título de Bacharel em Ciência da Computação aprovado em 27/11/2007 pela Banca Examinadora: Professor Sibelius Lellis Vieira, Dr. - Orientador Professor Wellington Santos Martins, Ph.D. - Examinador Professor Thierson Couto Rosa, M.Sc. - Examinador MINERAÇÃO DE DADOS VISÃO GERAL E UMA APLICAÇÃO NO ATLETISMO ALEXANDRE VIEIRA MYTO PAULO ROGÉRIO ASSIS LACERDA Trabalho de Projeto Final de Curso apresentado por Alexandre Vieira Myto e Paulo Rogério Assis Lacerda à Universidade Católica de Goiás, como parte dos requisitos para obtenção do título de Bacharel em Ciência de Computação. Professor Sibelius Lellis Vieira Orientador Professor Jeová Martins Ribeiro Coordenador Projeto Final de Curso AGRADECIMENTOS Primeiramente a Deus. À nossa família pelo apoio, gratidão e carinho por conduzir nossas vidas nos caminhos da sabedoria e do conhecimento. Ao Professor Sibelius, pelo apoio e confiança depositada. À Coordenação do Departamento de Computação da Universidade Católica de Goiás por ter ajudado de forma inestimável a execução deste trabalho. Ao Professor Ernesto Flávio Batista Borges Pereira pela colaboração e apoio. RESUMO Neste trabalho é apresentada uma descrição sobre a mineração de dados. A mineração de dados tem muitas aplicações atualmente, visto que uma grande quantidade de dados são produzidos, armazenados e necessitam de processamentos para a descoberta de conhecimentos. Em particular, o estudo feito é aplicado em um problema de atletismo, fatores intervenientes na chegada dos cem metros rasos livre. Os dados foram obtidos através de um questionário aplicado em alguns atletas do Brasil. Os resultados foram analisados com auxílio da ferramenta Weka usando duas aplicações de mineração de dados, classificação e associação. Na classificação foi utilizado o algoritmo J.48 e na associação foi utilizado o algoritmo Apriori. Palavras-Chave: Mineração de Dados, Ferramenta Weka, Classificação, Associação. ABSTRACT It is presented in this work a description of data mining. The data mining has many applications nowadays, since a large amount of data is generated, stored and need processing for the discovery of knowledge. In particular, the study is applied on an athletics problem, factors involving the arrival of a hundred meters free. The data was obtained through a questionnaire applied on some athletes from Brazil. The results were analyzed using the tool Weka using two applications of data mining: classification and association. In the classification, the J.48 algorithm was used and in the association the algorithm Apriori was used. Key Words: Data Mining, Tool Weka, Classification, Association. MINERAÇÃO DE DADOS VISÃO GERAL E UMA APLICAÇÃO NO ATLETISMO SUMÁRIO LISTA DE FIGURAS xiv LISTAS DE TABELAS xvi LISTA DE ABREVIATURAS xvii 1. INTRODUÇÃO 1 1.1. Justificativa 1 1.2. Objetivo 2 1.3. Estrutura 4 2. MINERAÇÃO DE DADOS 3 2.1. Processo de descoberta de conhecimento 3 2.2. Conceituação de mineração de dados 18 2.3. Métodos de Mineração de Dados 27 2.3.1. Classificação 22 2.3.2. Associação 22 2.3.3. Apriori 22 2.3.4. Clusterização (Agrupamento) 22 2.3.5. K-Means 22 2.3.6. Padrões seqüenciais/temporais 22 2.3.7. Técnicas de Mineração de Dados 22 2.3.8. Árvore de decisão 22 2.3.9. C4.5 22 2.4. Aplicações de mineração de dados 22 2.5 Problemas com a obtenção de um banco de dados 22 3. FATORES INTERVENIENTES NA CHEGADA DOS CEM METROS RASOS 30 3.1. Evolução da prova 30 3.2. Descrição do problema 36 3.3. Base de dados 33 3.4. Seleção dos dados 33 3.5. Preparação dos dados 33 3.6. Construção do modelo 33 3.7. Avaliação do modelo 33 4. FERRAMENTA DE MINERAÇÃO DE DADOS WEKA 44 4.1. Ambiente Weka 44 4.2. Arquivo ARFF 46 4.3. Explorer 54 4.4. Características dos atributos 55 4.5. Associação Weka 55 4.6. Classificação Weka 55 4.7. Atributos utilizados 55 4.8. Arquivo no formato ARFF 55 5. APLICAÇÃO 64 5.1. Aplicando as regras 88 5.2. A Base de dados 88 5.2.1. Premissas estabelecidas 5.3. Problemas para executar o método de classificação 5.3.1. Novas premissas estabelecidas 88 88 88 5.4. Resultados obtidos pelo método classificação 88 5.5. Matriz de confusão 88 5.5.1. Matriz de confusão para objeto em estudo 88 5.6. Associação 88 5.6.1. Problemas para executar o método de associação 5.7. Resultados obtidos pelo método de associação 88 88 6. CONCLUSÕES 96 7. REFERÊNCIAS BIBLIOGRÁFICAS 98 8. GLOSSÁRIO 104 9. APÊNDICE 108 LISTA DE FIGURAS Figura 2.1 - Processo de KDD prosto por Fayyad, Piatetsky-Shapiro e Smyth (1996) 31 Figura 2.2 - Forma de Representação de uma Árvore de Decisão 33 Figura 4.1 - Weka GUI Chooser 52 Figura 4.2 - Weka Explorer (Preprocess) 75 Figura 4.3 - Weka Explorer (Classify) 88 Figura 4.4 - Weka Explorer (Cluster) 88 Figura 4.5 - Weka Explorer (Associate) 88 Figura 4.6 - Weka Explorer (Slect attributes) 88 Figura 4.7 - Weka Explorer (Visualize) 88 Figura 4.8 - Weka Explorer (Log) 88 Figura 4.9 - Weka Explorer (Preprocess) 88 Figura 4.10 - Weka Explorer (Visualize All) 88 Figura 4.11 - Arquivo no formato ARFF 88 Figura 5.1 - Árvore de decisão gerada pelo atributo melhor marca 100m 88 Figura 5.2 - Matriz de confusão gerada pelo atributo melhor marca 100m 88 Figura 5.3 - Melhores regras encontradas pelo apriori 88 Figura 5.4 - Exemplo de resultado que resultou em descoberta de informação 88 LISTA DE TABELAS Tabela 3.1 - Os 15 melhores tempos de sempre – masculino 17 Tabela 3.2 - Os 12 melhores tempos de sempre – feminino 83 Tabela 5.1 - Classificação dos pesos para pessoas 88 Tabela 5.2 – Classificação dos atletas segundo a fórmula utilizada 88 LISTA DE ABREVIATURAS E SIGLAS ARFF Attribute Relation File Format CLI Interface Commad Line cm centímetro HPF História patológica Familiar HPP História Patológica Pessoal KDD Discovering Knowledge in Data Kg Quilograma LMD Lado da Mão Direita LME Lado da Mão Esquerda OMS Organização Mundial da Saúde PRODERJ Órgão de Tecnologia da Informação do Estado do Rio de Janeiro QTDE Quantidades UCG Universidade Católica de Goiás URL Uniform Resoucer Locator 100m/r Cem metros rasos 2D Segunda Dimensão MINERAÇÃO DE DADOS FATORES QUE INFLUENCIAM NA CHEGADA DOS 100M/R CAPÍTULO I INTRODUÇÃO 1.1. Justificativa A mineração de dados ou data mining se refere a mineração ou a descoberta de novas informações em função de padrões ou regras em grandes quantidades de dados. Para ser útil, na prática, a mineração de dados precisa ser realizada eficientemente em grandes arquivos e banco de dados. O volume de dados armazenado nos sistemas das organizações é cada vez maior. Este fenômeno dá-se pela queda no custo dos dispositivos de armazenamento e avanços na área de tecnologia da informação. Devido a incapacidade do ser humano em analisar tamanho volume de dados, muitas informações, possivelmente úteis e importantes, podem não estar sendo devidamente aproveitadas. Em conseqüência disto, surge a necessidade de se desenvolver novas ferramentas e técnicas de extração automática de conhecimento a partir de dados armazenados [16]. Embora recente, a história da mineração de dados já tem casos bem conhecidos. O mais divulgado é o da cadeia norte-americana Wal-Mart, que identificou um hábito curioso dos consumidores. Ao procurar eventuais relações entre o volume de vendas e os dias da semana, o software apontou que, às sextas-feiras, as vendas de cervejas cresciam na mesma proporção que as de fraldas. Crianças bebendo cerveja? Não. Uma investigação mais detalhada revelou que, ao comprar fraldas para seus bebês, os pais aproveitavam para abastecer as reservas de cerveja para o final de semana [35]. Cada classe de aplicação em mineração de dados tem como base um conjunto de algoritmos que serão usados na extração de relações relevantes dentro de uma massa de dados tais como: a classificação, a estimativa, o agrupamento por afinidade, a previsão e a segmentação [32]. Cada uma destas propostas difere quanto à classe de problemas que o método será capaz de resolver. As tecnologias de mineração de dados podem ser aplicadas em grande variedade de contextos de tomada de decisão empresariais. Em particular, áreas de significativo retorno de investimento esperado incluem: Marketing – Aplicações como análises do comportamento do consumidor baseadas em padrões de consumo; a definição de estratégias de marketing está presente em propagandas, bem como em localização de lojas, e também em mala direta direcionada; segmentação de clientes, lojas ou produtos; e projeto de catálogos, layouts de lojas e campanhas de publicidade. Finanças – Aplicações incluem análise de crédito de clientes, segmentação de contas a receber, análise de performance de investimentos financeiros como ações, bonds e fundos mútuos; avaliação de opções de financiamento; e detecção de fraudes. Produção – Aplicações envolvem otimização de recursos como máquinas, força de trabalho e materiais; projeto ótimo de processos de fabricação, layouts de chão de fábrica, e projeto de produto, como de automóveis baseados nos requisitos dos clientes. Saúde – Aplicações incluem descoberta de padrões em imagens radiológicas, análise de dados experimentais em microarray (gene-chip) para relação com doenças, análise de efeitos colaterais de remédios e efetividade de certos tratamentos; otimização de processos dentro de um hospital, relação de saúde do paciente com qualificações do médico. Além das áreas citadas acima a mineração de dados pode ser aplicada a várias áreas como: esporte, ciência, tecnologia, web, governo, banco, comércio etc. Atualmente, as ferramentas de mineração de dados utilizam técnicas para extração de conhecimento. Tais técnicas incluem regras de associação, agrupamento (clustering), redes neurais, seqüenciamento e análise estatística. Também utilizam-se as árvores de decisão, que são a representação das regras usadas na classificação ou no agrupamento, e análise estatística, que podem incluir regressão e muitas outras técnicas [26]. Essas técnicas, devido a grande importância dos seus resultados e da grande base de dados, têm sido implementadas em ferramentas de mineração de dados, inclusive em algumas gratuitas, como a ferramenta Weka, que é utilizada neste trabalho. 1.2. Objetivo A mineração de dados pode ser aplicada em varias áreas, inclusive na área do esporte. Detalhes podem decidir uma competição tais como: o treinamento, a alimentação, o porte físico, o nervosismo, a saúde e outros. Umas das competições mais importantes no mundo do atletismo e do esporte é a corrida dos cem metros rasos (100m/r). A mineração de dados pode ser aplicada e útil na análise nesta categoria de atletismo, analisando os fatores do histórico que podem influenciar no resultado e assim, buscando padrões que podem auxiliar na preparação do atleta dos cem metros rasos 100m/r. A corrida dos cem metros rasos (100m/r) é uma modalidade olímpica de atletismo, considerada a prova mais importante das corridas de velocidade, para muitos cheios de nervosismo e de grande tensão emocional. Em razão do alto nível dos atletas e da distância, a prova leva em torno de apenas dez segundos. O objetivo deste trabalho é elaborar um estudo, utilizando técnicas de mineração de dados para analisar um conjunto de fatores dos atletas de cem metros rasos (100m/r) utilizando a ferramenta de mineração de dados Weka. Esta ferramenta oferece execuções de algoritmos de aprendizagem que podem ser facilmente aplicados os dados a serem estudados, além de possuir uma interface amigável e de fácil entendimento. 1.3. Estrutura No capítulo II é descrito o processo de mineração de dados, que é um processo de descoberta de conhecimento (KDD-Discovering Knowledge in Data), sendo apresentada sua definição, seus métodos, técnicas e algumas áreas onde pode ser aplicado. No capítulo III são descritos os fatores intervenientes na chegada dos cem metros rasos, apresentando um pouco sobre a história das corridas dos 100m/r, os problemas a serem tratados, a geração da base de dados, como foram feitas as seleções dos dados que fizeram parte dos processos, quais as análises preliminares foram feitas com os dados, a construção do modelo a ser tratado e a avaliação do modelo. No capítulo IV são apresentadas a ferramenta Weka, algumas propriedades e funções, e como a ferramenta pode ser utilizada. São apresentadas características gerais do Weka, janelas, aplicativos e como utilizar atributos. No capítulo V são apresentados os experimentos, resultados, e problemas recorrentes dos métodos utilizados, o algoritmo Apriori para a associação e o j48 para a classificação. Todos os resultados foram possíveis utilizando a ferramenta Weka (freeware) disponibilizada para fins educativos. No capítulo VI é apresentado a conclusão do projeto e possíveis trabalhos futuros. CAPÍTULO II MINERAÇÃO DE DADOS 2.1. Processo de descoberta de conhecimentos O processo de descoberta de conhecimento de dados surgiu na década de 80, época essa que devido aos novos meios de tecnologias, observou-se um grande crescimento no volume das bases de dados existentes. Alguns dos sistemas que surgiram e contribuíram neste período para o começo deste processo foram os sistemas de reservas de passagens aéreas, sistemas bancários e de cartões de créditos internacionais. Isso despertou a necessidade de extrair conhecimento a partir dessas grandes bases de dados. Essa estratégia é mais conhecida como KDD - Knowledge Data Discovering ou “descoberta do conhecimento em dados”. O KDD tem como objetivo principal explorar e extrair informações não-triviais em uma base de dados relacional de uma maneira otimizada, passando por algumas fases até chegar em algo consistente para que a partir dela possa obter conhecimento. Com a chegada da globalização, a competitividade entre as empresas no mundo dos negócios vem aumentando intensamente nos últimos anos. As empresas contemporâneas, cientes da necessidade de adaptação a esse cenário, têm investido na captação, no armazenamento, no tratamento e na aplicação da informação com diferencial estratégico e competitivo na condução dos negócios. Recursos da área da Tecnologia da Informação têm sido fundamentais nesse processo. Em particular, muitos sistemas de informação vêm sendo desenvolvidos e utilizados em diversas aplicações [27]. Os bancos de dados contêm informações detalhadas que permitem às empresas acompanhar e controlar processos operacionais. Por outro lado, existe uma demanda cada vez maior por sistemas de informação que auxiliem no processo de tomada de decisão. Gerentes e executivos necessitam de recursos computacionais que forneçam subsídios para apoio ao processo decisório das empresas [27]. Conceitualmente, um Data Warehouse é um grande armazém de dados, integrado, não volátil, variável em relação ao tempo, e destinado a auxiliar em decisões de negócios. A orientação à assunto, aliada ao aspecto de integração, permite reunir dados corporativos em um mesmo ambiente de forma a consolidar e apresentar informações sobre um determinado tema. Os dados são não voláteis, pois uma vez carregados no Data Warehouse, estes não podem mais sofrer alterações. Cada conjunto de dados, ao ser carregado em um Data Warehouse, fica vinculado a um rótulo temporal que o identifica dentre os demais. Cada rótulo temporal fica associado, portanto, a uma visão instantânea e sumarizada dos dados operacionais que corresponde ao momento de carga do Data Warehouse. Desta forma, na medida em que o Data Warehouse vai sendo carregado com tais visões, pode-se realizar análises de tendências a partir dos dados [27]. Obter conhecimentos em base de dados é uma área de pesquisa crescente que atrai esforços de pesquisadores. Fundamenta-se no fato de que as grandes bases de dados podem ser uma fonte de conhecimento útil, porém não explicitamente representado, cujo objetivo é desenvolver e validar técnicas, metodologias e ferramentas capazes de extrair o conhecimento implícito nesses dados e representá-lo de forma acessível aos usuários [13]. Transformar os dados em informações que possam auxiliar a tomada de decisões é um processo complexo [20] e pode ser organizado em cinco etapas, conforme ilustra a Figura 2.1. Figura 2.1. Processo de KDD [6]. O primeiro passo no processo de KDD é entender o domínio da aplicação, identificar o problema e definir os objetivos a serem atingidos. O processo inicia com os dados brutos (Base de Dados) e finaliza com a extração de conhecimento, como resultado das seguintes etapas: 1. Seleção: é a extração dos dados visando à aplicação, ou seja, criação de um conjunto-alvo de dados; 2. Pré-Processamento: Engloba qualquer tipo de tratamento que venha a ser realizado nos dados que foram selecionados na fase anterior a fim de assegurar a qualidade (completude, veracidade e integridade). As informações consideradas desnecessárias são removidas. Se os erros não forem descobertos nessa etapa, poderão contribuir para a obtenção de resultados de baixa qualidade [22]. Um exemplo simples pode ser o de corrigir CEPs errados ou até mesmo retirar registros com prefixos de telefones errados [26]; 3. Transformação: identificação de características úteis para representar os da- dos, conforme o objetivo definido, e realizar a redução ou transformação da dimensionalidade dos dados. Nesta fase, os dados devem ser codificados para que possam ficar em uma forma adequada a fim de que o algoritmo de mineração de dados escolhido tenha a interpretação correta dos registros para o seu padrão de uso [27] ou até mesmo pode ser executado para a redução da quantidade de dados [26]. A codificação pode ser: Numérica – Categórica, que transforma valores reais em categoria ou intervalos; ou Categórica – Numérica que representa numericamente valores de atributos categóricos [27]; 4. Mineração de dados (data mining): combinar os objetivos do processo de KDD com um método particular de mineração de dados e realizar a análise exploratória e seleção de modelo e hipótese, buscando padrões de interesse; 5. Interpretação/Avaliação: validar o conhecimento extraído da base de dados, identificar padrões e interpretá-los, transformando-os em conhecimentos que possam apoiar as decisões [12]; Como exemplo de processo de KDD, imagine um banco de dados mantido por um comerciante. Considere que os dados do cliente incluem nome, CEP, telefone, data da compra, código do item, preço, quantidade e valor total. Várias informações sobre o cliente podem ser obtidas pelo processamento KDD nesse banco de dados. Durante a seleção de dados, podem ser levantados itens específicos ou categorias de itens, ou de lojas em uma dada região ou área de um país. O processo de limpeza dos dados pode corrigir CEPs errados ou eliminar registros com prefixos de telefone errados. O enriquecimento incrementa os dados com fontes adicionais de informações. Por exemplo, pelo telefone ou pelo nome do cliente, a loja pode adquirir outros dados, como idade, renda, risco de crédito, e incluí-los em cada registro. A transformação dos dados e codificação pode ser executada para reduzir a quantidade de dados. Por exemplo, novos códigos podem ser agrupados em categorias de produto como: áudio, vídeo, materiais, dispositivos eletrônicos, câmeras, acessórios, e assim por diante. CEPs podem ser agrupados em regiões geográficas, impostos podem ser divididos em faixas, e assim por diante. Se a mineração de dados é baseado em um data warehouse existente para essa loja, esperamos que a limpeza já tenha sido aplicada. Somente depois desse préprocessamento é que as técnicas de mineração de dados são usadas para extrair diferentes regras e padrões [26]. 2.2. Conceituação de Mineração de Dados. Como o nome indica, o mineração de dados se refere à mineração ou a descoberta de novas informações em função de padrões ou regras em grandes quantidades de dados. Para ser útil, na prática, a mineração de dados precisa ser realizada eficientemente em grandes arquivos e banco de dados [26]. A mineração de dados é a parte mais importante dentre os processos KDD, pois é nela que se concentra a busca efetiva das novas informações em função de padrões ou regras que há armazenados em grandes arquivos de banco de dados [27]. A mineração de dados é fundamentalizada na união de três grandes tecnologias: estatística clássica, inteligência artificial e machine learning (aprendizado de máquina). Para cada uma dessas tecnologias a mineração de dados se utiliza de meios que possa tirar proveito na busca por padrões. Com o resultado da Mineração de Dados podem ser descobertas as regras de associação, padrões seqüências e as árvores de classificação. 2.3. Métodos de Mineração de Dados Os métodos de Mineração de Dados podem ser classificados pela função que executam ou de acordo com a classe de aplicação em que podem ser usados [12]. Cada classe de aplicação tem como base um conjunto de algoritmos que serão usados na extração de relações relevantes dentro de uma massa de dados (Classificação, Associação, Clusterização, Previsão de Série Seqüências/Temporais). 2.3.1. Classificação Para classificar é necessário selecionar um atributo alvo, chamado variável dependente ou classe, cujo valor é usado para elaborar regras de classificação e as variáveis in- dependentes ou atributos preditores [15]. A classificação utiliza dados sobre o passado para encontrar padrões significantes de forma a induzir regras sobre o futuro, isto é, regras que predizem o valor do atributo alvo, através da combinação dos valores dos atributos preditores [4]. A precisão do resultado da classificação é medida pela taxa de erro, que é o percentual de registros classificados incorretamente [4]. A técnica de classificação geralmente utiliza métodos de indução com aprendizado supervisionado. No aprendizado supervisionado, a entrada e saída desejadas são fornecidas por um supervisor externo. Os métodos de indução supervisionados podem ser classificados em conexionistas e simbólicos. Como exemplo podemos citar são as redes neurais, que criam modelos implícitos que são representados em uma arquitetura de nós e ligações com pesos. Já os métodos simbólicos, como exemplo árvores de decisão e regras, criam modelos explícitos [6]. Uma técnica de classificação é considerada útil para mineração de dados se tiver três características [30]: 1. Capacidade de produzir modelos de alta qualidade mesmo quando os dados no conjunto de treinamento estão incompletos. 2. Gerar modelos compreensíveis e explanáveis, de forma a que o usuário possa entender como o sistema toma decisões. 3. Reconhecer o domínio no qual está aplicando a indução e melhorar a qualidade do modelo induzido. 2.3.2. Associação A regra de associação é uma das principais tecnologias em mineração de dados. Nesta podemos considerar o fato de que “se antecedente, então conseqüente ” ou seja, pode ser entendida da seguinte forma X => Y onde X={x1, x2, . . . , xn } , e Y = {y1,y2, . . . , yn} são conjunto de itens, com xi e yj, que contém itens distintos para todo i e j. Isso na prática implica que possivelmente um cliente que compre X estará sujeito a comprar Y como conseqüência. Por exemplo, em uma padaria um cliente que compre pão geralmente ele também compra leite. [26] Normalmente, regras de associação possuem a forma LME (lado da mão esquerda) => LDM (lado da mão direita), onde LME e LMD são conjuntos de itens, e através da união de LME e LDM representa-se o conjunto de todos os itens comprados pelo cliente. Para que a regra de associação seja interessante, a regra precisa satisfazer algumas medidas. Duas medidas de interesse comuns são suporte e confiança [26]. O suporte é o percentual de transações que contém todos os itens na própria relação LME U LMD. Se o suporte é baixo isso implica que não existe nenhuma evidência significativa que os itens LME U LMD ocorram juntos, já que o conjunto de itens ocorre em apenas uma pequena fração de transações [26]. A confiança da regra é calculada com o suporte (LME U LMD)/suporte(LMD). Podemos analisar a possibilidade de que os itens do LME sejam comprados dado que os itens do LMD foram comprados por um cliente [26]. Existem diversos algoritmos desenvolvidos especificamente para aplicação de descoberta de associações, dentre eles: Apriori (utilizado neste trabalho), DHP (Direct Hashing an Pruning), Partition, DIC (Dynamic Itemset Couting), Eclat, MaxEclat, Clique, MaxClique, Cumulate e EstMerge [27]. As aplicações de técnicas de associação têm seu uso mais difundido na área de marketing, em que se pretende descobrir as associações existentes entre os produtos vendidos. A tecnologia possibilitou às organizações coletar e armazenar grandes quantidades de dados, como é o caso da tecnologia de código de barras sobre os dados de vendas [2]. As grandes redes varejistas estudam as compras dos clientes para descobrir quais as vendas são normalmente realizadas ao mesmo tempo, chamando isso de market basket analysis. Essa análise pode determinar, por exemplo, os produtos que devem estar expostos juntos, objetivando incrementar as vendas [7]. 2.3.3. Apriori O Apriori é um algoritmo clássico de Mineração de Regras de Associação [2]. Diversos algoritmos tais como GSP, DHP, Partition, DIC, Eclat, MaxEclat, Clique e MaxClique foram inspirados no funcionamento do Apriori e se baseiam no princípio da antimonotonicidade do suporte [27]. Os algoritmos que são utilizados para encontrar regras de associação utilizam as propriedades de fechamento por baixo e antimonotonocidade. No fechamento por baixo é feita a inferência de um superconjunto para um subconjunto. Na antimonotonicidade ajuda a reduzir o espaço de busca por possíveis soluções. Isto é, uma vez que um item for considerado pequeno, qualquer extensão para aquele conjunto de itens, formado pela adição de um ou mais itens ao conjunto, será também um conjunto pequeno [26]. Os algoritmos mencionados a cima podem ser decompostos basicamente em duas etapas [27]: a) Encontrar todos os conjuntos de itens freqüentes (que satisfazem à condição de suporte mínimo), ou seja, encontrar conjunto de itens que mais se relaciona com outro item. b) A partir do conjunto de itens freqüentes, gerar as regras de associação (que satisfazem à condição de confiança mínima). 2.3.4. Clusterização (Agrupamento) A clusterização ou agrupamento é um processo de partição de uma população heterogênea em vários subgrupos ou clusters mais homogêneos [13]. No agrupamento, não há classes predefinidas, e os registros são agrupados de acordo com a semelhança, o que a diferencia da tarefa de classificação. Exemplos de agrupamento: agrupar os clientes por região do país, agrupar clientes com comportamento de compra similar [15]; agrupar seções de usuários Web para prever comportamento futuro de usuário [27]. 2.3.5. K-Means O algoritmo k-means é um método popular da tarefa de Clusterização. Tomase, randomicamente, k pontos de dados (dados numérico) como sendo os elementos centrais dos cluster. Em seguida a cada ponto (ou registro da base de dados) é atribuído um cluster cuja distância deste ponto em relação ao elemento central do cluster é menor para esse ponto. Em seguida para cada cluster é computado o novo elemento central desse cluster, caracterizando a configuração do cluster para iteração seguinte. O processo termina quando os elementos centrais dos clusters param de se modificar, ou após um número limitado de interações que tenha sido especificado pelo usuário [27]. A execução do algoritmo k-means consiste em, primeiro, selecionar aleatoriamente k objetos, que inicialmente representam cada um a média de um cluster. Para cada um dos objetos remanescentes, é feita a atribuição ao cluster ao qual o objeto é mais similar, baseado na distância entre o objeto e a média do cluster. A partir de então, o algoritmo computa as novas médias para cada cluster. Este processo se repete até que uma condição de parada seja atingida [27]. 2.3.6. Padrões seqüenciais/temporais Este método procura eventos ou compras que ocorrem seqüencialmente em um período de tempo, determinando tendências [12]. Uma aplicação típica é a venda por mala direta, que agrega os dados sobre os produtos adquiridos em cada compra. A descoberta de seqüência irá analisar este conjunto e detectar padrões de produtos comprados durante um determinado tempo. Pode ser útil também para identificar os itens que precedem a compra de um determinado produto [27;20]. 2.3.7. Técnicas de Mineração de Dados As técnicas utilizadas atualmente em mineração de dados são extensões de métodos analíticos já conhecidos há algum tempo. O que as diferenciam são que as técnicas aqui são mais voltadas a encontrar estratégias para os negócios. Isto acontece graças ao aumento do desempenho dos computadores. As técnicas apresentadas a seguir são extraídas de [14]. 2.3.8. Árvore de decisão Árvores de decisão dividem os dados em subgrupos com base nos valores das variáveis. O resultado é uma hierarquia de declarações do tipo “Se...então...”, que são utilizadas principalmente para classificar dados. Há uma onda de interesse em produtos baseados em árvore de decisão, principalmente porque eles são mais rápidos que as redes neurais para alguns problemas organizacionais, e também é mais fácil compreender o seu funcionamento [32]. Árvores de decisão expressam uma forma simples de lógica condicional buscando a representação de uma série de questões que estão escondidas sob a base da dados. Em uma árvore de decisão existem dois tipos de atributos: o decisivo, que é aquele que contém o resultado ao qual queremos chegar, e os não-decisivos que contêm os valores que conduzem a uma decisão. Com a utilização da entropia como ganho de informação, são realizados cálculos sobre os atributos não-decisivos, denominados classes, nos quais é escolhido um nó inicial também chamado raiz. A partir deste nó, será realizada uma série de novos cálculos com o objetivo de decidir a estrutura de formação da árvore a ser gerada. Este processo é repetido até que todos os atributos a serem processados estejam perfeitamente classificados ou caso se tenham processado todos os atributos. Os três principais algoritmos conhecidos que implementam árvores de decisão, são ID3, C4.5 e PERT, sendo que os algoritmo C4.5 e PERT são um aperfeiçoamentos do algoritmo ID3, com alguns conceitos avançados de podagem (técnica de cortar nós da árvore que não são potencialmente úteis) e preocupação com o seu desempenho em relação ao tempo de processamento. O objetivo do algoritmo ID3 é gerar os valores categóricos de um atributo chamado classe, utilizando-se de um método de classificação que tem o objetivo de realizar testes que são introduzidos na árvore, separando os casos de treino em subconjuntos. Cada subconjunto deve consistir de exemplos de uma única classe. A distribuição de classes pode ser representada em forma de uma lista de probabilidades p(c1) .. p(cn), em que cada p indica a probabilidade que um exemplo pertencera a uma classe. A forma de ilustrar uma árvore de decisão está ilustrada na Figura 2.2, tendo como exemplo um “sistema bancário” para empréstimo [15]. Figura 2.2 - Forma de Representação de uma Árvore de Decisão 2.3.9. C4.5 O C4.5 é um dos mais tradicionais algoritmos na tarefa de Classificação. Inspirado no algoritmo ID3, o método C4.5 procura abstrair árvores de decisão a partir de uma abordagem recursiva de particionamento das bases de dados. Utiliza, para tanto, conceitos e medidas da Teoria da Informação [27]. Há duas operações principais durante o processo de construção da árvore: (a) a avaliação dos pontos de separação de cada nó interno da árvore e a identificação de qual o melhor ponto de separação; e (b) a criação das partições usando o melhor ponto de separação identificando para os casos pertencentes a cada nó. Uma vez determinado o melhor ponto de separação de cada nó, as partições podem ser criadas pela simples aplicação do critério de separação identificado [27]. 2.4. Aplicações de mineração de dados Muitas organizações têm investido em tecnologias de informação para ajudar na gerência dos negócios. É nesse contexto que mineração de dados está cada vez mais sendo utilizado. Ele pode ser visto como uma forma de selecionar, explorar e modelar grandes conjuntos de dados para detectar padrões de comportamento dos consumidores. Desse modo, é possível direcionar melhor uma campanha de marketing de uma organização ou adaptar os negócios para que alcancem um maior número de clientes de forma mais personalizada. O setor de marketing também está se revolucionando com o uso de mineração de dados. Em vez de realizar imensas e caras campanhas de âmbito geral, essas organizações descobriram que, dividindo o público-alvo em categorias, é possível realizar campanhas mais direcionadas, mais baratas e com um retorno muito maior. Para dividir o público-alvo em categorias, é necessário conhecer esse público, e o mineração de dados tem sido imprescindível nesse sentido [5]. É espantoso o crescimento da demanda por aplicações em KDD nas mais diversas áreas do conhecimento humano [8]. A seguir, são relacionadas as principais áreas de interesse na utilização de mineração de dados [9;31]: Marketing: Técnicas de mineração de dados são aplicadas para descobrir preferências do consumidor e padrões de compra, com o objetivo de realizar marketing direto de produtos e ofertas promocionais, de acordo com o perfil do consumidor. Detecção de fraudes: Muitas fraudes óbvias (tais como, a compensação de cheque por pessoas falecidas) podem ser encontradas sem mineração de dados, mas padrões mais sutis de fraude podem ser difíceis de serem detectados, tais como, o desenvolvimento de modelos que predizem quem será um bom cliente ou aquele que poderá se tornar inadimplente em seus pagamentos. Medicina: caracterizar comportamento de paciente para prever visitas, identificar terapias médicas de sucesso para diferentes doenças, buscar por padrões de novas doenças e extrair conhecimentos que auxiliem na detecção e prevenção de doenças. Instituições governamentais: descoberta de padrões para melhorar as coletas de taxas (impostos) ou descobrir fraudes. Ciência: técnicas de mineração de dados podem ajudar cientistas em suas pesquisas, por exemplo, encontrar padrões em estruturas moleculares, dados genéticos, mudanças globais de clima, oferecendo conclusões valiosas rapidamente. Controle de processos e controle de qualidade: auxiliar no planejamento estratégico de linhas de produção e buscar por padrões de condições físicas na embalagem e armazenamento de produtos. Banco: detectar padrões de uso de cartão de crédito fraudulento, identificar clientes “leais”, determinar gastos com cartão de crédito por grupos de clientes, encontrar correlações escondidas entre diferentes indicadores financeiros. Apólice de seguro: análise de reivindicações – determinar quais procedimentos médicos são reivindicados juntos, prever quais clientes comprarão novas apólices, identificar padrões de comportamento de clientes perigosos, identificar comportamento fraudulento. Transporte: determinar as escalas de distribuição entre distribuidores, analisar padrões de carga. Ciência e Tecnologia: avaliar grupos de pesquisa do país [28]. Web: existem muitas pesquisas direcionadas à aplicação de mineração de dados na Web. Além dos exemplos citados à cima podemos destacar também outros exemplos de acordo com [27]: Telefonia: realizar a classificação de clientes de uma grande empresa do ramo de telecomunicações de acordo com seu potencial de compra de serviços. Franquia de Fast-food: uma base de dados que continha informações das transações de venda de itens realizadas durante um determinado período de captação de dados a partir do ponto de venda de uma loja do ramo de “fast-food”. Esse período de captação, embora tenha sido localizado, foi definido de forma a refletir o comportamento comercial da loja em dias normais de venda [14]. Ação Social: Este projeto foi desenvolvido junto ao PRODERJ – Órgão de Tecnologia da Informação do Estado do Rio de Janeiro – e teve como objetivo auxiliar no processo de reintegração das pessoas de rua do estado [27]. Educação: Todas as escolas do estado do Rio de Janeiro responderam a questionários contendo mais de 600 perguntas referentes à sua gestão durante o ano de 2001. Uma grande base de dados gerada com as respostas desse questionário foi utilizada como fonte para um outro projeto de KDD, também realizado junto ao PRODERJ. Esse projeto teve como objetivos buscar caracterizar perfis de escolas, de forma a descobrir, dentre várias questões, por que determinadas têm uma procura maior que outras, por que algumas escolas têm alto índice de evasão, e assim por diante. Uma vez respondidas tais perguntas, foi possível para o governo estabelecer medidas efetivas conta alguns problemas detectados [27]. Área Financeira: O objetivo deste projeto foi gerar um classificador para caracterizar clientes que pagam em dia, clientes que pagam em atraso e clientes que não pagam seus créditos. Para tanto, considerou-se o histórico de pagamento de clientes de uma financeira que haviam recebido crédito durante um período definido. O classificador gerado foi incorporado a um Sistema Especialista que funciona como sistema de apoio à decisão na análise de novas solicitações de crédito recebidas na central de atendimento da referida financeira [27]. 2.5. Problemas com a obtenção de um banco de dados Inicialmente, este projeto esteve dirigido para aplicação na área da saúde, o que não aconteceu, pois ocasionariam uma demora na interpretação dos atributos e do ambiente que seria avaliado. O próximo passo foi escolher outra aplicação, que poderia ser na área da educação com o tema: Evasão de Alunos na Universidade Católica de Goiás, nos Cursos de Engenharia da Computação e Ciência da Computação. Mas após entrarmos em contato com algumas pessoas responsáveis pelo bando de dados da UCG, não foi possível conseguir os dados pra o estudo. Foi decidido então, que iríamos aplicar o estudo na área do esporte, mais especificamente no atletismo (corrida dos cem metros rasos livres). Então o tema escolhido foi: Fatores Intervenientes na Chegada dos Cem Metros Rasos. CAPÍTULO III FATORES INTERVENIENTES NA CHEGADA DOS CEM METROS RASOS A prova de 100m/r é uma modalidade olímpica de atletismo, considerada a prova mais importante das corridas de velocidade. Dura em torno de 10 segundos e os vencedores são muitas vezes reconhecidos como o homem ou mulher mais rápidos do mundo. Um atleta dá 45 passadas em média para percorrer o percurso e cruza a linha de chegada a cerca de 36 km/h [33]. A corrida dos 100m/r é uma prova de verdadeira força e reação explosiva, que é aplicada desde o início da corrida e que vai aumentando a velocidade de deslocamento progressivamente. O desenvolvimento da corrida de 100m/r permite-nos fazer a divisão, para efeito de análise e orientações para seu treinamento. A corrida se divide em 4 fases: partida ou reação; aceleração; desenvolvimento da velocidade máxima ou de coordenação rápida; aceleração negativa, desaceleração ou até resistência de velocidade. Os 100m/r do atletismo constituem uma prova cheia de nervosismo, para muitos, e de grande tensão emocional. Em razão do alto nível dos atletas e da distância, a prova é a corrida em torno de apenas 10 segundos. Nos últimos anos, os melhores registros atléticos em provas de velocidade têm sido realizados por atletas negros, o que é uma constante nos finais de Campeonatos Mundiais e nos Jogos Olímpicos. O recorde mundial dos 100 metros masculino pertence a Asafa Powell da Jamaica, obtido durante as semifinais do Meeting de Atletismo de Rieti, na Itália, em 2007, com a marca de 9.74 segundos. Já com as mulheres, o recorde de 10.49 segundos pertence a Florence Griffith Joyer, estabelecido em Indianápolis em 1988. O recorde nacional do Brasil pertence a Robson Caetano da Silva, com o tempo de 9.9 segundos [34]. Os atletas calçam sapatilhas que são tão leves quanto às de balé e pesam cerca de 170 gramas cada. As solas têm pregos de comprimento máximo fixado em 8,4 milímetros, e a espessura da sola não pode ultrapassar treze milímetros [33]. As condições térmicas e do clima, em particular o vento, são muito importantes na prova dos 100m/r, pois podem influenciar os tempos de chegada. Para efeitos de recorde do mundo, não são consideradas provas corridas com ventos traseiros de mais de 2m/s [33]. 3.1. Evolução da prova Todos os atletas de 100m/r são treinados para responder ao disparo do tiro de partida com prontidão. Um velocista campeão gasta em média 18 centésimos de segundo para dar início à sua corrida. Uma pessoa comum determinada leva cerca de 27 centésimos de segundo para reagir. A respiração é também muito treinada: os atletas inspiram na largada, expiram e inspiram novamente na marca dos 50m e expiram novamente só no fim da corrida [34]. No primeiro movimento (momento) o atleta avança cerca de 5m e as passadas iniciais medem 1,60m. Os campeões atingem sua velocidade máxima (em média 43 km/h) aos 35m de corrida, quando a extensão das passadas é em torno de 2,10m, e conseguem mantê-la até os 70m. Um atleta comum já terá alcançado a velocidade máxima (em média 27 km/h) na altura dos 25 metros de prova e começa a desacelerar a 50m do final da competição [34]. Os melhores tempos masculinos e femininos estão descritos nas tabelas 3.1 e 3.2 respectivamente. Ordem Tempo Vento (m/s) 1 9.74 +1.4 Atleta Asafa Powell País Jamaica +1.6 2 6 7 10 12 +1.5 9.77 Asafa Powell Jamaica +1.0 9.79 9.84 9.85 9.86 Data Local 09/09/2007 Rieti 14/06/2005 Atenas 11/06/2006 Gateshead 18/08/2006 Zurique +1.7 Justin Gatlin Estados Unidos 12/05/2006 Doha +0.1 Maurice Greene Estados Unidos 16/06/1999 Atenas +0.7 Donovan Bailey Canadá 27/07/1996 Atlanta +0.2 Bruny Surin Canadá 22/08/1999 Sevilha +1.0 Tyson Gay Estados Unidos 18/08/2006 Zurique +1.2 Leroy Burrell Estados Unidos 06/07/1994 Lausanne +1.7 Olusoji Fasuba Nigéria 12/05/2006 Doha +1.2 Carl Lewis Estados Unidos 25/08/1991 Tóquio -0.4 Frank Fredericks Namíbia 03/07/1996 Lausanne +1.8 Ato Boldon Trinidad e Tobago 19/04/1998 Walnut +0.6 Francis Obikwelu Portugal 22/08/2004 Atenas Tabela 3.1 - Os 15 melhores tempos – masculino [34] Ordem Tempo 1 2 10.49 Vento (m/s) 0.0 10.65A +1.1 Atleta País Data Local Florence G. Joyner Estados Unidos 16/07/1988 Indianapolis Marion Jones Estados Unidos 12/09/1998 Johannesburg 3 10.73 +2.0 Christine Arron França 19/08/1998 Budapeste 4 10.74 +1.3 Merlene Ottey Jamaica 07/09/1996 Milão 5 10.76 +1.7 Evelyn Ashford Estados Unidos 22/08/1984 Zurique 6 10.77 +0.9 Irina Privalova Rússia 06/07/1994 Lausanne +0.7 Ivet Lalova Bulgária 19/06/2004 Plovdiv Dawn Sowell Estados Unidos 03/06/1989 Provo 0.0 Li Xuemei China 18/10/1997 Xangai -0.1 Inger Miller Estados Unidos 22/08/1999 Sevilha 8 9 10.78A +1.0 10.79 Tabela 3.2 – Os 12 melhores tempos de sempre – feminino [34] 3.2. Descrição do Problema O objetivo desta pesquisa é identificar e avaliar os fatores que influenciam um atleta a ter um bom desempenho na corrida dos 100m/r, analisando um conjunto de atributos (variáveis), tendo como fonte um questionário elaborado pelo Prof. Ernesto Flávio Batista Borges Pereira, professor de Educação Física da UCG e mestrando em Ciências Ambientais e Saúde. Com a aplicação das técnicas de mineração de dados é possível ampliar o conhecimento sobre os atletas com maior probabilidade de ter um bom desempenho na corrida dos 100m/r, através dos fatores aplicados a mineração de dados e produzir regras que definam se o atleta tem boas condições de ser competitivo nos 100m/r já nas primeiras avaliações. Retirado 3.3. Base de dados Os dados foram cedidos em formato impresso através de um questionário elaborado pelo prof. Ernesto Flávio Batista Borges Pereira que contém informações referentes a 16 pessoas entre homens e mulheres residentes no Brasil e é composto por vários atributos (fatores). Como os atributos são muito vastos, apenas os mais importantes serão utilizados para poder aplicar a mineração de dados. Os atributos que foram considerados importantes na primeira etapa deste trabalho foram aqueles não apresentavam repostas redundantes para atletas diferentes na base de dados. Exemplo: nome, endereço, número de celular e outros. O preenchimento não padronizado do questionário dificultou a integração das informações, levando um tempo considerável para a identificação de quais fatores preenchidos no questionário seriam utilizados na aplicação da técnica escolhida, além de ter dificultado o momento de passar o questionário para “linguagem” que o sistema Weka aceita para aplicar a mineração de dados. O questionário, chamado de FICHA DE AVALIAÇÃO FÍSICA E ANAMNESE, foi dividido em cinco partes, sendo elas (A,B,C,D e E): A) Identificação: Parte onde contém nome, sexo, endereço, contatos, profissão, estado civil, [ITEM RETIRADO]data de nascimento. B) Anamnse: Parte onde contém os objetivos do atleta na modalidade, como: estética, lazer, preparação física, condicionamento físico, saúde, alto rendimento, profilático e terapêutico. C) Fatores Físicos: Essa parte foi dividida em 5 subpartes: Medidas Antropométricas: ■ Peso Corporal; ■ Estatura; Composição Corpórea: ■ % de gordura; ■ Massa magra; Medidas Hemodinâmicas: ■ Fcmáx; ■ Fcrep; ■ VO2máx; Características Morfológicas: ■ Endomorfo; ■ Mesomorfo; ■ Ectomorfo; Testes Neuromusculares: ■ 50m parado; ■ 50m lançado; ■ Matsudo 40s; ■ Cooper (12 min.); ■ Shuttle run (vai-vem); ■ Burpee (coordenação); ■ Sentar e alcançar (flexibilidade); ■ RML abdominal; ■ RML flexão (braço); ■ Impulsão vertical; ■ Impulsão horizontal; ■ Potência aeróbia (1000m); D) Fatores de Saúde: Essa parte foi dividida em 2 subpartes: História Patológica Pessoal: ■ Cirurgia; ■ Doenças; ■ Medicamentos; ■ Lesões; ■ Alergias; ■ Outros; História Patológica Familiar: ■ Cardiopatia; ■ Hipertensão; ■ Outros; E) Fatores Sócio-Ambientais: Essa parte foi dividida em 3 subpartes: Hábitos sociais e condição sócio-econômica: ■ Tabagismo; ■ Etilismo; ■ Horas de sono; ■ Escolaridade; ■ Patrocínio; ■ Bolsa; ■ Salário; ■ Trabalho; Hábitos nutricionais: ■ Dieta; ■ Alimentação diária; ■ Suplementos Alimentares; Treinamento: ■ Realiza Treinamentos Regulares; ■ Quantas vezes por semana; ■ Quanto tempo/dia; ■ Faz musculação; ■ Possui treinador; ■ Realiza exame médico periodicamente; Alguns desses itens foram selecionados como atributos, que serão descritos no próximo capítulo. 3.4. Seleção dos dados O conjunto de fatores selecionados permitiram extrair uma variedade de informações e revelar a situação do “atleta” em relação ao bom desempenho performance durante a corrida dos 100m/r. Os fatores a serem utilizados na escolha dos atributos foram separar todos os atributos que estavam preenchidos corretamente e que constavam também preenchidos em todos os questionários respondidos pelos atletas e por ultimo os atributos excluídos foram os que não continham dado alguma. 3.5. Preparação dos dados Com os questionários em mãos, foram verificados que alguns atributos não foram preenchidos com clareza ou encontravam-se incompletos, que levou um gasto de tempo maior para analisar os dados e que provavelmente alguns atletas que preencheram o questionário não levaram a sério. Uma avaliação sobre os questionários foi feita para que a seleção dos fatores utilizados esteja coerente com o padrão da ferramenta Weka. Podendo assim obter um resultado consistente com os fatores escolhidos. Os relatórios foram passados para o formato digital, podendo ser aceitos e processados pelo Weka (sistema de mineração de dados utilizado para o processamento e estudos dos fatores selecionados). 3.6. Construção do modelo Envolvem as aplicações de mineração de dados sobre os dados selecionados. Técnicas diferentes podem ser aplicadas para o mesmo problema, mas existem formatos de dados diferentes, o que pode fazer ser necessário, dependendo a aplicação, voltar à fase de preparação dos dados. 3.7. Avaliação do modelo O modelo construído tem que ser criteriosamente avaliado visando sua aplicação no problema sugerido. O objetivo é determinar se algum conhecimento adicional foi descoberto ou se as hipóteses existentes foram confirmadas. Um especialista define se as regras selecionadas no estudo agregam valores úteis à predição. A medida dos resultados se refere especificamente ao valor para o negócio e se esse resultado pode ser usado no futuro. Devem-se identificar as informações úteis, sua incorporação aos processos de negócio e, mais importante, quem usará essas informações [4]. CAPÍTULO IV FERRAMENTA DE MINERAÇÃO DE DADOS Weka A ferramenta escolhida e utilizada foi o Weka, versão 3.5.3, por ser uma ferramenta de domínio público, interface amigável, de fácil entendimento e por atender as nossas necessidades. O Weka é uma ferramenta desenvolvida na Universidade de Waikato - Nova Zelândia, em linguagem orientada a objeto (Java) e disponível para as principais plataformas (Linux, Windows e Macintosh). O download do Weka pode ser feito pelo endereço http://www.cs.waikato.ac.nz//ml/weka. O Weka pode ser utilizado de diversas maneiras. Ele é formado por um conjunto de implementações de algoritmos de diversas técnicas de Mineração de Dados. 4.1. Ambiente Weka As execuções dos esquemas de aprendizagem reais são os recursos mais valiosos do Weka. O Weka fornece execuções dos algoritmos de aprendizagem que podem ser facilmente aplicados a uma série de dados, além de diferentes filtros que podem ser aplicados a esses algoritmos. Todos os métodos de mineração de dados podem ser testados e processados com o Weka como: regressão, classificação, agrupamento, associação e seleção de atributos. Conhecer os dados a serem processados é fundamental para um bom entendimento dos resultados. O Weka fornece um conjunto de ferramentas e interfaces que ajudam na visualização e manipulação desses dados (atributos). Os arquivos (banco de dados) processados devem estar no formato ARRF, que será descrito na próxima sessão. Algumas maneiras de se utilizar o Weka são: Aplicar algum dos métodos para uma melhor aprendizagem e saber mais sobre os dados processados através do resultado gerado. Gerar previsões sobre novos casos. Ao iniciar o Weka aparece a janela Weka GUI Chooser, que pode ser visualizada na figura 4.1. Essa janela é utilizada para abrir o Weka em um ambiente gráfico. Na parte inferior da janela aparecem seis botões: Simple CLI: Fornece uma interface com linhas de comando, que permite execução de comandos do Weka, para sistemas operacionais que não fornecem sua interface de linha de comando. Explorer: Um ambiente para explorar dados que será utilizado para processar e analisar nossos dados. Experimenter: Um ambiente para realizar experimentos e testes estatísticos entre os regimes de aprendizagem. Knowledge Flow: é um ambiente que apóia basicamente as mesmas funções que o Explorer, mas com um arrasta e cola. Uma vantagem é que apóia uma aprendizagem incremental. ArffViewer: Exibe arquivos ARFF em formato de tabela, podendo ser manipulados. Log: Tudo que é impresso para stdout ou stderr aparecerá em uma janela de registro. Figura 4.1 – Weka GUI Chooser 4.2. Arquivo ARFF O Weka possui um formato próprio para os dados, o ARFF (Attribute-Relation File Format). Antes de aplicar os dados a qualquer algoritmo do pacote Weka, estes devem ser convertidos para o formato ARFF, que consiste basicamente em duas partes. A primeira contém uma lista de todos os atributos, onde devemos definir o tipo do atributo ou os valores que ele pode representar. Quando utilizamos os valores, estes devem estar entre “{ }”. A segunda parte consiste das instâncias, ou seja, os registros a serem minerados com o valor dos atributos para cada instância separado por vírgula. “A ausência de um item em um registro deve ser atribuída pelo símbolo “?”. Uma vez feito isso, é necessário apenas carregar o arquivo em um editor de texto e adicionar o nome do conjunto de dados usando @relation nome_do_conjunto_de_dados. Para cada atributo usa-se @attribute, e após colocar uma linha com @data e logo em seguida os dados, salvando o arquivo com a extensão ARFF. Para transformar um arquivo em arff podemos usar programas de planilhas eletrônicas e banco de dados que permitem exportar os dados em um arquivo onde as vírgulas são os separadores. Para gerarmos um arquivo onde os dados serão separados por vírgula devemos clicar menu Arquivo seleciona a opção Salvar como... na caixa de dialogo Salvar como tipo seleciona a opção CSV (separado por vírgulas) digitamos o nome do arquivo e clicamos no botão Salvar, a mensagem que vem a seguir (arquivo.csv pode conter recursos que não sejam compatíveis com CSV (separado por virgula). Deseja manter a pasta neste formato?) clique em Sim. Carrega-se o arquivo com editor de texto, onde a primeira linha representa o cabeçalho das colunas, ou seja, o nome dos atributos sendo separados por vírgula, as linhas seguintes representam os registros onde cada atributo do registro está separado por virgula. Devemos acrescentar o cabeçalho do arquivo ARFF. Temos então na primeira linha o nome do conjunto de dados atribuído pelo comando @relation nome_do_conjuto_de_dados, em seguida temos a relação dos atributos, onde colocamos o nome do atributo e tipo ou seus possíveis valores, definido por @attribute nome_do_atributo tipo ou {valores}. Na seção dos dados colocamos o comando @data e nas próximas linhas colocamos os registros onde cada linha representa um registro. O passo seguinte é gravar o arquivo. Para isso selecionamos no menu Arquivo a opção Salvar como..., no menu Salvar como tipo selecione a opção Somente texto com quebra de linha. Em Nome do arquivo digite o nome do arquivo com a extensão arff. Agora podemos inicializar a análise dos dados usando o algoritmo apropriado, assumindo que já tenhamos instalado o Weka e o Java. A figura 4.11 se encontra no final deste capítulo ilustra o arquivo arff utilizado neste trabalho. 4.3. Explorer A maneira mais fácil de utilizar o Weka é pela interface Explorer, utilizada para a resolução dos problemas. Uma vez aberta, a tela inicial mostra na parte superior seis pastas de operações diferentes, em etapas independentes, que se pode realizar sobre os dados: Preprocess: onde pode ser feita a seleção da fonte dos dados (Open file, Open URL, Open DB), pode ser aplicado um filtro, a visualização e manipulação dos atributos. A imagem dessa parte da ferramenta pode ser vista na figura 4.2. Figura 4.2. – Weka Explorer (Preprocess) Classify: Onde é aplicado esquemas de classificação. A imagem dessa parte da ferramenta pode ser vista na figura 4.3. Figura 4.3. – Weka Explorer (Classify) Cluster: Onde são aplicados algoritmos de agrupamento. A imagem dessa parte da ferramenta pode ser vista na figura 4.4. Figura 4.4. – Weka Explorer (Cluster) Associate: Onde são aplicados algoritmos de busca de regras de associação. A imagem dessa parte da ferramenta pode ser vista na figura 4.5. Figura 4.5 – Weka Explorer (Associate) Select Attributes: Onde são feitas as buscas supervisionadas de subconjuntos de atributos representativos. A imagem dessa parte da ferramenta pode ser vista na figura 4.6. Figura 4.6. – Weka Explorer (Select attributes) Visualize: ferramenta interativa de apresentação gráfica em 2D. A imagem dessa parte da ferramenta pode ser vista na figura 4.7. Figura 4.7 – Weka Explorer (Visualize) Em todas as pastas na parte inferior direita aparece o botão log. Quando o mesmo é clicado é apresentada uma janela onde aparece no formato texto todas as seqüências de operações feitas dentro do Explorer tais como, tempo, mensagens de erros etc. Um Log gerado pode ser visualizado pela figura 4.8. Junto com o botão Log aparece um ícone de execução (é o pássaro Weka, que se move enquanto está realizando alguma tarefa) e na parte inferior esquerda aparece o indicador de status, que indica que tarefa está realizando no momento dentro do Explorer. Figura 4.8 – Weka Explorer (Log) 4.4. Características dos atributos Uma vez carregado os dados, aparece um quadro Current relation (Relação atual), onde é mostrado o nome do arquivo que foi aberto, a quantidade de instâncias e de atributos. Um abaixo aparecem todos os atributos disponíveis com os nomes, podendo ser selecionados para verificar com detalhe suas propriedades. Figura 4.9. – Weka Explorer (Preprocess) Na parte direita da figura 4.9, aparecem as propriedades do atributo selecionado. Se for um atributo simbólico, é apresentada a distribuição dos valores do atributo (número de instâncias que tem cada um dos valores). Se for um atributo numérico, são apresentados os valores máximo, mínimo, médio e desvio padrão. Outras características que se destacam são: Type (tipo), Distinct (número de valores distintos), Missing (número e porcentagem de instâncias com valores desconhecidos para o atributo) e Unique (valores de atributos que ocorre somente em um exemplo). Na parte inferior da figura 4.9, são apresentados os gráficos com os valores que os atributos possuem. Os gráficos podem apresentar cores diferentes, uma para cada valor de atributo diferente. Por último, tem-se o botão Visualize All, que permite visualizar os gráficos de todos os atributos ao mesmo tempo, ilustrado na figura 4.10. Figura 4.10. – Weka Explorer (Visualize All) 4.5. Associação Weka Os algoritmos de associação permitem a busca automática de regras que relacionam conjuntos de atributos entre si. São algoritmos não supervisionados, no sentido de que existem relações conhecidas a priori com as que contrastam a validez do resultado, sendo que os valores dessas regras são estaticamente significativos [tutorialWEKA.pdf, espanhol]. Existem vários algoritmos que possibilitam encontrar regras de associação. Entre eles estão: PARTITION, DIC, DHP, DLG, ABS e, o mais comum, o algoritmo APRIORI. O algoritmo Apriori na ferramenta Weka trabalha apenas com valores categóricos nominais (strings) e o arquivo que contém os dados deve estar no formato ARFF. O algoritmo Apriori é um dos mais conhecidos quando o assunto é mineração de regras de associação em grandes bancos de dados centralizados. Ele encontra todos os conjuntos de itens freqüentes, denominados itemsets freqüentes [18]. O algoritmo Apriori realiza buscas sucessivas em toda a base de dados, mantendo um ótimo desempenho em termos de tempo de processamento [1]. 4.6 Classificação Weka Na classificação, utilizamos o algoritmo J48 que é uma implementação do algoritmo C4.5 que gera árvore de decisão, e é um dos algoritmos de mineração de dados mais utilizado em varias aplicações. O J48 constrói um modelo de árvore de decisão baseado num conjunto de dados de treinamento, e usa esse modelo para classificar outras instâncias num conjunto de teste. 4.7. Atributos utilizados Os atributos utilizados/selecionados para o processo de mineração de dados contidos no questionário foram: Sexo: Indica o sexo do atleta. ■ Velocista100M: Indica se o atleta é ou não velocista dos 100m/r. ■ Indica qual a melhor marca dos 100 m/r de cada atleta. ■ Indica se o objetivo do esporte é de estética com o atleta. ■ Indica se o objetivo do esporte é de lazer com o atleta. ■ Indica se o objetivo do esporte é com a preparação física do atleta. ■ Indica se o objetivo do esporte é com o condicionamento físico do atleta. ■ Valores: {Sim,Não} SAUDE: Indica se o objetivo do esporte com o atleta é com a saúde. ■ Valores: {Sim,Não} CONDICIONAM.FISICO: Valores: {Sim,Não} PREPARAÇÃO_FISICA: Valores: {Sim,Não} LAZER: Valores: Numérico. ESTETICA: Valores: {Sim, Não} Melhor_Marca_100M: Valores: {M,F} Valores: {Sim,Não} ALTORENDIMENTO: Indica se o objetivo do esporte com o atleta é com o alto rendimento do atleta. ■ TERAPEUTICO: Indica se o objetivo do esporte com o atleta é terapêutico. ■ Indica o peso corporal em (Kg) do atleta. ■ Indica o tamanho em (cm) do atleta. ■ Indica se o atleta possui alguma Histório Patológica Pessoal. ■ Indica se o atleta já passou por alguma cirurgia. ■ Indica se o atleta já teve alguma doença. ■ Valores: {Sim,Não} HPP.MEDICAMENTOS Indica se o atleta tomou ou toma algum medicamento. ■ Valores: {Sim,Não} HPP.DOENCAS: Valores: {Sim, Não} HPP.CIRURGIA: Valores: Numerico HPP: Valores: Numerico Estatura: Valores: {Sim,Não} Peso_Corporal: Valores: {Sim,Não} Valores: {Sim,Não} HPP.LESOES Indica se o atleta teve ou possui alguma lesão. ■ HPP.ALERGIAS Indica se o atleta possui algum tipo de alergia. ■ Valores: {Sim,Não} HPF Indica se o atleta possui alguma doença (História Patológica Familiar). ■ Valores: {Sim,Não} Valores:{Sim, Não} HPF.CARDIOPATIA Indica se o atleta possui alguma doença (História Patológica Familiar de CARDIOPATIA) ■ Valores:{Sim,Não} HPF.HIPERTENSAO Indica se o atleta possui alguma doença (História Patológica Familiar de HIPERTENSÃO) ■ FUMANTE Indica se o atleta é fumante. ■ Valores: {Sim,Não} Ja_Fumou Indica se o atleta já fumou durante algum tempo. ■ Valores: {Sim,Não} Valores: {Sim,Não} Estilismo Indica se o atleta ingere bebida alcoólica (diariamente, 2 a 3x na semana, socialmente ou não bebe) ■ Valores: Nominal Horas_Sono Indica a quantidade de horas de sono. ■ Patrocinio Indica se o atleta possui algum tipo de patrocínio. ■ Indica se o atleta possui alguma bolsa para estudos. ■ Indica se o atleta recebe algum salário (quantidade de salário mínimo). ■ Indica se o atleta trabalha. ■ Indica se o atleta faz alguma dieta. ■ Indica se o atleta faz ou não alguma dieta para ganhar peso. ■ Valores: {Sim,Não} Dieta_Perde_Peso Indica se o atleta faz alguma dieta para perder peso. ■ Valores: {Sim,Não} Dieta_Ganha_Peso Valores: {Sim,Não} Dieta Valores: {1-2,3-4,5-6,7Acima} TRABALHO Valores: {Sim, Não} Salario Valores: {Sim,Não} Bolsa Valores: Numerico Valores: {Sim,Não} QTDE_Refeicoes_dia Indica quantidade de refeições que o atleta faz por dia. ■ Suplementos_Alimentares Indica se o atleta utiliza ou não suplementos alimentares. ■ Indica se o atleta faz ou não algum treinamento. ■ Indica a quantas vezes por semana o atleta treina. ■ Indica quanto tempo por dia o atleta treina. ■ Indica se o atleta faz ou não musculação. ■ Indica se o atleta possui ou não treinador. ■ Valores: {Sim,Não} Exames_Medicos_Periodicos Indica se o atleta realiza exames médicos periodicamente. ■ Valores: {Sim,Não} Treinador Valores: Numerico Musculacao Valores: Numerico QTDE_TempDia_Treina Valores: {Sim,Não} QTDE_Treino_Semana Valores: {Sim,Não} Treinamento Valores: Numerico Valores: {Sim,Não} Quanto_Quanto_Tempo_Exame Indica de quanto em quanto tempo o atleta realiza exames médicos. ■ Valores: {3M,6M,12M,24M,MAIS} ■ M=Mêses 4.8. Arquivo no formato ARFF. @relation '100mRasos' @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute @attribute Sexo {M,F} Velocista100M {SIM,NAO} Melhor_Marca_100M {BOA,MEDIO,RUIM} ESTETICA {SIM,NAO} LAZER {SIM,NAO} PREPARACAO_FISICA {SIM,NAO} CONDICIONAM.FISICO {SIM,NAO} SAUDE {SIM,NAO} ALTORENDIMENTO {SIM,NAO} PROFILATICO {SIM,NAO} TERAPEUTICO {SIM,NAO} Peso_Corporal {PESO_ABAIXO,PESO_IDEAL,PESO_ACIMA} Estatura {EST_BAIXA,EST_MEDIA,EST_ALTA} HPP {SIM,NAO} HPP.CIRURGIA {SIM,NAO} HPP.DOENCAS {SIM,NAO} HPP.MEDICAMENTOS {SIM,NAO} HPP.LESOES {SIM,NAO} HPP.ALERGIAS {SIM,NAO} HPF {SIM,NAO} HPF.CARDIOPATIA {SIM,NAO} HPF.HIPERTENSAO {SIM,NAO} Fumante {SIM,NAO} Ja_Fumou {SIM,NAO} Etilismo {DIARIAMENTE,2A3xSEMANA,SOCIALMENTE,NAOBEBE} Horas_Sono {REPO_BAIXO,REPO_IDEAL,REPO_ACIMA} Patrocinio {SIM,NAO} Bolsa {SIM,NAO} Salario {1-2,3-4,5-6,7ACIMA,NAOTEM} TRABALHO {SIM,NAO} Dieta {SIM,NAO} Dieta_Ganha_Peso {SIM,NAO} Dieta_Perder_Peso {SIM,NAO} QTDE_Refeicoes_dia {2,3,4,5,6ACIMA} Suplementos_Alimentares {SIM,NAO} Treinamento {SIM,NAO} QTDE_Treino_Semana {1A2,3A4,5A7} QTDE_TempDia_Treina {1A2H,2A3H,3A4H,ACIMA4H} Musculacao {SIM,NAO} Treinador {SIM,NAO} Exames_Medicos_Periodicos {SIM,NAO} Quanto_Quanto_Tempo_Exame {3M,6M,12M,24M,24ACIMA,NAOTEM} @data F,SIM,RUIM,NAO,NAO,NAO,NAO,NAO,SIM,NAO,NAO,PESO_IDEAL,EST_MEDIA,SIM,SIM,NA O,NAO,NAO,NAO,SIM,SIM,SIM,NAO,NAO,NAOBEBE,REPO_IDEAL,NAO,SIM,34,NAO,NAO,NA O, NAO,3,SIM,SIM,5A7,3A4H,SIM,SIM,SIM,6M . . 4.5 Figura – Arquivo no formato ARFF CAPÍTULO V APLICAÇÃO E RESULTADOS 5.1. Aplicando as regras Neste capítulo são descritos a aplicação e os resultados obtidos através da utilização dos métodos de mineração de dados juntamente com estudos estatísticos e inteligência artificial, para que com esses resultados se possa traçar o padrão ideal de um perfil de corredores de 100m/r que obtiveram melhor performance. O objetivo é levantar um conjunto de variáveis ( ou fatores) que contribuem para um desempenho ideal de um atleta corredor dos 100m/r dentro do escopo analisado. Uma vez posto este objetivo seguem abaixo os passos que foram seguidos, a fim de se chegar em fatores relevantes para uma conclusão coerente com a questões requeridas. 5.2. A base de dados A base de dados utilizada para que este estudo fosse realizado provém a partir de vários questionários manuais preenchidos pelos atletas avaliados. Com os questionários em mãos, foram feitas as devidas análises para que os dados colhidos fossem transportados para o modelo padrão utilizados pela ferramenta Weka e que tivessem total compatibilidade para uma perfeita execução do problema em busca da solução para o problema em questão. Para isso algumas premissas consideradas importantes foram checadas antes que os dados escolhidos tomassem o formato para a base de dados que será de uso do estudo. 5.2.1. Premissas estabelecidas No começo de seleção dos atributos do questionário estabeleceu-se que todos aqueles campos em que apareceriam em comum no preenchimento dos dados dos questionários aplicados seriam as variáveis para o começo do estudo. Devido a alguns problemas que foram constatados, como a falta de informações preenchidas, dados incoerentes, dados incompletos e fora de um padrão, estes foram retirados da base de dados. Além disso, algumas medidas consideradas importantes foram tomadas a fim de melhorar a consistência dos dados colhidos, tais como: Dados em brancos, ou seja, que não foram preenchidos foi tirado da lista de atributos. Os atributos nome, endereço, data de nascimento, bairro, cidade, cep, email, profissão, estado civil, telefone residencial, celular e data em que foi aplicado o questionário foram também retirados da lista por se tratar de uma gama muito pequena de atletas avaliados e distintos, não seria relevante a inserção desses atributos para a aplicação nesse caso de mineração de dados, visto que em outras condições onde a quantidade de atletas avaliados fosse um número grande e que contenha informações não tanto distintas umas das outras para um mesmo atributo, poderia ser de muita importância todos esses atributos retirados . O peso corporal foi arredondado em unidades de Kg. Para o atributo estatura, os valores que estavam em metros foram convertidos todos para centímetros. Foi criada, a opção hpf (histórico patológico familiar) com sim e não, em função de que no questionário ter a opção de outros tipos de histórico patológico, que poderiam ser preenchidos caso não fossem nenhuma das opções das disponibilizadas para serem assinalados. Para resolver esse problema, foi colocado como padrão sim ou não como opção. Opção sim, caso tenha outros como opção de histórico patológico familiar (mais não colocando a informação de qual seria o outro fator de saúde histórico patológico familiar (hpf)) e caso tenha alguma outra das opções disponibilizadas. E a opção não caso não tenha outros e nenhum das outras opções de hpf. A mesma lógica do hpf foi usada para o atributo hpp (histórico patológico pessoal) ou seja, caso o atleta tivesse assinalado a opção sim, caso tenha outros como opção de histórico patológico pessoal e caso tenha alguma outra das opções disponibilizadas. E a opção não, caso não tenha outros e nenhum das outras opções de hpp. Para o caso dos fumantes foi considerado que os atletas que marcaram a opção como não fumante também como nunca fumaram, a fim de melhorar e enriquecer mais a lista de atributos para a aplicação do mineração de dados. No etilismo foi feito uma otimização dos dados. Foi retirada a opção se bebe, pois se o atleta marcar a opção que bebe, ele teria que marcar as outras opções, tais como com que freqüência isso acontece para ele. Logicamente quando um desses preenchidos já indicará que ele é um atleta e faz uso de álcool. No atributo horas de sono, quando o dado continha a informação do tipo 6 a 8 hora de sono, foi escolhido o ponto médio dessas horas de sono, ou seja o valor 7 como horas de sono e no caso de 7 e 8 horas foi atribuído o menor valor. Na dieta foram separados os dados e colocado a opção em cada uma de sim e não, a fim de melhorar a leitura da relação de atributos selecionados. No suplemento alimentar foi retirada a opção de quais suplementos os atletas usam, pois por se tratar informações relativamente distintas umas das outras, de atletas para atletas, não seria interessante que os mesmo entrassem no rol de atributos, porque não haveria nenhum padrão a ser extraído desses. 5.3. Problemas para executar o método de classificação Para o resultado da proposta do trabalho foi realizado uma nova atualização em alguns campos da base de dados para que fossem retiradas algumas discrepâncias do que inicialmente foi fixado. Estes campos foram submetidos a uma nova premissa estabelecida para que tanto no método de classificação funcionassem na ferramenta Weka, quanto no método de associação que irá ser relatado posteriormente. A ferramenta Weka não consegue tratar campos de atributos que contenham dados numérico, quando o mesmo atributo foi declarado com o tipo numeric, ocasionou em erros da execução e o abortamento do aplicativo. 5.3.1. Novas premissas estabelecidas a) Atributo Melhor_Marca_100m/r Como os valores do melhor tempo variavam apenas entre 10 e 12 segundos, as marcas dos atletas na casa dos 10.0 segundos passaram a serem marcados como uma marca boa e os atletas tiveram na casa dos 11.0 segundos estarão como marca igual a média e 12 segundos como marca ruim. b) Atributo Estatura Para uma melhor discretização dos dados, foi fixado que atletas entre 150 cm e 159 cm como estatura baixa, valores entre 160 cm e 169 como estatura mediana e por fim valores > 170 como estatura alta. c) Atributo Peso Corporal Para o peso corporal foi considerado a seguinte fórmula para a discretização IMC=peso/altura2 onde o IMC é índice de massa corporal, que recebe o peso do atleta pela altura ao quadrado. Esta fórmula foi utilizada por se tratar da maneira mais utilizada por profissionais das diversas áreas que a necessitam freqüentemente dessa informação, além de ser uma fórmula rotulada pela OMS (organização mundial da saúde) para obter de uma forma mais precisa em seu quadro de critérios e discernir melhor qual indivíduo se enquadra em cada caso do quadro da tabela 5.1. Com o resultado calculado poderá ser determinado qual atleta está em seu peso ideal de acordo com sua altura, ver tabela 5.2 [18]. Tabela 5.1 - Classificação dos pesos para pessoas. Exemplo: Fórmula = IMC=peso/altura2 IMC = ? peso = 82 Kg altura = 1,82 Metros IMC = 82 / 1.82 * 1.82 IMC = 24.75 Atleta Peso Altura Resultado Classificação A 60 1,60 23;43 Peso Ideal B 68 1,75 22.02 Peso Ideal C 70 1,78 22.09 Peso Ideal D 71 1,69 24.85 Peso Ideal E 69 1,73 23.05 Peso Ideal F 46 1,53 24.86 Peso Ideal G 75 1,75 24.48 Peso Ideal H 69 1,69 24.15 Peso Ideal I 71 1,78 22.04 Peso Ideal J 60 1,69 21,00 Peso Ideal L 63 1,76 20.33 Peso Ideal M 57 1,67 20.43 Peso Ideal N 66 1,70 22.83 Peso Ideal O 68 1,72 22.98 Peso Ideal P 74 1,80 22.83 Peso Ideal Tabela 5.2 - Classificação dos atletas segundo a fórmula utilizada. d) Atributo Horas de Sono Para o campo horas de sono foi considerada uma regra geral que diz que indivíduos com horas de sono entre 6 e 8 horas de uma certa forma estão dentro de um padrão de sono ideal e para os valores abaixo e acima dos valores dessas extremidades não estão dentro do mesmo padrão de condições favoráveis a horas de sono, podendo assim o indivíduo estar com horas de sono a menos ou de mais para o seu repouso. 5.4. Resultados obtidos pelo método classificação Após as mudanças realizadas no antigo modelo de base de dados foi feita então a execução da ferramenta Weka utilizando o algoritmo j48, que é uma derivação implementada a partir do algoritmo C4.5, que procura gerar uma árvore de decisão a partir do atributo para o qual se deseja colher um possível ganho de informação. Sua funcionalidade está relacionada, conforme já mencionado, a uma árvore de decisão proposta na base de dados de treinamento. Este modelo é utilizado para classificar outras instâncias de um conjunto de teste. Durante todo o processo pode se utilizar de artifícios que a própria ferramenta contém como: o uso de podas na árvore, o número mínimo de instâncias por folha e a construção de árvore binária para que possa melhorar nas perspectivas do resultado (Fernando Luiz de Oliveira1, Thereza Patrícia. P. Padilha1,). Figura 5.1 – Árvore de decisão gerada pelo atributo melhor marca 100 m. A figura 5.1 ilustra o resultado em modo gráfico da ferramenta Weka utilizando o método da classificação, onde pode-se interpretar que atletas do sexo M (masculino) que tinham como objetivos a opção de saúde igual a sim tiveram um rendimento médio, ou seja, podemos dizer também que a maioria dos atletas do sexo masculino que obtiveram o rendimento igual a médio tem como opção de vida a prática do esporte por motivos de manter sua “saúde”. Olhando para a outra ramificação da árvore, onde mostra que atletas do sexo M (masculino) que não tinham o interesse pelo esporte, pelo motivo de saúde, tiveram uma performance igual a boa. Isto pode ser entendido melhor pelo fato de que a maioria dos atletas avaliados tinha como objetivo principal o alto rendimento. Analisado o outro nó folha gerado pelo sexo feminino nota-se que atletas do sexo igual a F (feminino) tiveram somente uma atribuição para sua ramificação gerada, que é a classificação da performance da atleta igual a médio. Para essa avaliação, pode-se notar que a base de ganho de informação gerada pelo algoritmo j48 não foi de muita relevância, visto que a base de dados para a qual foi proposta a execução do problema era muito pequena de tal forma que pudesse extrair dali informações que retornasse um ganho de informação considerável. Por outro lado, o nível de aprendizado foi notório quanto ao nível de resposta através da interpretação obtida, que foi muito aproximado do esperado. Esta aproximação do esperado pode ser vista em um modo visual, por se tratar de uma base de dados pequena. 5.5. Matriz de confusão Na área da inteligência artificial, uma matriz de confusão é uma ferramenta de visualização que normalmente é utilizada no processo de aprendizado supervisionada. Cada coluna da matriz de confusão representa as instâncias de uma classe previsível, enquanto que cada linha da matriz representa os casos em uma classe real. Uma grande vantagem da matriz de confusão é que ela torna fácil a para as duas classes estabeleciadas. Quando um conjunto de dados é desequilibrado, ou seja, quando uns percentuais de números em classes diferentes variam muito, a taxa de erro de uma classificação não será representada pelo verdadeiro desempenho de uma classificação. Isto pode ser entendido de maneira fácil com o seguinte exemplo. Se há, por exemplo 990 amostras da classe 1 e apenas 10 amostras da classe 2, o classificador pode ser facilmente desviado para a classe 1. E se o classificador classifica todas as amostras como classe 1, a precisão será de 99%. Esta não é uma boa indicação de desempenho. O classificar tinha 100% de reconhecimento da taxa de classe 1, mas uma de 0% de reconhecimento da taxa de classe 2. 5.5.1. Matriz de confusão para objeto em estudo Para este trabalho a matriz de confusão gerada e demosntrada na figura 5.2 podem notar se, que na primeira linha dos 7 classificados o sistema prevê que os 7 realmente são A (BOA), já na segunda linha dos 7, o sistema reconhece como 3 apenas sendo A (BOA) e somente 4 como B (MEDIO) e por último na terceira linha o sistema não previu que a única amostra a ser classificada não pertencia a C (RUIM) , mas sim a B (MEDIO). Sendo assim o sistema Weka ainda mostra que o percentual de acerto das 15 instância analisadas 11 foram classificado corretamente, ou seja, 73.3333 % e que apenas 4 não foram classificadas corretamente o que implicaria em 26.6667 %. Figura 5.2 - Matriz de Confusão gerada pelo atributo Melhor marca 100 m. 5.6. Associação Freqüentemente, em banco de dados que tem um armazenamento muito grande de dados, como por exemplos os de supermercados, deseja-se descobrir, por meio dos métodos de associação, importantes regras de itens que são comercializados no supermercado. O objetivo então deste método é encontrar associações relevantes que resultem em um X (antecedente) ⇒ Y (conseqüente) [28]. Nesta seção será mostrado se houve alguma regra resultante que retornasse alguns fatores que possam contribuir para uma boa performance dos corredores de 100m/r. É mostrado também alguns problemas ocasionados ao usar o método de associação e qual resultado foi extraído. O algoritmo escolhido e usado para o experimento foi o Apriori. Este algoritmo é capaz de gerar regras do tipo: clientes do sexo masculino, casados, com renda superior a R$ 1.800,00 têm o seguinte hábito de consumo: roupas de grife, perfumes nacionais, relógios importados [29]. 5.6.1. Problemas para executar o método de associação Além das discrepâncias já realizadas em alguns atributos na base de dados para o método de classificação, aqui no método de associação foram feitas mais alguns ajustes. Após as tentativas, sem sucesso, de executar a regra de associação da ferramenta Weka sem fazer alguma alteração, foi verificado que a quantidade de atributos alocados ultrapassava os limites de memória da própria ferramenta e isto ocasionava em erros de execução. Para contornar esse problema foi discutido em reunião que atributos considerados subjetivos, ou seja, sem um poder de respostas mais precisa por parte dos atletas fossem retirados. a) Atributos retirados considerados subjetivos @attribute ESTETICA {SIM,NAO} @attribute LAZER {SIM,NAO} @attribute PREPARACAO_FISICA {SIM,NAO} @attribute CONDICIONAM.FISICO {SIM,NAO} @attribute SAUDE {SIM,NAO} @attribute ALTORENDIMENTO {SIM,NAO} @attribute PROFILATICO {SIM,NAO} @attribute TERAPEUTICO {SIM,NAO} b) Fatores considerado como subjetivo. O atleta, ao verificar o questionário na parte Anamnese no quesito objetivos, tem opções que podem variar de acordo com a escolha que ele próprio vai fazer. Sendo assim, esta escolha poderia variar dependendo do momento da resposta do questionário, do interesse do atleta, o que não caracteriza uma resposta objetiva. Outro fator também relacionado é a incapacidade do atleta em responder com segurança alguns itens e isto também introduz uma subjetividade. 5.7. Resultados obtidos pelo método de associação A ilustração da figura 5.3 mostra as melhores regras de associação encontradas pelo algoritmo Apriori. Pode ser visto que não foi gerada nenhuma regra significativa para o experimento em estudo. Um dos motivos para justificar essa má informação gerada pelo algoritmo executado pela ferramenta está relacionada à quantidade de atributos para poucos dados. Figura 5.3 – Melhores regras encontradas pelo Apriori. Para que uma regra de associação possa trazer resultados que venham a ser de interesse de um pesquisador de dados (data miner ), a regra precisa satisfazer alguns critérios. Dois desses critérios de muita importância, conforme relatado capítulo 3, são o suporte e a confiança que esses resultados têm à informar [26]. Quando um dos dois critérios citados não gera informações coerentes para o objeto em estudo, a probabilidade de que estas informações venham a retornar um resultado insatisfatório é muito grande. No entanto, o resultado desde experimento gerou regras que mostraram a freqüência em que ocorreram os fatos, que é igual a 15, o mesmo número de linhas ou instâncias analisadas na base de dados e confiança igual a 1 para todos, ou seja, 100 % dos fatos ocorridos que realmente aconteceram. O que se pode concluir com este resultado e com outros também executados com a retirada de mais atributos de forma aleatória é que todos eles geram regras similares um das outras. Com isso nenhum resultado eficaz formado pelo algoritmo Apriori foi capaz de retornar informações consideradas relevantes para um bom entendimento do problema em questão. CAPÍTULO VI CONCLUSÃO Imensos volumes de dados têm sido sistematicamente coletados e armazenados nos bancos de dados das instituições, empresas, entre outros. Esses bancos de dados são uma fonte importante de informação. Os dados passam a ter uma devida importância se tratados e explorados de forma adequada. Com isso diversas tecnologias surgem ou são aprimoradas como KDD. A mineração de dados pode ser aplicada em diversas áreas, conforme apresentado no texto. Devido ao grande volume dos bancos de dados de certas entidades não seria viável que essa análise fosse feita de uma forma manual, o que seria muito complicado e levaria muito tempo para um resultado. A mineração de dados se torna muito importante por possuir aplicações que fazem essas analises de uma maneira mais prática rápida e eficaz através dos softwares existentes. Através delas podemos aplicar técnicas sobre os dados e a partir do resultado elaborar e aplicar soluções que podem ser úteis e muito importantes para o presente e futuro da entidade. Um dos exemplos mais conhecidos de mineração de dados é o da rede de hipermercado norte-america Wal-Mart, que identificou um hábito curioso dos consumidores, o que resultou em marketing para a empresa. A mineração de dados aplicada na área do esporte pode ajudar na preparação do atleta em relação ao treinamento, alimentação, saúde, porte físico entre outros, o que pode influenciar em uma melhora na evolução do atleta com o esporte praticado. Neste trabalho foi feita uma pesquisa de mineração de dados, aplicada na área do esporte com ênfase em atletas que praticam a corrida dos 100 metros rasos livre. Os dados utilizados foram reais. Buscas de padrões sobre a extração de informação foram feitas para visualizar o que poderia ser feito para ajudar os atletas. O meio encontrado e utilizado para o auxilio da aplicação dos métodos de mineração de dados foi a feramenta Weka. Os resultados deste trabalho indicam que para trabalhos futuros há mais fatores necessários para uma melhor análise. Para que o ganho de extração da informação seja mais importante para um data miner (minerador de dados). Um fator importante é que os dados estejam em total consistência com os quesitos necessários para que a ferramenta execute normalmente dentro dos seus padrões de normalidade. Outro fator muito importante também, e que colaborou para uma pequena extração de conhecimento deste trabalho, é que a base de dados a ser utilizada para estudos tenha uma grade quantidade de dados para que os métodos aplicados possam retornar resultados mais coerentes. REFERÊNCIAS BIBLIOGRÁFICAS 1. AGRAWAL, R. & SRIKANT, R. Fast algorithms for mining association rules. Proc. of the 20 th Int’l Conference on Very Large Databases. Santiago,Chile,set.1994. 2. AGRAWAL, R.; IMIELINSKI, T,; SWAMI, A. Mining Association Rules Between Sets of Itens in Large Databases. ACM SIGMOD Conference Management of Data, 1993. 3. BERRY, Michel J. A., LINOFF, Gordon. Data mining techniques for marketing, sales and customer support. John Wiley & Sons, New York, 1997, 454 p. 4. BISPO, CARLOS ALBERTO FERREIRA. Uma análise da nova geração de sistemas de apoio à decisão. São Carlos, 1998. Dissertação (Mestrado em Engenharia de Produção) – Escola de Engenharia de São Carlos, Universidade de São Paulo. 5. BRAGA, M. M. Perfil sócio econômico dos alunos, repetência e evasão no curso de Química da UFMG. São Paulo: NUPES, 1996. 6. BUSINESS OBJECTS. Introducing Business Miner: business mining for decision support insights. White Paper, 1997. 7. CARVALHO, L. A. V. Data Mining: A Mineração de Dados no Marketing, Medicina, Economia, Engenharia e Administração. 2. ed. São Paulo: Érica, 2001. 8. CRATOCHVIL, A. Data mining techniques in supporting decision making. Master Thesis - Universiteit Leiden, Leiden, 1999. 9. DANIEL T. LAROSE. Discovering Knowledge in Data – An Introduction to Data Mining. 2005. 10. DANIEL T. LAROSE. Discovering Knowledge in Data – An Introduction to Data Mining. 2005. 11. DILLY, RUTH. Data Mining - an introduction. Parallel Computer Centre – Queen's University of Belfast. Dezembro, 1995. 12. FELDENS, MIGUEL A. Descoberta de conhecimento aplicada à detecção de anomalias em base de dados. Porto Alegre: PPGCC da UFRGS, 1996. 13. GODOY, R. Aplicação de Landmarkers no Processo de Descoberta de Conhecimento em Bases de Dados . Trabalho de Conclusão de Curso de graduação, Ciência da Computação, Centro Universitário da Cidade do Rio de Janeiro, 2004. 14. GROTH, ROBERT. Data mining: a hands-on approach for business professionals. Prentice Hall, New Jersey, 1998. 15. GUSTAVO SILVA SEMAAN, ANDREI DE ALENCASTRO GRAÇA, CARLOS RODRIGO DIAS. Descoberta de Associações em Dados. Faculdade Metodista Granbery. 16. http://209.85.165.104/search?=cache:N0RgYdgyC9wJ:www.din.uem.br/wesley/Aprio ri.pdf+Algoritmo+Apriori&hl=pt-BR&ct=clnk&cd=1&lr=lang_pt (02/11/2007 – 10:40). 17. http://www.copacabanarunners.net/imc.html (11:00h 20/11/2007). 18. IAN H. WITTEN & EIBE FRANK. Data Mining – Pratical Machine Learnng Tools and Techniques. 2ª edição 2005. 19. IBM. IBM'S data mining technology. White Paper, 1996. 20. LIPO WANG, XIUJU FU. Data Mining with Computational Intelligence. SpringerVerlag Berlin Heidelberg 2005. 21. LUBEL, KENNETH S. Data mining: a new way to find answers. White Paper. University of 22. Maryland European Division, 1998. 23. MARCELINO PEREIRA DOS SANTOS SILVA. Mineração de Dados - Conceitos, Aplicações e Experimentos com Weka. 24. OLIVEIRA, FERNANDO DE L.,PADILHA, TEREZA P. P., PREVIERO, CONCEIÇÃO A., MELO, ANA CÁSSIA G. Utilização de Algoritmos Simbólicos para a Identificação do Número de Caroços do Fruto Pequi. Tocantins: Centro Universitário Luterano de Palmas. Curso de Sistemas de Informação,Curso de Engenharia Agrícola, 10 p. 25. OMAR QUEIROZ. http://www.helpers.com.br/conteudo.php?secao=3&cod_artigo=1 33 (16/10/2007 – 20:18). 26. RAMEZ E. ELMASRI & SHAMKANT NAVATHE. Sistema de Banco de Dados. 27. RONALDO GOLDSCHIMIDT, EMMANUEL PASSOS. Data Mining – Um guia prático, 2005. 28. ROMÃO, WESLEY, NIEDERRAUER, A. P.,MARTINS, ALEJANDRO, MARTINS, TCHOLAKIAN, PACHECO, ROBERTO C. S., BARCIA, RICARDO M. Extração de regras em C&T: O algoritmo apriori. Santa Catarina: UFSC, Programa de PósGraduação em Engenharia de Produção, 20 p. 29. SILVA, MARCELINO P. S. Mineração de Dados - Conceitos, Aplicações e Experimentos com Weka. Rio Grande do Norte, São Paulo:Universidade do Estado do Rio Grande do Norte, Instituto Nacional de Pesquisas Espaciais, 20 p. 30. SIMOUDIS, EVANGELOS. Reality check for Data Mining. IEEE EXPERT, Oct. 1996. 31. VIVEROS, M.S. et al. Applying data mining techniques to a health insurance information system. In: VLDB CONFERENCE, 22., 1996, Bombay. Proceedings… Bombay: IIT Bombay, 1996. p. 286-295. 32. WESTPHAL, CHRISTOPHER; BLAXTON, TERESA. Data mining solutions. Canadá : John Wiley & Sons Inc, 1998. 33. WIKIPEDIA. http://en.wikipedia.org/wiki/Confusion_matrix (11:20h 20/11/2007). 34. WIKIPEDIA. http://pt.wikipedia.org/wiki/100_metros_rasos (01/10/2007 – 09:00h). 35. WIKIPEDIA. http://pt.wikipedia.org/wiki/Minera%C3%A7%C3%A3o_de_dados (16/10/2007 – 19:10).