Вы находитесь на странице: 1из 94

ROMEU CESTARO

MINERAÇÃO DE DADOS APLICADA À IDENTIFICAÇÃO DE ALUNOS PROPENSOS À EVASÃO DO CEULJI/ULBRA DE JI-PARANÁ/RO

Ji-Paraná

2006

ROMEU CESTARO

MINERAÇÃO DE DADOS APLICADA À IDENTIFICAÇÃO DE ALUNOS PROPENSOS À EVASÃO DO CEULJI/ULBRA DE JI-PARANÁ/RO

Trabalho apresentado ao Centro Universitário Luterano de Ji-Paraná – CEULJI, como requisito para obtenção de grau de Bacharel no curso de Sistemas de Informação, sob orientação da professora Mestre Letícia Carvalho Pivetta.

Ji-Paraná

2006

Cestaro, Romeu

C422m

propensos à evasão do CEULJI/ULBRA de Ji-Paraná/RO. / Cestaro

Romeu. – Ji-Paraná : ULBRA, 2006 92. : il. ; 30cm

Mineração de dados aplicada à identificação de alunos

Trabalho de Conclusão de Curso – TCC (Graduação) -

Centro Universitário Luterano de Ji-Paraná – ULBRA, Ji-Paraná,

2006.

1 Sistemas de Informação. 2 Mineração de Dados. 3 Inteligência Artificial. 4 Técnica de Mineração de Dados. I. Autor II. Título

CDU 681.3: 007.52

ROMEU CESTARO

MINERAÇÃO DE DADOS APLICADA À IDENTIFICAÇÃO DE ALUNOS PROPENSOS À EVASÃO DO CEULJI/ULBRA DE JI-PARANÁ/RO

AVALIADORES

 

-

Profª. M.Sc. Letícia Carvalho Pivetta (Orientadora)

Nota

 

-

Prof. M.Sc.Willian Bolzan dos Santos

Nota

 

-

Prof. M.Sc. Milcíades Alves de Almeida

Nota

Ji-Paraná

2006

Dedico a Deus, pela força que mesmo eu desconhecia.

Agradeço a minha família, não só pelo apoio financeiro, mas também pela motivação que, em muitos momentos, infelizmente, eu não soube notar e/ou apreciar; aos meus amigos verdadeiros, em especial os que estiveram ao meu lado todos os momentos: Ilma Fausto, Hildeleidy Moreno, Fabiana Wensing, Lisiane Nunes e Fábio Pereira (sem contar muitos outros colegas de curso que foram amáveis e gentis comigo, os quais não citarei aqui, sob pena de esquecer alguns); à professora Letícia, que sempre me transmitiu segurança durante os anos de Faculdade - não a toa a escolhi para ser minha Orientadora; e, por fim, agradeço a companhia e a amizade da galera do ônibus (em especial, Gracinha, Elaine, Ione Teles, Cleide e tantos outros).

“Estamos afogados em informação, mas morrendo de fome por conhecimento” (John Naisbett).

RESUMO

O objetivo do presente trabalho é a construção de um sistema inteligente que seja capaz de identificar alunos propensos à evasão, realizando um estudo de caso no âmbito do curso de Sistemas de Informação do CEULJI/ULBRA de Ji-Paraná/RO. Para tanto, além de pesquisas bibliográficas sobre assuntos relacionados, tais como Inteligência Artificial e Mineração de Dados e da realização do estudo de caso real, também foi realizada uma aplicação simulada, com o objetivo de complementar os argumentos levantados no referido estudo de caso. A metodologia utilizada é baseada nos processos de Mineração de Dados (identificação do problema, pré-processamento, extração de padrões, pós-processamento e a utilização do conhecimento). O cumprimento de todos os processos citados foi marcado por uma série de problemas que acabaram por definir os rumos do presente trabalho, entretanto, a Mineração de Dados revelou-se uma técnica inteligente facilitadora do processo de análise e busca de padrões dentro de conjuntos de dados; a realização das etapas do processo de Mineração de Dados na busca de padrões nos dados dos alunos do curso de Sistemas de Informação do CEULJI/ULBRA gerou bons resultados, classificando os exemplos de alunos corretamente (cerca de 80% no estudo de caso real e 100% na aplicação simulada) como formados ou evadidos, e também trouxe à tona alguns pontos com relação aos dados de alunos e ao desempenho do sistema utilizado pela instituição que devem ser considerados e/ou melhorados (com relação a dados de alunos que deveriam ser armazenados e melhoria de acesso aos dados do sistema utilizado). Palavras-chaves: Evasão na Universidade, Inteligência Artificial, Mineração de Dados.

ABSTRACT

The goal of this work is the development of an intelligent system capable to identify students that have propensity to be dropouts, making a case study in the course of Information Systems from CEULJI/ULBRA in Ji-Paraná/RO. Besides bibliographic researches on related topics, such as Artificial Intelligence and Data Mining and the realization of the real case study, it was also made a simulated application, aiming to complement the arguments from the referred case study. The methodology used is based on the processes of Data Mining (problem identification, pre-processing, pattern extraction, post-processing and the knowledge utilization). The realization of all the mentioned processes revealed a range of problems that ended up defining the directions of this work, however, the Data Mining revealed itself as an intelligent technique that makes the process of analysis and search of patterns from data sets become easier; the realization of the processes of Data Mining in searching of patterns from the dataset of the students of the course of Information System from CEULJI/ULBRA generated good results, classifying the instances of students correctly (about 80% in the real case study and 100% in the simulated application), and also brought out some points related to the students data and the performance of the software system used by the institution that must be considered and/or improved (related to the students’ data that should be stored and the improving of the data access from the used software system). Key-words: Artificial Intelligence, Data Mining, Evasion in University.

SUMÁRIO

LISTA DE FIGURAS

10

LISTA DE TABELAS

11

LISTA DE QUADROS

12

LISTA DE SIGLAS E ABREVIATURAS

13

INTRODUÇÃO

 

14

1 – MINERAÇÃO DE DADOS

16

1.1 – DADOS, INFORMAÇÃO E CONHECIMENTO

17

1.2 – PROCESSOS DE MINERAÇÃO DE DADOS

18

 

1.2.1 – Identificação do problema

19

1.2.2 – Pré-processamento

20

1.2.3 – Extração de Padrões

22

1.2.4 – Pós-processamento

23

1.3 – TAREFAS DE MINERAÇÃO DE DADOS

24

1.4 – TÉCNICAS DE MINERAÇÃO DE DADOS

26

 

1.4.1

– Escolha da Técnica de Mineração de Dados

28

1.5 – TECNOLOGIAS DE SUPORTE À MINERAÇÃO DE DADOS

31

 

1.5.1

– Aprendizado de Máquina

31

1.5.1.1 – Avaliação de algoritmos

36

1.5.1.2 – Avaliação de predição numérica

37

1.5.2

– Ferramentas de Mineração de Dados

38

1.5.2.1

– Ferramenta Weka

40

1.5.2.1.1 – O formato ARFF

44

2 – ESTUDO DE CASO

47

2.1 - IDENTIFICAÇÃO DO PROBLEMA

47

2.2 – P-PROCESSAMENTO

49

2.3 – EXTRAÇÃO DE PADRÕES

49

2.4 – PÓS-PROCESSAMENTO

50

 

2.4.1 – Desempenho sobre o conjunto de treinamento

52

2.4.2 – Desempenho sobre o conjunto de teste

53

2.4.3 – Definição do perfil dos alunos evasores

56

2.5

– CONSIDERAÇÕES SOBRE O ESTUDO DE CASO

56

3 – APLICAÇÃO SIMULADA

57

3.1 – DESEMPENHO SOBRE O CONJUNTO DE TREINAMENTO

59

3.2 – DESEMPENHO SOBRE O CONJUNTO DE TESTE

61

3.4 – CONSIDERAÇÕES SOBRE A APLICAÇÃO SIMULADA

63

CONCLUSÃO

65

REFERÊNCIAS

68

ANEXOS

69

LISTA DE FIGURAS

Fig.1: Etapas do processo de Mineração de Dados

19

Fig.2: Tarefas de Mineração de Dados

22

Fig.3: Ferramenta WEKA versão 3.4.7

40

Fig.4: Módulo WEKA Knowledge Explorer………………………………………………………………

41

Fig.5: Módulo WEKA Experiment Environment………………………………………………………….

42

Fig.6: Módulo WEKA KnowledgeFlow Environment…………………………………………………….

43

Fig.7: Módulo WEKA SimpleCLI…………………………………………………………………………

43

Fig.8: Arquivo ARFF para dados sobre clima……………………………………………………………

45

Fig.9: Desempenho dos classificadores……………………………………………………………………

51

Fig.10: Desempenho dos classificadores (aplicação simulada)

58

LISTA DE TABELAS

Tabela 1: Dados, informações, conhecimento……………………………………………………………

18

Tabela 2: Tarefas realizadas por técnicas de Mineração de Dados

25

Tabela 3: Técnicas de Mineração de Dados……………………………………………………………….

28

Tabela 4: Características de dados…………………………………………………………………………

30

Tabela 5: Conjunto de exemplos no formato atributo-valor……………………………………………….

34

Tabela 6: Matriz de Confusão de um classificador………………………………………………………

34

Tabela 7: Matriz de Confusão para a classificação com duas classes

35

Tabela 8: Medidas de desempenho para predição numérica (p para valores preditos e a para valores atuais)

38

Tabela 9: Algumas ferramentas para Mineração de Dados

39

Tabela 10: Atributos extraídos na coleta de dados………………………………………………………

48

Tabela 11: Atributos para aplicação simulada……………………………………………………………

57

LISTA DE QUADROS

Quadro 1: Saída do classificador KSTAR sobre o conjunto de treinamento

52

Quadro 2: Saída do classificador IB1 sobre o conjunto de treinamento

52

Quadro 3: Saída do classificador IBK sobre o conjunto de treinamento

53

Quadro 4: Saída do classificador KSTAR sobre o conjunto de teste

54

Quadro 5: Saída do classificador IB1 sobre o conjunto de teste

54

Quadro 6: Saída do classificador IBK sobre o conjunto de teste

55

Quadro 7: Saída do classificador KSTAR sobre o conjunto de treinamento (aplicação simulada)

59

Quadro 8: Saída do classificador IB1 sobre o conjunto de treinamento (aplicação simulada)

60

Quadro 9: Saída do classificador IBK sobre o conjunto de treinamento (aplicação simulada)

60

Quadro 10: Saída do classificador KSTAR sobre o conjunto de teste (aplicação simulada)

61

Quadro 11: Saída do classificador IB1 sobre o conjunto de teste (aplicação simulada)

62

Quadro 12: Saída do classificador IBK sobre o conjunto de teste (aplicação simulada)

62

LISTA DE SIGLAS E ABREVIATURAS

ARFF

Attribute-Relation Format File

CSV

Comma separated value

IB1

Instance-based (1 nearest neighbor)

IBK

Instance-based (K nearest neighbor)

KDD

Knowledge discovery in database

OLAP

On-line Analytical Processing

SimpleCLI

Simple Command Line

14

INTRODUÇÃO

O uso de computadores nas mais diversas áreas, e com os mais diversos propósitos, vem crescendo nos últimos tempos. Conseqüentemente, a quantidade de dados produzida pelos sistemas e seus respectivos usuários, segundo Frank e Witten (2000), parece crescer ininterruptamente.

Aplicações baseadas em Inteligência Artificial são cada vez mais utilizadas como ferramenta no processo decisório nas organizações. Dentre as várias áreas da Inteligência Artificial, destaca-se a Mineração de Dados, definida basicamente por Frank e Witten (2000) como o processo de descobrir padrões em dados; a Mineração de Dados, então, trata de resolver problemas pela análise de dados já presente em base de dados, que por sinal não carece de matéria-prima, tendo visto o crescimento iminente do volume de dados produzidos mundialmente, fato anteriormente mencionado.

De acordo com Amo (2004), a Mineração de Dados é um ramo computacional que surgiu nos anos 80, com a preocupação de várias empresas com o imenso volume de dados informáticos estocados e inutilizados dentro da empresa. Assim, a Mineração de Dados seria responsável por minerar estes dados e buscar padrões interessantes, capazes de responder a perguntas capazes de suprir as necessidades atuais de grandes empresas.

Frank e Witten (2000) destacam que a Mineração de Dados abrange uma extensa gama de aplicações, tais como: decisões envolvendo julgamento, como o aceite ou a recusa de

15

um candidato a um empréstimo qualquer; monitoramento de imagens de satélite; diagnóstico; marketing; e tantas outras.

Tendo observado a extensa abrangência da Mineração de Dados, percebeu-se a possibilidade da aplicação da mesma no combate à evasão escolar, que configura um problema grave, observado já há algum tempo, recorrente em todas as modalidades de ensino no país, inclusive dentro do Ensino Superior, tanto público quanto privado. Conforme pode ser observado no anexo 1, contido no presente trabalho, são vários os motivos que ocasionam a evasão, como a repetência, decepção com o curso escolhido, (des)prestígio da profissão, dificuldade na conciliação da jornada de trabalho com o horário escolar, entre tantos outros.

O objetivo do presente trabalho é utilizar a Mineração de Dados para a construção de um sistema inteligente que seja capaz de identificar acadêmicos do curso de Sistemas de Informação do CEULJI/ULBRA de Ji-Paraná que têm propensão à evasão, como uma ferramenta que pretende ao menos levar ao conhecimento da equipe diretiva do CEULJI/ULBRA os padrões descobertos a partir dos dados dos alunos.

O presente trabalho está dividido em três capítulos: o capítulo 1 fornece um embasamento teórico sobre Mineração de Dados, apresentando seus principais conceitos relacionados; o capítulo 2 descreve o estudo de caso realizado no curso de Sistemas de Informação do CEULJI/ULBRA de Ji-Paraná; e, por fim, o capítulo 3 apresenta os resultados de uma aplicação simulada, como complemento aos argumentos apresentados no capítulo 2.

16

1 – MINERAÇÃO DE DADOS

Com a evolução da computação, que promoveu o aumento da capacidade de processamento e armazenamento, tornou-se possível para uma aplicação gerar gigabytes ou terabytes de dados dentro de poucas horas, ultrapassando significativamente a quantidade de horas que pesquisadores levariam para realizar uma análise sobre esses dados gerados. (MELANDA; PAULA; PUGLIESI e REZENDE, 2003).

A necessidade atual transcende as aplicações relativamente simples, utilizadas anos atrás, as quais foram projetadas para geração de relatórios simplificados, como relatórios de produtos vendidos ao dia, relatórios de estoque, entre outros. Segundo os autores supracitados, o analista de negócio atual necessita de ferramentas capazes de responder a perguntas como “qual produto de alta lucratividade venderia mais com a promoção de um item de baixa lucratividade, analisando os dados dos últimos dez anos de venda?”. Nos tempos atuais, a resposta para uma pergunta como essa pode ser primordial para a sobrevivência de uma empresa.

Melanda, Paula, Pugliesi e Rezende (2003) afirmam que um primeiro passo na análise dos dados para fins de tomada de decisão seria o Data Warehousing, que consiste em um depósito que armazenará dados limpos, agregados e consolidados, prontos para serem analisados por ferramentas OLAP, que realizam consultas complexas em banco de dados multidimensionais com facilidade. Entretanto, segundo os autores, o usuário não poderá ser capaz de imaginar todas as possíveis relações e associações existentes em um grande volume de dados. Assim, faz-se necessária a utilização de técnicas computacionais na extração automática, ou semi-automática de conhecimento a partir de um grande repositório de dados.

17

A Mineração de Dados é o ramo da computação que busca extrair o conhecimento de

grandes quantidades de dados. Segundo Amo (2004), a Mineração de Dados surgiu nos anos 80, com a preocupação de algumas empresas com o imenso volume de dados informáticos estocados e inutilizados dentro da empresa. Assim, a Mineração de Dados será responsável

pela análise da grande quantidade de dados gerados, objetivando responder às perguntas complexas que configuram as necessidades atuais de grandes empresas.

A extração de conhecimento automática de Bases de Dados é chamada de Extração de

Conhecimento de Base de Dados, referenciado na literatura como Knowledge Discovery in Database (KDD) ou Mineração de Dados. Alguns autores como Amo (2004) consideram o KDD como um processo mais amplo, do qual a Mineração de Dados é uma etapa. Porém, assim como Melanda, Paula, Pugliesi e Rezende (2003), a conceituação a seguir deverá tratar os referidos termos sem quaisquer distinções ao descrever os processos da descoberta de conhecimento a partir dos dados.

1.1 – Dados, informação e conhecimento

De acordo com Rezende (2003), os dados podem ser considerados como elementos em seu estado puro, quantificável sobre um determinado evento, que por si só não oferecem embasamento para o entendimento da situação na qual estão inseridos (como o preço do dólar de determinado dia ou o valor do faturamento mensal). A informação são os dados analisados

e contextualizados. Envolve a interpretação de um conjunto de dados, onde será definida qual

a sua relevância a partir da contextualização em relação à situação envolvida (um exemplo a ser tomado é o impacto do faturamento mensal em empresas diferentes; um determinado valor de faturamento pode ser insatisfatório para uma empresa, mas o mesmo valor pode ser acima da média para uma outra empresa). O conhecimento trata da habilidade de formação de um modelo mental que descreva o objeto e determine que decisões tomar.

As diferenças entre dados, informações e conhecimento são também ilustradas por Jamil (2001), através de uma tabela de exemplos apresentada a seguir:

18

Tabela 1: Dados, informações, conhecimento.

Dado

Informações

Conhecimento

Quantia em dinheiro, capital

Coleção de quantias, Salários de funcionários, Saldos de correntistas, Perfil médio de ganhos, Quantias de dinheiro (é possível comparar se cada quantia é ou não destacável para análise)

Mecanismos de aplicação de dinheiro, Políticas e regras de investimento, Perfis de gasto e consumo, Prazos de investimento, Capitalização, Técnicas de investimento, Histórico de investimentos

Temperatura ambiente

Amostragem da temperatura para este período nos últimos seis anos, Evolução das temperaturas nos últimos dois anos, em períodos diversos, Temperaturas de territórios vizinhos ao nosso, no período de seis anos

Técnicas de plantio, Técnicas de colheita, Funcionamento de maquinaria para plantio e colheita, Adaptação de infra-estrutura para plantio e colheita, Distribuição, Adaptação das sementes aos fatores climáticos, Rendimento do plantio, Valor econômico do plantio, Mercado para venda dos produtos agrícolas

Valores das vendas de hoje

Histórico de vendas no mês, Histórico das vendas deste mês nos últimos anos, Crescimento do mercado, Posição dos concorrentes

Estudo do perfil do consumidor, Receptividade do consumidor a novas ofertas e promoções, Retorno de campanhas publicitárias, Estudos de Ciclo de Vida do produto

Fonte: Jamil, 2001.

1.2 – Processos de Mineração de Dados

Alguns autores citados por Melanda, Paula, Pugliesi e Rezende (2003) adotam diversas abordagens quanto à divisão de etapas do processo de Extração de Conhecimento de Bases de Dados. No entanto, Melanda, Paula, Pugliesi e Rezende (2003) consideram o processo em três etapas: pré-processamento, Extração de Padrões e pós-processamento. Há ainda uma fase anterior ao processo (a identificação do problema, inerente ao estudo do domínio da aplicação) e uma posterior ao mesmo, referente à utilização do conhecimento obtido; estas fases são ilustradas na Figura 1.

Os usuários do processo de Mineração de Dados são classificados em Especialista do Domínio, que deverá ter amplo conhecimento acerca do domínio do problema e apoiará a execução do processo; O Analista, que deverá ter profundo conhecimento do processo de

19

Mineração de Dados e será responsável pela execução da Extração do Conhecimento e o Usuário Final, que utilizará o conhecimento obtido para auxílio no processo de tomada de decisão – este usuário não deverá ter conhecimento profundo do domínio da aplicação.

ter conhecimento profundo do domínio da aplicação. Figura 1: Etapas do Processo de Mineração de Dados.

Figura 1: Etapas do Processo de Mineração de Dados.

1.2.1 – Identificação do problema

Esta etapa diz respeito ao estudo do domínio da aplicação e da definição dos objetivos e metas a serem alcançadas, conforme Melanda, Paula, Pugliesi e Rezende (2003). Parte do sucesso do processo de Extração de Conhecimento deve-se à participação do Especialista do Domínio, tanto no fornecimento do conhecimento sobre o domínio em questão, quanto no auxílio dispensado ao analista na tarefa de encontrar os padrões.

Esta fase poderá responder a questões como:

20

Quais são as principais metas do processo?

Quais critérios de desempenho são importantes?

O conhecimento extraído deve ser compreensível a seres humanos ou um modelo do tipo caixa-preta é apropriado? Qual deve ser a relação entre simplicidade e precisão do conhecimento extraído?

Enfim, o conhecimento sobre o domínio da aplicação fornece um subsídio para as demais etapas do processo de Extração de Conhecimento, provendo maior segurança e critério aos usuários do processo durante a execução de suas tarefas.

1.2.2 – Pré-processamento

Não raro, os dados disponíveis para análise não estão formatados adequadamente para

a Extração de Conhecimento, além do que algumas limitações, sejam de memória ou

processamento impedem a aplicação direta dos algoritmos de extração de padrões aos dados.

Assim, faz-se necessário lançar mãos de métodos para a limpeza desses dados antes de iniciar

a etapa de Extração de Padrões. Melanda, Paula, Pugliesi e Rezende (2003) salientam a

importância de observar os objetivos do processo no momento de fazer as transformações, de modo que os dados gerados apresentem as características necessárias para que os objetivos sejam cumpridos. Segundo os autores, as transformações a serem executadas nessa etapa são:

Extração e Integração, Transformação, Limpeza, Seleção e Redução de Dados.

Extração e Integração: Os dados para análise podem ter originado de diferentes fontes, como arquivos do tipo texto, planilhas, Bancos de Dados ou Data Warehouse. Então, será necessário unificar esses dados, modelando-os no formato atributo-valor, gerando uma única fonte de dados que servirá como entrada para o algoritmo de Extração de Padrões.

Transformação: Os dados extraídos e integrados deverão ser adequados para serem utilizados nos algoritmos de Extração de Padrões. As transformações podem ser por resumo, por exemplo o agrupamento dos dados sobre vendas para geração de resumos diários;

21

transformação de tipo, quando o atributo tem seu tipo transformado em outro tipo, para melhor ser utilizado pelo algoritmo de Extração de Padrões; a normalização de atributos contínuos, estabelecendo seus valores em intervalos definidos, como por exemplo entre 0 e 1. As transformações podem ser extremamente importantes em domínios que tratem séries temporais, como por exemplo a previsão no mercado financeiro.

Limpeza: Os dados disponíveis podem apresentar problemas advindos da coleta, como erros de digitação ou de leitura por sensores. Desse modo, técnicas de limpeza devem ser aplicadas, pois a qualidade dos dados é um fator extremamente importante. A limpeza pode ser realizada utilizando o conhecimento do domínio.

Seleção e Redução de Dados: Devido a possíveis restrições de memória e tempo de processamento, o número de exemplos e de atributos disponíveis pode inviabilizar a utilização de algoritmos de Extração de Padrões. Para se resolver esse problema, pode-se aplicar alguns métodos antes de iniciar a busca por padrões:

Redução do número de exemplos: utiliza-se a amostragem aleatória, por mostrar-se mais eficaz na produção de amostras mais representativas. Trata-se de um importante fator, pois se a amostra não for representativa, os exemplos possivelmente não serão capazes de refletir a realidade; Redução do número de atributos: Deverá ser selecionado um subconjunto dos atributos existentes, de modo que isso não comprometa a qualidade da solução final. Esse processo poderá ser executado com o apoio do Especialista do Domínio. Deve-se remover apenas aqueles atributos que certamente não terão nenhuma importância para o modelo final; Redução do número de valores de um atributo: Consiste na discretização ou na suavização dos valores de um atributo contínuo. A discretização substitui um atributo contínuo (inteiro ou real) por um atributo discreto, por meio de agrupamento de seus valores, estabelecendo intervalos na forma [V inferior : V superior ], respectivamente os limites inferior e superior do intervalo. A suavização consiste na redução do valor de um atributo, sem discretizá-lo. Os valores de um determinado atributo serão agrupados, e cada grupo de valores será substituído por um valor número que o represente, sendo que este valor poderá ser a média, mediana ou valor de borda de cada grupo.

22

1.2.3 – Extração de Padrões

A Extração de Padrões deverá abranger a escolha, configuração e execução de um ou mais algoritmos para a Extração do Conhecimento. Para Melanda, Paula, Pugliesi e Rezende (2003), essa é uma etapa iterativa, o que significa que poderão ser necessárias várias repetições a fim de se ajustar os parâmetros, visando resultados mais adequados aos objetivos preestabelecidos. Essa etapa compreende a escolha da tarefa, a escolha do algoritmo e a extração dos padrões em si.

A escolha da tarefa será feita de acordo com os objetivos desejáveis para a solução a ser encontrada (ver as principais tarefas e suas respectivas descrições e exemplos na seção 1.3). As tarefas possíveis de um algoritmo de extração de padrões podem ser agrupadas em atividades preditivas e descritivas, conforme Figura 2:

em atividades preditivas e descritivas, conforme Figura 2: Figura 2: Tarefas de Mineração de Dados As

Figura 2: Tarefas de Mineração de Dados

As atividades de predição focam a generalização de exemplos ou experiências anteriores com respostas conhecidas numa linguagem que será capaz de reconhecer a classe de um novo exemplo. Já as atividades de descrição lidam com a identificação de comportamentos intrínsecos do conjunto de dados, que não possuem uma classe específica.

23

A escolha de um algoritmo é realizada de acordo com a linguagem de representação de padrões a serem encontrados. Por exemplo, se for um caso de classificação, algoritmos de Árvore de Decisão ou regras de produção podem ser utilizados. Entre os tipos mais comuns de representação estão as Árvores de Decisão, regras de produção, modelos lineares, modelos não-lineares (Redes Neurais Artificiais), modelos baseados em exemplos (K-Nearest Neighbor, Raciocínio Baseado em Casos) e modelos de dependência estatística (Redes Bayesianas). Um ponto importante é a complexidade da solução encontrada pelo algoritmo, que está diretamente associada à capacidade de representação dos conceitos embutidos nos dados. Quando os parâmetros de um algoritmo estão ajustados de modo a encontrar soluções mais complexas que o conceito efetivamente existente nos dados, esse algoritmo pode ter um desempenho bom para esse conjunto de treinamento, mas ruim para novos exemplos, ocorrendo overfitting. Em contrapartida, se o ajuste é insuficiente para adequar o conceito representado nos dados, o modelo induzido poderá não ser representativo, ocorrendo underfitting, sendo que, neste caso, o modelo encontrado provavelmente não terá bom desempenho tanto sobre os dados de treinamento quanto sobre novos exemplos. Assim, faz-se necessário uma criteriosa configuração dos parâmetros dos algoritmos; poderá ser feita a escolha de vários algoritmos para a realização da tarefa, o que originará vários modelos a serem tratados na fase de pós-processamento, a fim de fornecer o conjunto de padrões mais adequados ao usuário final.

A etapa de extração de padrões visa a aplicação dos algoritmos de Mineração escolhidos para a Extração dos Padrões; esses algoritmos deverão ser executados diversas vezes, dependendo da função escolhida. A disponibilização dos padrões extraídos ou sua incorporação a um Sistema Inteligente deverá ocorrer após a análise e/ou processamento dos mesmos na etapa de pós-processamento.

1.2.4 – Pós-processamento

Obter o conhecimento a partir dos dados ainda não é a última etapa de Mineração de Dados; o conhecimento obtido será, finalmente, utilizado na resolução de problemas do mundo real. Todavia, é importante observar algumas questões, tais como, se o conhecimento extraído realmente representa o conhecimento do especialista, como o conhecimento extraído

24

difere do conhecimento do especialista, ou em que parte o conhecimento do especialista está correto. (MELANDA; PAULA; PUGLIESI e REZENDE, 2003).

Um dos objetivos primordiais da extração de conhecimento é que o usuário possa compreender e utilizar o conhecimento obtido. O fator compreensibilidade mostra-se essencial nesse processo. A compreensibilidade de um certo conjunto de regras está relacionada com a facilidade com que o usuário pode interpretá-las ou compreendê-las – exemplos desse fator podem compreender o número de regras e suas respectivas condições, ambos em número limitado, ou mesmo modelos que não contradizem o conhecimento prévio de um usuário especialista. (MELANDA; PAULA; PUGLIESI e REZENDE, 2003).

Outro notável fator é a interessabilidade, a qual busca avaliar o quanto há de conhecimento interessante. O fator interessabilidade engloba duas medidas – as objetivas, apenas relacionadas com estruturas de padrões e do conjunto de dados de teste, sendo algumas delas, de acordo com Horst apud Melanda, Paula, Pugliesi e Rezende (2003) modelos de regras, coberturas de regras mínimas, custo da classificação incorreta e tamanho do disjunto; as subjetivas, medidas que consideram que fatores específicos do conhecimento do domínio e de interesse do usuário devem ser tratados ao selecionar um conjunto de regras interessantes ao usuário, sendo algumas dessas, de acordo com Silberschatz e Tuzhilin apud Melanda, Paula, Pugliesi e Rezende (2003), a inesperabilidade e utilidade.

Se o conhecimento, após feita a análise, não for interessante para o usuário final ou não cumprir com os objetivos propostos, o processo de extração poderá se repetido com o ajuste dos parâmetros ou com a melhoria do processo de escolha dos dados, para obtenção de melhores resultados numa próxima iteração.

1.3 – Tarefas de Mineração de Dados

As tarefas de Mineração de Dados deverão representar o que se quer minerar dentro dos dados, quais padrões poderão ser considerados interessantes dentro de um determinado contexto. Essas tarefas deverão ser definidas logo no início do processo de Mineração de Dados.

25

Dias (2002) ilustra de forma breve as principais tarefas de Mineração de Dados na Tabela 2:

Tabela 2: Tarefas realizadas por técnicas de Mineração de Dados.

Tarefa

Descrição

 

Exemplos

 

Classificação

Constrói um modelo de algum tipo que possa ser aplicado a dados não classificados a fim de categorizá-los em classes, o objetivo é descobrir um relacionamento entre o atributo meta (cujo valor será previsto) e um conjunto de atributos de previsão.

Classificar pedidos de crédito. Esclarecer pedidos de seguros fraudulentos. Identificar a melhor forma de tratamento de um paciente.

Estimativa

 

Estimar o número de filhos ou a renda total de uma família. Estimar o valor em tempo de vida de um cliente. Estimar a probabilidade de que um paciente morrerá baseando- se nos resultados de diagnósticos médicos. Prever a demanda de um consumidor para um novo produto.

(ou regressão)

Usada para definir um valor para alguma variável contínua desconhecida.

Associação

Usada para determinar quais itens tendem a ser adquiridos juntos em uma mesma transação.

Determinar

que

produtos

costumam ser colocados juntos

 

em

um

carrinho de

supermercado.

Segmentação

Processo de partição de uma população heterogênea em vários subgrupos ou grupos mais homogêneos.

Agrupar clientes por região do país. Agrupar clientes com comportamento de compra similar. Agrupar seções de usuários Web para prever comportamento futuro de usuário.

(ou Clustering)

Sumarização

Envolve métodos para encontrar uma descrição compacta para um subconjunto de dados.

Tabular o significado e desvios padrão para todos os itens de dados. Derivar regras de síntese.

Fonte: Dias, 2002.

A tarefa de classificação consiste no mapeamento de um conjunto de exemplos, ou conjunto de dados de entrada, de um estrito número de categorias. Cada exemplo faz parte de uma classe, dentro de um conjunto predefinido de classes, e os exemplos são constituídos de um conjunto de atributos e um atributo-classe (ou atributo-meta) discreto. Um algoritmo de classificação objetiva encontrar relacionamentos entre os atributos e uma classe, de modo que seja capaz de predizer a classe de um exemplo novo e desconhecido. A tarefa de regressão

26

segue basicamente o mesmo conceito de tarefa de classificação, entretanto o atributo a ser predito é contínuo, e não discreto. (MELANDA; PAULA; PUGLIESI e REZENDE, 2003).

Regras de associação investigam o quanto a presença de um conjunto de atributos em registros de uma Base de Dados implica a presença de outro conjunto de atributos. O formato da regra é apresentado como L R, o lado esquerdo (Left Hand Side) e o lado direito (Right Hand Side), respectivamente.

A tarefa de segmentação (ou clustering) objetiva formar agrupamentos a partir dos

dados. Esse processo é feito de maneira que os exemplos com atributos similares sejam

inseridos num mesmo cluster, sendo que os mesmos podem ser mutuamente exclusivos ou sobrepostos.

A tarefa de sumarização lança mão de métodos para descrever de forma compacta um

subconjunto de dados. A definição da média e desvio padrão de todos os campos é um exemplo de sumarização.

1.4 – Técnicas de Mineração de Dados

“Inteligência Artificial é o ramo da computação preocupado com a automação de comportamento inteligente” Luger & Stubblefield (apud FERNANDES, 2003, p.2). Feigenbaum apud Fernandes (2003), destaca que a Inteligência Artificial é a área da computação direcionada ao desenvolvimento de sistemas de computadores que sejam capazes de exibir características associadas à inteligência no comportamento humano, como a linguagem natural, o raciocínio, a aprendizagem, entre outros. A Inteligência Artificial é uma tentativa de reprodução computacional da capacidade humana de raciocínio e compreensão do mundo à sua volta, emulando assim processos pelos quais os seres humanos chegam às soluções para os mais variados tipos de problemas.

A Inteligência Artificial pode ser classificada em vários modelos, os quais podem

assumir o papel de técnica de Mineração de Dados. De acordo com Ganascia apud Fernandes (2003), os principais modelos de Inteligência Artificial são os Algoritmos Genéticos, a

27

Programação Evolutiva, Lógica Fuzzy, Sistemas Baseados em Regras, Raciocínio Baseado em Casos, Programação Genética e Redes Neurais Artificiais, brevemente descritos a seguir:

Algoritmos Genéticos: são modelos inspirados na teoria da evolução da

espécie, ilustrada no livro Origem das Espécies, escrito por Charles Darwin no ano de 1859. Darwin foi o criador da teoria evolucionista, segundo a qual os seres mais aptos são os que têm maiores chances de sobrevivência. Algoritmos Genéticos objetivam a emulação das operações genéticas (cruzamento, mutação e reprodução), tal qual são observadas na natureza. Para tal, uma máquina cria uma população de indivíduos que representam os cromossomos, que passam por um processo simulado de evolução, seleção e reprodução, gerando novas populações; Programação Evolutiva: São semelhantes aos Algoritmos Genéticos, salvo a ênfase dada à relação comportamental entre os parentes e seus descendentes; Lógica Fuzzy: Também chamada de lógica difusa ou nebulosa, trata-se de um modelo responsável pela representação, manipulação e modelagem de informações com certo grau de incerteza; Sistemas Baseados em Regras: Tratam da implementação de comportamento Inteligente de especialistas humanos;

Programação Genética: Objetiva a construção de programas que visam imitar o

processo natural da Genética. Trabalha com métodos de busca aleatória; Raciocínio Baseado em Casos: Utiliza uma extensa biblioteca de casos que estão disponíveis para consulta e resolução de problemas, os quais são resolvidos através da recuperação e consultas desses casos, já solucionados, e da conseqüente adaptação das soluções encontradas; Redes Neurais Artificiais: Procuram emular o processamento cerebral humano. Consiste em um número de elementos interconectados (os neurônios) dispostos

em camadas que aprendem pela modificação da conexão firmemente conectando as camadas.

De acordo com Dias (2002), não existe uma técnica que resolva plenamente todos os problemas de Mineração de Dados. Existem vários métodos para diferentes propósitos, e cada um deles apresenta vantagens e desvantagens.

28

Na Tabela 3, Dias (2002) sumariza as técnicas de Mineração de Dados comumente utilizadas:

Tabela 3: Técnicas de Mineração de Dados.

Técnica

 

Descrição

Tarefas

Exemplos

 

Descoberta

de

Regras

Estabelece uma correlação estatística entre atributos de dados e conjuntos de dados.

Associação

Apriori,

AprioriTid,

de Associação

AprioriHybrid.

 

Árvores de Decisão

Hierarquização dos dados, baseada em estágios de decisão (nós) e na separação de classes e subconjuntos.

Classificação

C5.0, Quest.

 

Regressão

 
 

Baseado no método do vizinho mais próximo, combina e compara atributos para esclarecer hierarquia de semelhança.

Classificação

BIRCH,

CLARANS

e

Raciocínio Baseado em Casos ou MBR

Segmentação

CLIQUE.

Algoritmos Genéticos

Métodos gerais de busca e otimização, inspirados na Teoria da Evolução, onde a cada nova geração, soluções melhores têm mais chance de terem “descendentes”.

Classificação

Algoritmo Genético Simples, Genitor, Algoritmo de Hills.

Segmentação

Redes

Neurais

Modelos inspirados na fisiologia do cérebro, onde o conhecimento é fruto do mapa das conexões neuronais e dos pesos dessas conexões.

Classificação

Perceptron, Redes de

Artificiais

Segmentação

Kohonen,

Rede

Hopfield,

Rede

Counterpropagation,

 

Rede

Time Delay,

Neocognitron.

 

Fonte: adaptado de Dias, 2002.

1.4.1 – Escolha da Técnica de Mineração de Dados

A escolha da técnica para a Mineração de Dados não é uma tarefa fácil, a qual dependerá da tarefa específica a ser executada e dos dados disponíveis para análise. Berry e Linoff apud Dias (2002) sugerem dois passos para seleção da técnica de Mineração de Dados:

29

1. Traduzir o problema de negócio a ser resolvido em séries de tarefas de mineração de dados: Este primeiro passo trata a definição de uma espécie de meta comercial, como por exemplo “manter os clientes”. Objetiva-se aqui identificar os assinantes que tenham pretensão de desistir de suas respectivas assinaturas e também os assinantes que não pretendem fazê-lo, executando uma classificação. Assim, usando um conjunto de dados de treinamento com exemplos de clientes que cancelaram a assinatura e exemplos de outros clientes que não o fizeram, será possível a construção de um modelo que seja capaz de rotular cada cliente como “fiel” ou “instável”;

2. Compreender a natureza dos dados disponíveis em termos de conteúdo e tipos de campos de dados e estrutura das relações entre os registros: O segundo passo compreende a determinação das características dos dados em análise, a fim de selecionar a técnica de Mineração de Dados para diminuir o número e dificuldade de transformação de dados. A Tabela 4 sumariza as características de dados, bem como suas respectivas técnicas de Mineração.

30

Tabela 4: Características de dados.

Característica

 

Descrição

Técnicas de Mineração de Dados

Variáveis de categorias

São campos que apresentam valores de um conjunto de possibilidades limitado e predeterminado

Descoberta de regras de associação. Árvores de decisão.

Variáveis numéricas

 

São aquelas que podem ser somadas e ordenadas.

Raciocínio baseado em casos (MBR). Árvores de decisão.

Muitos

campos

por

Este pode ser um fator de decisão da técnica correta para uma aplicação específica, uma vez que os métodos de mineração de dados variam na capacidade de processar grandes números de campos de entrada.

Árvores de decisão.

 

registro

 

Variáveis

dependentes

Caso em que é desejado prever várias variáveis diferentes baseadas nos mesmos dados de entrada.

Redes Neurais

 

múltiplas

 

Registro de comprimento variável

Apresentam dificuldades na maioria das técnicas de mineração de dados, mas existem situações em que a transformação para registros de comprimento fixo não é desejada.

Descoberta de regras de associação.

Dados

ordenados

Apresentam dificuldades para todas as técnicas e, geralmente, requerem aumento dos dados de teste com marcas ou avisos, variáveis de diferença, etc.

Rede Neural intervalar (time-delay). Descoberta de regras de associação.

cronologicamente

 

Texto sem formatação

 

A maioria das técnicas de mineração de dados é incapaz de manipular texto sem formatação.

Raciocínio

baseado

em

casos

(MBR).

Fonte: Dias, 2002.

31

1.5 – Tecnologias de Suporte à Mineração de Dados

De acordo com Melanda, Paula, Pugliesi e Rezende (2003), a Mineração de Dados

lança mão de diversas técnicas, de diferentes áreas, como o Aprendizado de Máquina, Data Warehousing, Banco de Dados, Estatística e Visualização de Dados. Dessas técnicas, o Aprendizado de Máquina é o mais utilizado, no decorrer da fase de Extração de Padrões, e as demais são tidas como ferramentas de apoio ao processo de Mineração de Dados.

1.5.1 – Aprendizado de Máquina

Para Monard e Baranauskas (2003), o aprendizado de máquina é uma área da Inteligência Artificial que objetiva desenvolver técnicas computacionais sobre o conhecimento e construir sistemas que são capazes de adquirir conhecimento de forma automática; os sistemas de aprendizado de máquina basearão suas decisões sobre experiências acumuladas através da solução bem-sucedida de problemas anteriores. Os autores frisam que, apesar do aprendizado de máquina ser poderoso na aquisição automática do conhecimento, não há um único algoritmo que apresente melhor desempenho para todos os problemas.

A forma de extrair o conhecimento utilizado é a inferência indutiva; a indução, conforme discorre Monard e Baranauskas (2003), obtém o raciocínio a partir de um conjunto particular de exemplos, caracterizando raciocínio originado de conceitos específicos e generalizados – da parte para o todo.

O aprendizado indutivo pode ser dividido em aprendizado supervisionado e

aprendizado não-supervisionado. No aprendizado supervisionado, é fornecido ao indutor (ou algoritmo de aprendizado) um conjunto de exemplos de treinamento, o qual o rótulo da classe associada é conhecido. Já no aprendizado não-supervisionado, o indutor analisa o exemplo fornecido para treinamento, forma agrupamentos e tenta classificar cada um destes, a fim de determinar o que cada um dos agrupamentos significa dentro do problema em questão.

32

Monard e Baranauskas (2003) afirmam que, no processo de classificação, o conhecimento do domínio poderá ser utilizado na escolha dos dados ou no fornecimento de alguma informação previamente conhecida, como entrada ao indutor. Após a indução, o classificador é geralmente avaliado e o processo de classificação poderá ser repetido, se necessário, por exemplo, no ajuste de parâmetros ou adição de novos exemplos.

Monard e Baranauskas (2003) frisam que o grau de compreensibilidade proporcionado ao ser humano é um fator de relevância. Michalski e Kubat, Bratko, & Michalski apud Monard e Baranauskas (2003) dispõem os sistemas de aprendizados em duas categorias:

Os sistemas do tipo caixa-preta: desenvolvem sua própria representação dos conceitos; são sistemas cujas representações internas não podem ser facilmente interpretadas pelos seres humanos e não fornecem esclarecimento, tampouco explicação de seu processo de reconhecimento; Os sistemas orientados ao conhecimento: são sistemas que fornecem estruturas simbólicas compreensíveis aos seres humanos.

Quanto aos paradigmas de Aprendizado de Máquina, Monard e Baranauskas (2003) citam alguns exemplos destes, a seguir:

Simbólico: Buscam aprender construindo representações simbólicas de um conceito. Estão tipicamente na forma de árvores de decisão, regras ou redes semânticas; Estatístico: Utiliza modelos estatísticos na aproximação do conceito induzido. Entre os métodos estatísticos, destacam-se os de aprendizado Bayesiano, que utilizam modelos probabilísticos baseados no conhecimento prévio do problema; Baseados em exemplos: Classifica exemplos desconhecidos com base em exemplos similares. São denominados sistemas lazy (preguiçoso), os quais necessitam manter os exemplos na memória para classificar novos exemplos. Uma das técnicas mais conhecidas neste paradigma é o Raciocínio Baseado em Casos. Conexionista: Utiliza Redes Neurais Artificiais, que são inspiradas no modelo biológico do sistema nervoso, na resolução de problemas;

33

Evolutivo: Consiste no modelo biológico de aprendizado. Possui analogia direta com a Teoria da Evolução proposta por Darwin, onde os mais fortes e com maior facilidade de adaptação sobrevivem. Uma técnica utilizada neste paradigma são os algoritmos genéticos.

O aprendizado supervisionado possui diversos conceitos e definições; alguns desses estão contidos no escopo deste projeto e são descritos a seguir:

Indutor: Algoritmo de indução que deverá extrair um bom classificador a partir de exemplos rotulados; o classificador será utilizado para classificar exemplos novos (não rotulados) a fim de predizer o rótulo de cada um.

Exemplo: Tupla de valores de atributos, o exemplo descreve o objeto de interesse, como dados de um paciente de determinada clínica, entre outros.

Atributo: Característica ou aspecto de um exemplo. Os atributos podem ser classificados normalmente em nominal ou discreto (quando não existe ordem entre valores, por exemplo:

vermelho, azul) e contínuo (quando há uma ordem linear de valores , por exemplo: peso ∈ ℜ , é um número real).

Classe: Também denominado rótulo, descreve o fenômeno de interesse, isto é, o conceito- meta. Nos casos de classificação, os rótulos tipicamente pertencem a um conjunto de atributos discretos.

Conjunto de exemplos: Composto por exemplos contendo valores de atributos, bem como a classe associada, tal como mostrado na tabela abaixo:

34

Tabela 5: Conjunto de exemplos no formato atributo-valor.

T 1

T 2

T n

X

1

X

2

X

m

Y

x

11

x

12

x

1m

y

1

x

21

x

22

x

2m

y

2

x

n1

x

n2

x

nm

y

n

Fonte: Monard e Baranauskas, 2003.

A última coluna, Y, contém o atributo-meta, também chamado de classe.

Classificador: Também chamado de hipótese. A partir do classificador, a classe de um novo exemplo deverá ser predita com maior precisão possível.

Ruído: Trata-se de imperfeições nos dados, que podem ser derivados, por exemplo, no processo de aquisição ou transformação desses dados.

Matriz de confusão: A matriz de confusão oferece medida efetiva do modelo de classificação, ao mostrar o número de classificações corretas contra as classificações preditas para cada classe sobre um conjunto de exemplos T. Cada elemento M(Ci, Cj) da matriz, i, j: 1,

, k, calculado pela equação M(Ci, Cj) = (∀(x,y)∈T : y = Ci) representa o número de

exemplos de T que pertencem à classe Ci, mas foram classificados como sendo da classe Cj.

2,

Tabela 6: Matriz de Confusão de um classificador.

Classe

Predita C 1

Predita C 2

Predita C k

verdadeira C 1 verdadeira C 2

M(C 1 , C 1 )

M(C 1 , C 2 )

M(C 1 , C k )

M(C 2 , C 1 )

M(C 2 , C 2 )

M(C 2 , C k )

verdadeira C k

M(C k , C 1 )

M(C k , C 2 )

M(C k , C k )

Fonte: Monard e Baranauskas, 2003.

35

O número de acertos para cada classe localiza-se na diagonal principal M(Ci,Ci) da matriz de

confusão, sendo que os demais representam erros de classificação. A matriz de confusão de

um classificador ideal possui todos esses elementos iguais à zero, o que significa que nenhum

elemento de uma classe foi predita como sendo de outra classe, ou seja, o classificador não

cometeu erros. Para melhor ilustrar tais assertivas, consideram-se duas classes usualmente

rotuladas como “+” (positiva) e “-” (negativa), onde os dois erros possíveis são denominados

como falso positivo (FP) e falso negativo (FN), conforme ilustrado na tabela 7, onde TP é o

número de exemplos positivos classificados corretamente e TN é o número de exemplos

negativos classificados corretamente, no total de n= (TP + FN + FP + TN) exemplos.

Tabela 7: Matriz de Confusão para a classificação com duas classes.

Classe

Predita C +

Predita C -

 

Verdadeiros

Falsos negativos

verdadeira C +

positivos

FN

TP

Falsos positivos

Verdadeiros

verdadeira C -

FP

negativos

TN

Fonte: adaptado de Monard e Baranauskas, 2003.

A seguir, são apresentadas fórmulas para o cálculo de taxas de correção de classificação, com

base em Frank e Witten (2000):

TP

Taxa de verdadeiros positivos (ou TP Rate): TP

+ FN

FP

Taxa de falsos positivos (ou FP Rate): FP

+ TN

36

Precision:

número de instâncias classificadas corretamente como X

número total de instâncias classificadas como X

Recall:

número de instâncias classificadas corretamente como X

número total de instâncias para Classe X

F-Measure:

2 TP

2 TP

+

FP

+

FN

1.5.1.1 – Avaliação de algoritmos

Monard e Baranauskas (2003) frisam o poder do Aprendizado de Máquina ressaltando, contudo, que não há um único algoritmo que apresente o melhor desempenho para todos os problemas.

A seguir, são descritos métodos para estimar medidas de erro e precisão, com base nos mesmos autores:

Resubstituição: consiste em construir um classificador a partir de um conjunto de instâncias e utilizá-las para testar seu desempenho, ou seja, o conjunto de teste é idêntico ao conjunto de treinamento. Esse método fornece uma medida aparente, com medidas de precisão bastante otimistas, afinal o processo de classificação tenta maximizá-la. Para algoritmos que geralmente classificam todas as instâncias corretamente, como é o caso do 1-Nearest Neighbors (vizinhos mais próximos), o presente método é bastante otimista, podendo a estimativa de precisão atingir até 100%; Holdout: o presente método divide os exemplos em uma porcentagem fixa de exemplos p para treinamento e (p – 1) para teste, considerando normalmente p > ½;

37

Amostragem aleatória: no presente método, L hipóteses, L<<n, são induzidas a

partir de cada conjunto de treinamento, sendo o erro final é a média dos erros de todas as hipóteses induzidas, calculados em conjuntos de testes independentes e extraídos aleatoriamente; Cross-validation: consiste em dividir as instâncias aleatoriamente em r partições de tamanho aproximadamente igual a r / n exemplos, sendo as instâncias contidas nas (r – 1) partições utilizadas para treinamento, e a hipótese induzida é testada na partição remanescente. Tal processo é executado n vezes, cada vez considerando uma partição diferente para teste; Leave-one-out: trata-se de um caso especial de cross-validation, sendo computacionalmente dispendioso e freqüentemente usado em amostras pequenas; para uma amostra de n instâncias, uma hipótese é induzida utilizando (n – 1) instâncias; Bootstrap: consiste em repetir o processo de classificação várias vezes e estima-se, então, valores como o erro, a partir dos experimentos replicados.

1.5.1.2 – Avaliação de predição numérica

Frank e Witten (2000) mencionam diversas medidas de desempenho para predição numérica, descritas na tabela 8. Dentre essas medidas, os mesmos autores denominam a medida de desempenho Mean-squared error como uma medida principal, a mais comumente utilizada.

38

Tabela 8: Medidas de desempenho para predição numérica (p para valores preditos e a para valores atuais).

Mean-squared error

Root mean-squared error

Mean absolute error

Relative squared error

Root relative squared error

Relative absolute error

Correlation coefficient (Kappa Statistic)

n

 

(

p

1

a

1

)

2

+

+

(

p

n

a

n

)

2

n

n

p

1

a

1

+

+

p

n

a

n

n

p

1

a

 

+

+

p

n

a

 

1

n

a

)

2

+

+

(

a

n

a

)

2

, onde

1 a =
1
a =

n

i

a

i

 
 

(

p

1

a

1

)

2

+

+

(

p

n

a

n

)

2

( a 1 − a ) 2 + + ( a n − a )

(

a

1

a

)

2

+

+

(

a

n

a

)

2

p

1

a

1

+

+

p

n

a

n

 

a

1

a

+

+

a

n

a

 

S PA

S PA

=

(
i

p i

p

)(

a

i

a

)

 

, onde

 

n 1

S S P A
S
S
P
A

n 1

n 1

(

p 1

a

1

)

2

+

+

(

p

n

a

n

 

)

2

(

)

2

(

)

2

=

(
i

)

2

=

(
i

)

2

S P

p

i

p

,

S A

a

i

a

Fonte: Frank e Witten, 2000.

O valor ideal para cada uma das medidas de desempenho vistas na tabela 8 é zero, com exceção da Correlation Coefficient, cujo valor ideal é 1.

1.5.2 – Ferramentas de Mineração de Dados

Para Melanda, Paula, Pugliesi e Rezende (2003), as ferramentas para Mineração de Dados devem ser intuitivas e amigáveis, além de oferecer suporte a todos os processos de Mineração de Dados e disponibilizar apoio para diversas tarefas e técnicas.

39

A Tabela 9 lista algumas ferramentas para Mineração de Dados, de acordo com Melanda, Paula, Pugliesi e Rezende (2003):

Tabela 9: Algumas ferramentas para Mineração de Dados.

Nome

Técnicas disponíveis

 

Fabricante

Site

PolyAnalyst

Classificação, regressão, regras de associação, clustering, sumarização e

Megaputer Intelligence www.megaputer.com

modelagem

 

de

dependência

 

XpertRule Miner

Classificação, regras de associação e clustering

Attar Software Ltd. www.attar.com

Microsoft Data Analyzer

Classificação e clustering

Microsoft Corp.

2002

www.microsoft.com

Oracle 9i Data Mining

Classificação e regras de associação

Oracle Corp.

www.oracle.com

Darwin

Classificação, regressão e clustering

Oracle Corp.

www.oracle.com

Weka

Classificação, regressão e regras de associação

University of Waikato www.cs.waikato.ac.nz

Intelligent Miner

Regras

de

associação,

IBM Corp.

padrões

seqüenciais,

www.ibm.com

classificação, clustering,

sumarização

 

e

modelagem

de

dependência

 

Clementine

Classificação,

regras

de

SPSS Inc.

associação,

clustering

e

www.spss.com

padrões seqüenciais.

Fonte: adaptado de Melanda, Paula, Pugliesi e Rezende, 2003.

Para o desenvolvimento do sistema inteligente, foi escolhida a ferramenta Weka, a qual está descrita no tópico subseqüente. A escolha dessa ferramenta deve-se, inicialmente, ao fato da mesma ser gratuita 1 . Além disso, a ferramenta oferece uma extensa gama de algoritmos de diversas técnicas de Inteligência Artificial, possibilitando a comparação do desempenho de cada um deles sobre determinado conjunto de dados.

1 Com relação aos preços das demais ferramentas, estes não foram fornecidos pelos respectivos fabricantes e/ou representantes até o fechamento do presente trabalho.

40

1.5.2.1 – Ferramenta Weka

Desenvolvida na Universidade de Waikato em Nova Zelândia, a ferramenta Weka (Waikato Environment for Knowledge Analysis) é um software para Mineração de Dados que engloba uma coleção de algoritmos de Aprendizado de Máquina. O sistema é escrito em Java, que é uma linguagem orientada a objetos largamente disponível para a maioria das plataformas, entre elas os Sistemas Operacionais Windows, Linux e Macintosh, nos quais o sistema Weka já foi testado. (FRANK; WITTEN, 2000).

O Weka possui várias versões para seu sistema, dentre elas a versão 3.0, chamada de book version (versão descrita no livro lançado pelos seus criadores), voltada à linha de comando; a versão 3.2, direcionada ao provimento de interface gráfica ao usuário, a versão 3.3, chamada versão de desenvolvimento e, por fim, a versão 3.4.7 (mostrada na Figura 3), a qual traz diversas melhorias sobre as versões antecessoras.

qual traz diversas melhorias sobre as versões antecessoras. Figura 3: Ferramenta WEKA versão 3.4.7. O site

Figura 3: Ferramenta WEKA versão 3.4.7.

O site oficial Weka (2004) faz uma sucinta abordagem ao Weka, apresentando os módulos da ferramenta em sua versão 3.4.7:

41

Weka Knowledge Explorer: Esse módulo, mostrado na Figura 4, é o responsável por explorar o conhecimento a partir da base de dados. Engloba as seguintes funcionalidades: o pré-processamento, a partir do qual é realizada a preparação dos dados para o processo de Mineração, oferecendo inclusive filtros, como exemplo, discretização e normalização de atributos; classificação, a qual dispõe de diversos algoritmos para predição de quantidades nominais ou numéricas, como árvores de decisão, Redes Bayesianas, Redes Neurais Artificiais (Redes Multi-Layer Perceptron), entre muitos outros; Clusterização, onde algoritmos como o K-Means terão a função de encontrar grupos de instâncias similares em um conjunto de dados; a associação, destinada ao aprendizado de regras de associação, utilizando uma implementação do algoritmo Apriori; a Seleção de Atributos, onde é feita a investigação de quais atributos são melhores preditivos; e Visualização de Dados, muito útil na prática, fornece a possibilidade de visualização de um só atributo e/ou combinação de vários deles. Além de tudo, é válido ressaltar que, com relação aos parâmetros dos algoritmos, o Weka os têm pré-definidos, facilitando assim o trabalho do analista no momento de extrair os padrões;

facilitando assim o trabalho do analista no momento de extrair os padrões; Figura 4: Módulo WEKA

Figura 4: Módulo WEKA Knowledge Explorer.

42

Weka Experiment Environment: A figura 5 retrata este módulo, o qual torna fácil a comparação de diferentes performances de diferentes esquemas de aprendizado. É voltado para os problemas de classificação ou regressão. Os resultados gerados por esse módulo podem ser gravados em um arquivo ou em um banco de dados.

podem ser gravados em um arquivo ou em um banco de dados. Figura 5: Módulo WEKA

Figura 5: Módulo WEKA Experiment Environment.

Weka KnowledgeFlow Environment: Este módulo provê interface gráfica ao usuário, baseado em interface Java-Beans, para a execução dos experimentos em Aprendizado de Máquina. Os classificadores e Data Sources, por exemplo, são tidos nesse módulo como componentes beans, podem ser conectados graficamente, conforme se pode observar na Figura 6, e os layouts nele elaborados podem ser salvos e consultados mais tarde.

43

43 Figura 6: Módulo WEKA KnowledgeFlow Environment. Não obstante as opções supracitadas, a versão 3.4.7 do

Figura 6: Módulo WEKA KnowledgeFlow Environment.

Não obstante as opções supracitadas, a versão 3.4.7 do Weka ainda oferece uma versão voltada à simples linha de comando, conforme pode ser observado na figura abaixo:

voltada à simples linha de comando, conforme pode ser observado na figura abaixo: Figura 7: Módulo

Figura 7: Módulo WEKA SimpleCLI.

44

1.5.2.1.1 – O formato ARFF

Com base em Frank e Witten (2000), é conhecida uma maneira comum de representar conjuntos de dados que consistem em instâncias independentes e não ordenadas sem relação umas com as outras, chamada de arquivo ARFF, que é o formato no qual o conjunto de dados deverá estar, para ser processado pelo Weka.

Pode-se observar, de acordo com a figura 8, como é o esquema de um arquivo ARFF. As linhas que começam com um “%” são comentários quaisquer que poderão ser inseridos pelo analista. Seguindo-se aos comentários, no começo do arquivo, são o nome da relação (clima, neste caso) e um bloco definindo os atributos (previsao, temperatura, umidade, ventoIntenso, brincar?). Atributos nominais são seguidos por um conjunto de valores possíveis, delimitados por chaves “{ }”. Os atributos numéricos são seguidos pela palavra- chave numeric.

Frank e Witten (2000) dizem que, embora o problema do clima seja predizer o valor da classe “brincar?” do valor de outros atributos, o atributo-classe não é distinguido de modo algum no arquivo de dados. O formato ARFF apenas fornece um conjunto de dados, não especifica quais dos atributos é o atributo que deve ser predito. Isso significa que o mesmo arquivo pode ser usado para investigar de que maneira cada atributo pode ser predito a partir dos demais, ou encontrar regras de associação, ou para clusterização.

45

45 Figura 8: Arquivo ARFF para dados sobre clima. Seguindo as definições de atributo, ainda sobre

Figura 8: Arquivo ARFF para dados sobre clima.

Seguindo as definições de atributo, ainda sobre o exemplo em questão, está uma linha “@data” que sinaliza o início das instâncias no conjunto de dados. As instâncias no conjunto de dados são escritas linha por linha, com valores definidos para cada atributo, separados por vírgulas. Caso um valor seja inexistente, este será representado por “?”. As especificações de atributo em arquivos ARFF permitem que o conjunto de dados seja checado para que se certifique que ele contém valores legais para todos os atributos, e programas que lêem arquivos ARFF o fazem automaticamente.

46

Uma maneira na qual se pode converter um conjunto de dados para o formato ARFF e, assim, adequá-lo à ferramenta Weka, dá-se nos seguintes passos, com base em Frank e Witten

(2000):

O conjunto de dados deverá, originalmente, estar armazenado em um arquivo do Microsoft Excel; A partir deste arquivo, dentro do Microsoft Excel, o usuário deverá clicar no menu Arquivo e selecionar a opção Salvar Como; Na opção Salvar como Tipo, escolher CSV (separado por vírgula), e confirmar, clicando em Salvar;

Dentro do editor de texto, o usuário poderá notar o arquivo ARFF estruturado em parte. Logo, o mesmo deverá acrescentar os blocos de código restantes, de acordo com instruções já vistas anteriormente, contendo as definições de relação, atributos, sinalização de instâncias, bem como comentários pertinentes;

Após tal processo, o usuário deverá salvar as alterações, clicando no menu Arquivo e selecionando a opção Salvar Como. A opção Salvar como Tipo deverá ser o Texto sem Formatação;

Imediatamente após o clique em Salvar, uma janela será aberta. Especificar a opção Terminar o Texto Com, escolhendo Somente com Retorno de Carro e, então,

Utilizar o editor de texto Microsoft Word para abrir o arquivo salvo no formato CSV;

Salvar o arquivo, definindo seu nome seguido da extensão “.arff”;

confirmar a opção.

Vale frisar que os passos supracitados foram concebidos com base na utilização do Windows XP e versão 2003 do Microsoft Office. Logo, poderá haver algumas diferenças em outras versões, com relação a formato de arquivos, nomenclaturas utilizadas e afins.

47

2 – ESTUDO DE CASO

2.1 - Identificação do problema

A evasão escolar no ensino superior é um problema latente nos dias atuais, um fenômeno grave que pode ser observado tanto nas instituições públicas quanto nas privadas; trata-se de um problema relativamente antigo, que anos atrás motivou o surgimento de alguns estudos, conforme pode ser constatado no anexo 1, contido no presente trabalho, que também mostra, entre outros números, a percentagem de alunos não-concluintes após 4 anos, que em 2003 chegou a 27,5% no Ensino Público e 46% no Ensino Privado no país, segundo o Ministério da Educação e Cultura.

Tendo sido notada a gravidade do problema da evasão escolar no ensino superior brasileiro, reconhece-se tal problema no âmbito do CEULJI/ULBRA de Ji-Paraná-RO, problema esse que representa um fator preocupante para a instituição, especialmente de como se chegar aos alunos propensos à evasão e lançar mão de políticas e estratégias para ao menos tentar mantê-los na instituição.

Assim, partiu-se para a coleta dos dados dos alunos do CEULJI/ULBRA para sua utilização nos processos de Mineração de Dados. Porém, todo esse processo, aparentemente simples, representou uma série de dificuldades que acabaram por definir os rumos do presente trabalho.

48

A primeira dificuldade deu-se na obtenção de autorização para se ter acesso aos dados dos alunos, pelo caráter sigiloso destes; tal autorização levou meses até ser finalmente liberada. A dificuldade seguinte foi o acesso aos dados em si, pela indisponibilidade de pessoal da instituição que pudesse fazê-lo, impasse que levou diversas semanas para ser solucionado. A solução, então, foi prover acesso direto ao analista, que pôde, finalmente, coletar tais dados.

Entretanto, o sistema utilizado pela instituição apresentou uma série de inconsistências, desde problemas de impressão até problemas de navegação, desperdiçando dessa forma boa parte do tempo disponível para a coleta de dados. Assim, só foi possível coletar dados dos quais puderam ser extraídos os atributos que se seguem, conforme visto na tabela abaixo:

Tabela 10: Atributos extraídos na coleta de dados.

Atributos

Tipo

Valores

Observação

Sexo

Nominal

{m , f}

m - masculino F – feminino

Idade

Inteiro

0

n

-

viveJP

Nominal

{sim , nao}

sim – o aluno vive em Ji-Paraná Não – o aluno vive em outra cidade

Situacao

Nominal

{formado , evadido}

formado – não-evasor evadido – evasor

Outros dados importantes como as notas dos alunos ou o número de reprovações ficaram de fora, não propositadamente, mas em decorrência de todos os problemas anteriormente citados. Reconhece-se a carência de atributos, entretanto optou-se por realizar a extração de padrões normalmente, a fim de se descobrir o quanto de conhecimento se pode extrair dos dados coletados.

Por fim, tendo em vista a dificuldade de se acessar o volumoso número de registros de alunos da instituição, optou-se por trabalhar somente com os dados dos alunos do curso

49

Sistemas de Informação. Resultou-se, então, num conjunto de 131 alunos, sendo 56 alunos formados e 75 alunos evadidos.

2.2 – Pré-processamento

Após coletados os dados, estes tiveram de ser inseridos manualmente em planilhas do Microsoft Excel. Em seguida, os dados já armazenados nas planilhas foram convertidos para o formato ARFF 2 , para que pudessem ser aceitos pela ferramenta Weka.

2.3 – Extração de padrões

Tendo sido os dados coletados e adequados à ferramenta Weka, a extração de padrões iniciou-se na escolha da tarefa de Mineração de Dados; aqui, a tarefa escolhida foi a tarefa de classificação, afinal a proposta do trabalho implica na identificação de alunos propensos à evasão, baseando-se na predição do atributo-classe discreto “situacao”.

Quanto à escolha dos algoritmos para a extração de padrões, decidiu-se por realizar um teste com os diversos algoritmos disponibilizados pelo Weka, a fim de se escolher 3 classificadores que obtivessem um melhor desempenho com relação aos demais. Através dessa seleção, foram escolhidos os algoritmos, os quais são partes da classe de algoritmos lazy (preguiçosos), paradigma de aprendizado de máquina baseado em exemplos, o qual classifica exemplos desconhecidos com base em exemplos similares, os quais estão descritos abaixo, de acordo com informações fornecidas pela própria ferramenta Weka:

IB1: Classificador do vizinho mais próximo. Utiliza a distância Euclidiana normalizada para encontrar a instância de treinamento mais próxima da instância de teste fornecida, e prediz a mesma classe dessa instância de treinamento. Se múltiplas

2 Formato de arquivo no qual um conjunto de atributos e respectivas instâncias deverá estar para ser manipulado pela ferramenta Weka.

50

instâncias têm a mesma (menor) distância da instância de teste, a primeira encontrada é utilizada; IBK: Classificador dos K-vizinhos mais próximos. Normaliza atributos por default. Pode selecionar valor apropriado de K baseado no cross-validation; KSTAR: Classificador baseado em instância, isto é, a classe de uma instância de teste é baseada na classe daquelas instâncias de treinamento similares a esta, como determinado por algumas funções de similaridade. Difere de outros aprendizes baseados em instância, na qual utiliza uma função de distância baseada em entropia.

Quanto aos dados, estes foram divididos em 1 conjunto de treinamento (composto de 131 alunos, ou instâncias) e 1 conjunto de teste (composto de 65 alunos, ou instâncias, selecionados ao acaso, a partir do conjunto total de 131 alunos), cujos respectivos formatos ARFF encontram-se descritos nos anexos 2 e 3. Com relação à extração de padrões, optou-se pela correção dos dados em detrimento da predição em si; por isso, todos os exemplos do conjunto de teste já estão classificados, tendo assim, como objetivo, validar o modelo inteligente obtido a partir do conjunto de treinamento.

Dentre os vários tipos de métodos de avaliação de algoritmos, escolheu-se o método da Resubstituição, que utiliza o mesmo conjunto de treinamento para executar testes, por este se apresentar o mais preciso dentre os demais. Não obstante, tal método, aliado à utilização dos algoritmos lazy (preguiçosos), que é o caso do presente trabalho, pode representar um excelente desempenho, caso as instâncias não forem conflitantes.

2.4 – Pós-processamento

Tendo sido extraídos os padrões, a próxima etapa do processo de Mineração de Dados é o pós-processamento dos padrões extraídos na etapa anterior, ou seja, analisá-los a fim de se descobrir se os mesmos são válidos, possuem um bom desempenho e, além disso, refletem a realidade.

51

80 75 75 75 70 61 60 57 56 56 56 56 53 52 50
80
75
75
75
70
61
60
57
56
56
56
56
53
52
50
47
40
33
33
33
32
32
33
32
30
29
28
30
26
24
20
10
0
KSTAR
IB1
IBK
KSTAR
IB1
IBK
Conjunto de Treinamento
Conjunto de Teste
KSTAR IB1 IBK Conjunto de Treinamento Conjunto de Teste Evasores reais Evasores preditos Não-evasores reais

Evasores reaisEvasores preditos Não-evasores reais Não-evasores preditos

Evasores preditosEvasores reais Não-evasores reais Não-evasores preditos

Não-evasores reaisEvasores reais Evasores preditos Não-evasores preditos

Não-evasores preditosEvasores reais Evasores preditos Não-evasores reais

de Treinamento Conjunto de Teste Evasores reais Evasores preditos Não-evasores reais Não-evasores preditos

Figura 9: Desempenho dos classificadores.

Como pode ser observado na figura 9, quando da utilização do conjunto de treinamento como entrada para os classificadores, o algoritmo IBK é o vencedor, tendo classificado 110 instâncias corretamente (57 alunos evasores e 53 alunos não-evasores). Já se tratando do conjunto de teste classificado tendo como base o modelo inteligente obtido a partir do conjunto de treinamento, o algoritmo IBK foi o que classificou menos instâncias corretamente (56 instâncias, sendo 26 alunos evasores e 30 alunos não-evasores). No caso dos testes, em desempenho ficaram empatados os algoritmos KSTAR e IB1 (57 instâncias classificadas corretamente, sendo 29 alunos evasores e 28 alunos não-evasores no caso do algoritmo KSTAR e 24 alunos evasores e 33 alunos não-evasores no caso do algoritmo IB1).

Vale destacar, contudo, que a análise supracitada baseia-se tão-somente no número de instâncias classificadas corretamente. Logo, propõe-se uma análise mais aprofundada, tendo como indicadores medidas de desempenho para predição, apresentada nos tópicos subseqüentes.

52

2.4.1 – Desempenho sobre o conjunto de treinamento

Os quadros 1, 2 e 3, mostrados abaixo exibem os resultados da classificação das instâncias, bem como medidas de desempenho e taxas de correção por classe relacionados, resultantes da execução de cada algoritmo tendo o conjunto de treinamento como entrada.

Quadro 1: Saída do classificador KSTAR sobre o conjunto de treinamento

Classificador

weka.classifiers.lazy.KStar -B 20 -M a

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

108

(82,4427%)

23

(17,5573%)

131

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,6453

0,3107

0,3671

63,4581%

74,2143%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

0,839

0,187

0,77

0,839

0,803

Evadido

0,813

0,161

0,871

0,813

0,841

Quadro 2: Saída do classificador IB1 sobre o conjunto de treinamento

Classificador

weka.classifiers.lazy.IB1

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

108

(82,4427%)

23

(17,5573%)

131

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,659

0,1756

0,419

35,8575%

84,6981%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

1

0,307

0,709

1

0,83

Evadido

0,693

0

1

0,693

0,819

53

Quadro 3: Saída do classificador IBK sobre o conjunto de treinamento

Classificador

weka.classifiers.lazy.IBk -K 1 -W 0

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

110 (83,9695%)

21 (16,0305%)

131

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,6832

0,1912

0,3071

39,0488%

62,0772%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

0,946

0,24

0,746

0,946

0,835

Evadido

0,76

0,054

0,95

0,76

0,844

Observando os quadros mostrados acima, pode-se notar que o desempenho dos classificadores IBK e IB1 está aberto à disputa: o classificador IBK obteve maior índice para Kappa Statistic (0,6832) e menores índices para Root Mean-Squared error (0,3071) e Root Relative Squared error (62,0772%), enquanto que o classificador IB1 obteve menores índices para Mean Absolute error (0,1756) e Relative Absolute error (35,8575%).

Com relação a todos os classificadores, suas respectivas taxas de correção para cada classe oscilaram entre 0,693 e 1 (TP Rate, Precision, Recall e F-Measure) e entre 0,307 e 0 (FP Rate).

2.4.2 – Desempenho sobre o conjunto de teste

Os quadros 4, 5 e 6, mostrados abaixo exibem os resultados da classificação das instâncias, bem como medidas de desempenho e taxas de correção por classe relacionados, relativos aos testes realizados tendo como base os modelos inteligentes obtidos a partir do conjunto de treinamento.

54

Quadro 4: Saída do classificador KSTAR sobre o conjunto de teste

Classificador

weka.classifiers.lazy.KStar -B 20 -M a

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

57

(87,6923%)

8

(12,3077%)

65

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,754

0,313

0,3639

62,4719%

71,9028%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

0,848

0,094

0,903

0,848

0,875

Evadido

0,906

0,152

0,853

0,906

0,879

Quadro 5: Saída do classificador IB1 sobre o conjunto de teste

Classificador

weka.classifiers.lazy.IB1

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

57

(87,6923%)

8

(12,3077%)

65

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,7529

0,1231

0,3508

24,5614%

69,3103%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

1

0,25

0,805

1

0,892

Evadido

0,75

0

1

0,75

0,857

55

Quadro 6: Saída do classificador IBK sobre o conjunto de teste

Classificador

weka.classifiers.lazy.IBk -K 1 –W 0

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

56 (86,1538%)

9 (13,8462%)

65

   

Mean

Root Mean-

   

Medidas de

Desempenho

Kappa

Statistic

Absolute

squared

Relative

Absolute error

Root Relative

Squared error

para predição

error

error

0,7226

0,1837

0,2916

36,6517%

57,6041%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

0,909

0,188

0,833

0,909

0,87

Evadido

0,813

0,091

0,897

0,813

0,852

Observando os quadros mostrados acima, pode-se notar que o desempenho dos classificadores IB1, KSTAR e IBK está aberto à disputa: o classificador IB1 obteve menores índices para Mean Absolute error (0,1231) e Relative Absolute error (24,5614%), enquanto que o classificador KSTAR obteve maior índice para Kappa Statistic (0,754) e o classificador IBK obteve menores índices para Root Mean-Squared error (0,2916) e Root Relative Squared error (57,6041%).

Com relação a todos os classificadores, suas respectivas taxas de correção para cada classe oscilaram entre 0,75 e 1 (TP Rate, Precision, Recall e F-Measure) e entre 0,25 e 0 (FP Rate).

56

2.4.3 – Definição do perfil dos alunos evasores

Para a definição de um perfil dos alunos evasores do CEULJI/ULBRA de Ji- Paraná/RO, decidiu-se por utilizar o algoritmo NNge (também da classe de algoritmos baseados em exemplos, que extrai regras do tipo “se - então”). Tendo sido extraídas as regras (contidas no anexo final), observou-se que a maior incidência de evasores encontra-se na faixa etária entre 18 e 21 anos, podendo ser este aluno do sexo masculino ou feminino, sendo ou não morador da cidade de Ji-Paraná.

2.5 – Considerações sobre o estudo de caso

Apesar do bom resultado obtido pelos classificadores a partir dos dados dos alunos coletados no curso de Sistemas de Informação do CEULJI/ULBRA de Ji-Paraná-RO, o que prova o poder dos algoritmos de Inteligência Artificial na extração de padrões de um conjunto de dados, ainda assim se reconhece a carência de atributos, isto é, existe a necessidade de se ter mais atributos para que mais padrões interessantes sejam extraídos e melhores desempenhos sejam atingidos. Dados importantes como o número de reprovações de cada aluno, suas notas, entre tantos outros, por todos os problemas já mencionados, não puderam ser acessados, acabando por restringir drasticamente o número de atributos interessantes.

Então, tendo em vista essa lacuna no processo de Mineração de Dados aplicado na identificação de alunos propensos à evasão no CEULJI/ULBRA de Ji-Paraná, decidiu-se por realizar uma aplicação simulada (a qual é descrita no próximo capítulo), agregando-se dois atributos hipotéticos ao conjunto de atributos reais, com o objetivo de analisar o desempenho dos classificadores com relação aos novos conjuntos de treinamento e teste, reforçando a idéia da carência de atributos anteriormente mencionada.

57

3 – APLICAÇÃO SIMULADA

A aplicação simulada deu-se na agregação de dois novos atributos (“totalRep” e “medTotal”) hipotéticos, ao conjunto de atributos reais obtidos, conforme tabela a seguir:

Tabela 11: Atributos para aplicação simulada.

Atributos

Tipo

Valores

Observação

Sexo

Nominal

{m , f}

m - masculino F – feminino

Idade

Inteiro

0

n

-

totalRep

Inteiro

0

n

Total de reprovações de cada aluno.

medTotal

Real

0,0

n

Resultado da soma das médias gerais de todas as disciplinas cursadas por cada aluno, dividida pelo número de disciplinas cursadas.

viveJP

Nominal

{sim , nao}

sim – o aluno vive em Ji-Paraná Não – o aluno vive em outra cidade

Situacao

Nominal

{formado , evadido}

formado – não-evasor evadido – evasor

Tais atributos foram escolhidos por serem julgados importantes no processo e seus valores foram inseridos manualmente, sem nenhum critério específico, apenas o bom senso, ou seja, procurou-se, na medida do possível, inserir valores que fossem condizentes ao perfil

58

de cada instância (p.e.: alunos com históricos de reprovações têm médias naturalmente mais baixas que os demais, na maioria dos casos). Assim, foram criados novos conjuntos de treinamento e teste, cujos formatos ARFF encontram-se disponíveis, respectivamente, nos anexos 4 e 5.

Com relação à tarefa de Mineração de Dados, aos algoritmos para a extração de padrões e ao método para avaliação dos algoritmos, foram escolhidos os mesmos utilizados na etapa de extração de padrões realizada no estudo de caso real descrito no capítulo 2.

80 75 75 75 75 75 75 70 60 56 56 56 56 56 56
80
75
75
75
75
75
75
70
60
56
56
56
56
56
56
50
40
37
37
37
37
37
37
28
28
28
30
27
27
27
20
10
0
KSTAR
IB1
IBK
KSTAR
IB1
IBK
Conjunto de Treinamento
Conjunto de Teste
KSTAR IB1 IBK Conjunto de Treinamento Conjunto de Teste Evasores reais Evasores preditos Não-evasores reais

Evasores reaisEvasores preditos Não-evasores reais Não-evasores preditos

Evasores preditosEvasores reais Não-evasores reais Não-evasores preditos

Não-evasores reaisEvasores reais Evasores preditos Não-evasores preditos

Não-evasores preditosEvasores reais Evasores preditos Não-evasores reais

de Treinamento Conjunto de Teste Evasores reais Evasores preditos Não-evasores reais Não-evasores preditos

Figura 10: Desempenho dos classificadores (aplicação simulada).

Como pode ser observado na figura 10, os 3 classificadores escolhidos para a extração de padrões obtiveram um desempenho máximo, ou seja, estes classificaram todas as instâncias que compõem o conjunto de treinamento corretamente. Quanto às instâncias referentes ao conjunto de testes, apenas uma delas foi classificada incorretamente, desempenho este obtido também por todos os classificadores.

59

Assim como feito no estudo de caso, abordado no capítulo anterior, foi realizada uma análise das medidas de desempenho para predição, apresentada nos tópicos subseqüentes.

3.1 – Desempenho sobre o conjunto de treinamento

Os quadros 7, 8 e 9, mostrados abaixo exibem os resultados da classificação das instâncias, bem como medidas de desempenho e taxas de correção por classe relacionados, resultantes da execução de cada algoritmo tendo o conjunto de treinamento como entrada.

Quadro 7: Saída do classificador KSTAR sobre o conjunto de treinamento (aplicação simulada)

Classificador

weka.classifiers.lazy.KStar -B 20 -M a

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

131 (100%)

 

-

131

Medidas de

 

Mean

Root Mean-

   

Desempenho

para predição

Kappa

Statistic

Absolute

error

squared

error

Relative

Absolute error

Root Relative

Squared error

numérica

1

0,067

0,1192

13,6917%

24,0944%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

 

1 0

1

 

1 1

Evadido

 

1 0

1

 

1 1

60

Quadro 8: Saída do classificador IB1 sobre o conjunto de treinamento (aplicação simulada)

Classificador

weka.classifiers.lazy.IB1

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

131

(100%)

 

-

131

Medidas de

 

Mean

Root Mean-

   

Desempenho

para predição

Kappa

Statistic

Absolute

error

squared

error

Relative

Absolute error

Root Relative

Squared error

numérica

1

0

0

0%

0%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

 

1 0

1

 

1 1

Evadido

 

1 0

1

 

1 1

Quadro 9: Saída do classificador IBK sobre o conjunto de treinamento (aplicação simulada)

Classificador

weka.classifiers.lazy.IBk -K 1 -W 0

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

131

(100%)

 

-

131

Medidas de

 

Mean

Root Mean-

   

Desempenho

para predição

Kappa

Statistic

Absolute

error

squared

error

Relative

Absolute error

Root Relative

Squared error

numérica

1

0,0072

0,0073

1,4658%

1,467%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

 

1 0

 

1 1

1

Evadido

 

1 0

 

1 1

1

Observando os quadros mostrados acima, pode-se notar que o classificador IB1 obteve excelente performance, suas medidas de desempenho atingiram índices máximos, o que denota a obtenção de um modelo inteligente extremamente consistente.

61

Com relação a todos os classificadores, suas respectivas taxas de correção para cada classe atingiram índices perfeitos.

3.2 – Desempenho sobre o conjunto de teste

Os quadros 10, 11 e 12, mostrados abaixo exibem os resultados da classificação das instâncias, bem como medidas de desempenho e taxas de correção por classe relacionados, relativos aos testes realizados tendo como base os modelos inteligentes obtidos a partir do conjunto de treinamento.

Quadro 10: Saída do classificador KSTAR sobre o conjunto de teste (aplicação simulada)

Classificador

weka.classifiers.lazy.KStar -B 20 -M a

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

64 (98,4615%)

1 (1,5385%)

65

Medidas de

 

Mean

Root Mean-

   

Desempenho

para predição

Kappa

Statistic

Absolute

error

squared

error

Relative

Absolute error

Root Relative

Squared error

numérica

0,9685

0,0786

0,1619

15,4145%

31,4515%

Correção

         

detalhada por

TP Rate

FP Rate

Precision

Recall

F-Measure

classe

Formado

1

0,036

0,974

1

0,987

Evadido

0,964

0

1

0,964

0,982

62

Quadro 11: Saída do classificador IB1 sobre o conjunto de teste (aplicação simulada)

Classificador

weka.classifiers.lazy.IB1

 
 

Instâncias classificadas corretamente

Instâncias classificadas incorretamente

Total de instâncias

Instâncias

64

(98,4615%)

1

(1,5385%)