UNIJUÍ UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MINERAÇÃO DE DADOS NA GESTÃO ESCOLAR PATRIC CECONI SPIES Santa Rosa, RS - Brasil Julho, 2015 2 PATRIC CECONI SPIES MINERAÇÃO DE DADOS NA GESTÃO ESCOLAR Trabalho de Conclusão de Curso apresentado ao curso de Ciência da Computação, do Departamento de Ciências Exatas e Engenharias, da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação. Orientador: Prof. Msc. Leonardo Minelli Santa Rosa – RS Julho, 2015 3 Dedico este trabalho aos meus pais, irmão, a minha namorada e aos meus amigos e familiares que sempre me apoiaram durante o desenvolvimento deste trabalho! 4 AGRADECIMENTO Ao Professor Leonardo Minelli orientador deste trabalho, pela sua dedicação. Aos Curso de Ciência da Computação através de sua coordenação e professores. Aos colegas que ao logo de toda a minha caminhada sempre estavam dispostos a auxiliar nas dificuldades encontradas. 5 “Comece fazendo o que é necessário, depois o que é possível, e de repente você estará fazendo o impossível.” São Francisco de Assis 6 LISTA DE FIGURAS Figura 1: Tabelas responsáveis pelos dados do estudante ...................................... 31 Figura 2: Tabelas responsáveis pela matricula ......................................................... 31 Figura 3: Tabelas responsáveis por gravar o resultado do estudante ....................... 32 Figura 4: Tabelas para o pré-processamento e limpeza ........................................... 33 Figura 5: Pré-processamento dos resultados dos estudantes................................... 33 Figura 6: Table input média final ............................................................................... 34 Figura 7: Database Lookup de resultados finais ....................................................... 35 Figura 8: Database Lookup de matriculas ................................................................. 36 Figura 9: Database Join de endereço do estudante .................................................. 37 Figura 10: Database Join de auxílio e legenda ......................................................... 37 Figura 11: Select Values dos resultados ................................................................... 38 Figura 12: Table Output de resultados ...................................................................... 38 Figura 13: Arquivo “.arff” de resultados ..................................................................... 39 Figura 14: Software WEKA........................................................................................ 40 Figura 15: Tela para carregar o arquivo “.arff”........................................................... 41 Figura 16: Configurações do algoritmo apriori........................................................... 42 Figura 17: Aba de associação ................................................................................... 43 Figura 18: Valores com os resultados dos estudantes .............................................. 44 Figura 19: Associação das evasões .......................................................................... 45 7 LISTA DE GRÁFICOS Gráfico 1: Reprovações dos estudantes ................................................................... 46 Gráfico 2: Evasão dos estudantes............................................................................. 47 8 LISTA DE QUADROS Quadro 1: Recursos .................................................................................................. 17 9 LISTA DE SIGLAS ANSI – American National Standards Institute ARFF - Attribute-Relation File Format ARO - Army Research Office BI – Business Intelligence DARPA - Denfese Advanced Research Projects Agency DCL - Data Control Language DDL - Data Definition Language DML - Data Manipulation Language DQL - Data Query Language ER – Entidade-Relacionamento ETL – Extract Transform Load GPL - General Public License HP – Hewlett-Packard IA – Inteligência Artificial INEP – Instituto Nacional de Estudos e Pesquisas ISO – International Standards Organization KDD - Knowledge discovery in database MEC – Ministério da Educação MySQL – Gerenciador de Banco de Dados NSF - National Science Foundation PDI - Pentaho Data Integration SGBD - Sistema de Gerenciamento de Banco de Dados SQL - Structured Query Language TCC – Trabalho de Conclusão de Curso 10 WEKA - Waikato Environment for Knowledge Analysis 11 SUMÁRIO INTRODUÇÃO .......................................................................................................... 13 1.1 OBJETIVOS.................................................................................................... 14 1.1.1 Objetivo Geral ............................................................................................... 14 1.1.2 Objetivos Específicos................................................................................... 14 1.2 JUSTIFICATIVA .............................................................................................. 15 1.3 METODOLOGIA E PROCEDIMENTOS ......................................................... 16 1.4 RECURSOS ................................................................................................... 17 2. ASPÉCTOS GERAIS DE MINERAÇÃO DE DADOS..................................... 18 2.1 IMPORTÂNCIA DA INFORMAÇÃO ................................................................ 18 2.2 BANCO DE DADOS ....................................................................................... 19 2.3 WEKA ............................................................................................................. 19 2.4 APRIORI ......................................................................................................... 20 2.5 ARFF .............................................................................................................. 21 2.6 KDD – KNOWLEDGE DISCOVERY IN DATABASE ...................................... 21 2.6.1 Seleção .......................................................................................................... 22 2.6.2 Pré-processamento e Limpeza .................................................................... 22 2.6.3 Transformação dos Dados ........................................................................... 22 2.6.4 Data Mining ................................................................................................... 23 2.6.5 Interpretação e Avaliação ............................................................................ 23 2.7 TÉCNICAS DE MINERAÇÃO DE DADOS ..................................................... 24 2.8 TAREFAS DE MINERAÇÃO DE DADOS ....................................................... 24 2.8.1 Classificação ................................................................................................. 25 2.8.2 Regressão ..................................................................................................... 25 2.8.3 Associação .................................................................................................... 25 12 2.8.4 Clusterização ................................................................................................ 26 2.8.5 Sumarização.................................................................................................. 26 2.9 PENTAHO – DATA INTEGRATION................................................................ 26 2.9.1 ETL ................................................................................................................. 26 2.10 MODELAGEM DE DADOS ............................................................................. 27 2.11 POSTGRESQL ............................................................................................... 27 2.12 SQL................................................................................................................. 28 3. METODOLOGIA E FERRAMENTAS DE DESENVOLVIMENTO .................. 29 3.1 BANCO DE DADOS EDUCACIONAL............................................................. 30 3.1.1 Modelo ER ..................................................................................................... 30 3.2 SELEÇÃO ....................................................................................................... 32 3.3 PRÉ-PROCESSAMENTO E LIMPEZA ........................................................... 33 3.4 TRANSFORMAÇÃO DOS DADOS ................................................................ 39 3.5 DATA MINING ................................................................................................ 39 4. ANÁLISE DOS RESULTADOS ...................................................................... 46 5. CONCLUSÃO ................................................................................................. 49 REFERENCIAS BIBLIOGRÁFICAS ......................................................................... 50 13 INTRODUÇÃO A mineração de dados é uma técnica que permite a retirada de informações de um banco de dados com muitos registros. Tais informações são disponibilizadas após serem efetuados processos de tratamento e análises dos dados existentes nesta base, sendo esta tarefa um processo não facilitado por intermédio de métodos comuns como: scripts SQL e análise de relatórios ou gráficos impressos por sistemas. Selecionar os métodos a serem utilizados para localizar padrões nos dados, seguida da efetiva busca por padrões de interesse numa forma particular de representação ou conjunto de representações; busca pelo melhor ajuste dos parâmetros do algoritmo para a tarefa em questão (SILVA, 2004, p. 13). A mineração de dados está sendo utilizado hoje em diversas áreas. Um exemplo é na medicina, onde se utiliza dela para analisar bases de dados com informações referentes a doenças e a história médica dos pacientes. Assim, fazendo o cruzamento das informações de sintomas apresentados pelas doenças com os que o paciente está sentindo quando chega para a consulta, é possível conseguir um diagnóstico prévio e aproximado do que será dado pelo médico, agilizando e facilitando na hora da consulta. Além desta, a mineração de dados pode auxiliar em outras áreas importantes da sociedade que estejam passando por problemas, como a educação no que diz respeito à qualidade de ensino no país e de evasão dos estudantes das escolas. Com a utilização da mineração de dados pode se encontrar os motivos para esses problemas e assim tomar decisões que auxiliem na solução dos problemas. Na sociedade atual, existe um grande clamor por uma melhora na educação pública, pois é só através dela que o país conseguirá crescer e se desenvolver para algum dia ser uma potência mundial, e conseguir produzir todos os produtos e tecnologias que necessita dentro de seu território não precisando mais importar de outros países. Neste trabalho irá se utilizar a técnica de mineração de dados para retirar informações de um banco de dados com dados fictícios gerados através de problemas 14 existentes na educação no país, o objetivo disto é conseguir informações sobre o motivo destes problemas estarem acontecendo, para assim analisar a viabilidade de aplicar esta técnica em um banco de dados com informações reais. Os problemas que serão analisados são o aproveitamento dos estudantes levando em conta o local onde moram e o turno em que estudam. No caso do estudante ser do interior, o deslocamento se dá através do transporte escolar o que também faz com que os estudantes tenham que acordar mais cedo do que os estudantes da área urbana. Também será analisado outras questões como estudantes que recebam auxilio e seu desempenho e ainda a evasão escolar em relação a estudantes com reprovação em anos anteriores ou localidade onde residem e o turno em que estudam. 1.1 OBJETIVOS 1.1.1 Objetivo Geral Estudar e aplicar técnicas de mineração de dados, em um banco de dados fictício gerado através de problemas identificados na educação, com o objetivo de avaliar a viabilidade da utilização em dados reais. 1.1.2 Objetivos Específicos - Estudar técnicas de mineração de dados. - Projetar um banco de dados. - Gerar dados fictícios para análise. - Identificar ferramentas que aplique técnicas de mineração de dados. - Definir qual a melhor técnica para as análises a serem realizadas. - Aplicar a técnica de mineração de dados selecionada. 15 1.2 JUSTIFICATIVA Na atualidade o tema educação está em alta, principalmente quando se fala na necessidade de melhorá-la já que ela é a essencial para que o país cresça. Para que a educação melhore é necessário descobrir onde estão e quais são os problemas que a afetam. Com o aumento da informatização em todas as áreas, existe uma grande quantidade de dados de todos os tipos que estão esquecidos dentro das bases de dados. Isso acontece também nas escolas que utilizam sistemas para facilitar a sua gestão, em que boa parte dos dados salvos pelos sistemas não são utilizados com a finalidade de fornecer todo o conhecimento neles existente. Com a aplicação de técnicas de mineração de dados, é possível utilizar toda essa gama de informações de diversas maneiras fazendo com que se descubra informações de grande importância para as escolas em relação ao aprendizado dos alunos, professores, conteúdos e demais áreas que apresentem necessidade. Assim é possível identificar quais são as dificuldades e necessidades das escolas, alunos e professores, tornando possível que os responsáveis tomem decisões para melhorar a educação. 16 1.3 METODOLOGIA E PROCEDIMENTOS Tendo em vista o objetivo proposto, a estrutura metodológica para o desenvolvimento do presente trabalho se dividiu em dois grandes eixos: um para os estudos de caso, buscando os problemas existentes na educação; e outro teórico e prático, que visa o estudo das técnicas existentes para mineração de dados e posteriormente a aplicação de uma delas em dados gerados através da análise dos problemas existentes na educação. As técnicas de mineração de dados foram aplicadas com a finalidade de analisar informações. Para que fosse possível aplicar tais técnicas, houve a necessidade de elaborar um estudo aprofundado sobre as existentes e escolher a mais adequada entre as mesmas para o desenvolvimento do trabalho. Ao final do estudo fez-se a escolha de uma das técnicas e de uma ferramenta que fosse adequada a sustentar os requisitos de mineração de dados, a fim de aplicar a técnica nos dados gerados. Após os dados gerados, o próximo passo foi utilizar a ferramenta WEKA para aplicar a técnica de mineração de dados escolhida, com o objetivo de encontrar resultados referentes a educação. Tais ferramentas e técnicas possuem a capacidade de serem utilizadas em dados verídicos, para que assim seja possível auxiliar nos processos de gestão escolar. 17 1.4 RECURSOS Para o desenvolvimento do presente trabalho foi necessário utilizar recursos materiais, que estão elencados abaixo: Quadro 1: Recursos Item Descrição 1 Notebook HP Core 2 Quad 2 Quantidade Pavilion Valor Situação 1 2.500,00 Existente Impressora 1 380,00 Existente 3 PostgreSQL 1 0,0 Existente 4 Software para Mineração de Dados 1 0,0 Existente 5 Mouse sem fio 1 54,00 Existente 6 Mesa para Notebook 1 180,00 Existente 7 Cadeira 1 80,00 Existente 9 E-mail 1 0,0 Existente 1 79,90 Existente 10 Conexão de Internet 18 2. ASPÉCTOS GERAIS DE MINERAÇÃO DE DADOS Este capítulo serve para dar um embasamento sobre o assunto proposto no trabalho, expondo opiniões de autores sobre o assunto e o explicando mais afundo. Dentre eles estão: importância da informação, mineração de dados, técnicas de mineração, entre outros assuntos relacionados. 2.1 IMPORTÂNCIA DA INFORMAÇÃO A informação é muito importante na sociedade em que vivemos, pois hoje praticamente tudo o que fazemos armazenamos alguma informação a respeito. Conseguindo acesso às mesmas podemos analisá-las e tirar conclusões para ajudar a corrigir problemas e falhas em processos cruciais para todos, como utilizar as informações sobre a educação, para identificar e solucionar problemas na mesma. Carvalho (2001, p. 27) afirma que: A tecnologia da informação é a ferramenta utilizada pelo executivo, tomador de decisão para fazer da informação o recurso estratégico. Então devem-se estudar as três partes – a tecnologia necessária, o perfil do executivo, a qualidade da informação – para que os objetivos das organizações sejam alcançados de forma eficaz e eficiente. Dalfovo (1998, p. 23) destaca que “O mercado não se limita somente ao conhecimento da informação. De alguma forma a informação é o prolongamento do produto na prestação de serviço. A informação é tão importante que passa a ser o centro das atividades nas empresas”. Para que a informação seja importante é necessário realizar um processo de extração da mesma, a extração da informação é a parte mais delicada do processo de análise da informação. Quando realizado corretamente acaba facilitando a análise dos resultados e se feito de forma errada pode acabar modificando os resultados da análise e as conclusões. 19 Para Zambedenetti (2002, p. 25-26) A extração de informações tem muitas aplicações potenciais. Por exemplo, a informação disponível em textos não-estruturados pode ser armazenada em bancos de dados tradicionais e usuários podem examiná-las através de consultas padrão. Para Barion e Lago (2008, p. 133) “O processo de extração de informação identifica palavras dentro de conceitos específicos e ainda contém um processo de transformação que modifica a informação extraída em um formato compatível com um banco de dados”. 2.2 BANCO DE DADOS É onde ficam armazenados todos os dados de um programa, todas as tabelas estão nele, é o cérebro do sistema. Neste trabalho ele contém os dados que serão selecionados, pré-processados e limpos para a aplicação da mineração de dados. Para Lemos (2008, p. 19): Banco de dados é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico. Basicamente é uma tabela composta de várias linhas divididas em colunas que são identificadas por campos, e cada linha representa um registro de banco de dados. Com esta organização o Excel poderá oferecer recursos de organização e pesquisa extremamente fáceis, independente da quantidade de linhas contidas na base de dados. Pode ser definido também, como uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas aplicações diferentes. Exemplos: lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa. Eu uso e recomendo dois tipos de banco de dados: PostgreSQL e MySQL. 2.3 WEKA A ferramenta WEKA foi desenvolvida e teve seu código fonte liberado para alterações e contém uma série de algoritmos para mineração de dados. Foi a ferramenta escolhida para aplicar a mineração de dados neste trabalho. 20 WEKA é uma ferramenta de KDD que contempla uma série de algoritmos de preparação de dados, de aprendizagem de máquina (mineração) e de validação de resultados. WEKA foi desenvolvido na Universidade de Waikato na Nova Zelândia, sendo escrito em Java e possuindo código aberto disponível na Web (SILVA, 2004, p. 20). O WEKA nos últimos anos vem sendo muito utilizado para mineração de dados, a prova disso é que se consolidou como o programa mais utilizado na área. Ele utiliza arquivos no formato “.arff” para carregar os dados e realizar a mineração de dados, este arquivo contém um cabeçalho com informações sobre as colunas do arquivo. Weka é um software livre do tipo open source para mineração de dados, desenvolvido em Java, dentro das especificações da GPL (General Public License) que ao longo dos últimos anos se consolidou como a ferramenta de mineração de dados mais utilizada em ambiente acadêmico (GONÇALVES, 2013, p. 20). A suite Weka (Waikato Enviroment for Knowledge Analysis) é formado por um conjunto de implementações de algoritmos de diversas técnicas de Mineração de Dados (UNIVERSITY OF WAIKATO, 2010). O Weka está implementado na linguagem Java, que tem como principal característica a sua portabilidade, desta forma é possível utilizá-la em diferentes sistemas operacionais, além de aproveitar os principais benefícios da orientação a objetos. O WEKA é um software livre, ou seja, está sob domínio da licença GPL (DAMASCENO, 2013, p. 20). A ferramenta Weka trabalha com arquivos de entrada no formato ARFF, que corresponde a um arquivo texto contendo um conjunto de observações, precedido por um pequeno cabeçalho. O cabeçalho é utilizado para fornecer informações a respeito dos campos que compõem o conjunto de observações (GONÇALVES, 2013, p. 20). 2.4 APRIORI Apriori é um algoritmo utilizado pelo WEKA para realizar a tarefa de associação na mineração de dados. É um algoritmo comumente utilizado em tarefas de associação. “O algoritmo Apriori é considerado um clássico na extração de Regras de Associação. Este algoritmo faz buscas recursivas no Banco de Dados à procura dos conjuntos frequentes” (MONTEIRO, SILVA e RODRIGUES, 2012, p. 20). 21 2.5 ARFF O formato de arquivo “.arff” é o utilizado pela ferramenta WEKA para ler carregar os dados que serão utilizados na mineração de dados. Este arquivo é dividido em seções a primeira delas contém o nome do arquivo, a segunda as colunas de informações existentes com seus tipos de dados que se forem fixos estarão descritos entre chaves e a terceira é a seção onde estão os dados que serão analisados contidos no arquivo. O arquivo ARFF é dividido em duas partes, a primeira contém uma lista de todos os atributos, onde se deve definir o tipo do atributo e/ou os valores que ele pode representar. Os valores devem estar entre chaves ({}) separados por vírgulas. A segunda é composta pelas instâncias presentes nos dados, os atributos de cada instância devem ser separados por vírgula, e aqueles que não contêm valor, o valor deve ser representados pelo caractere '?' (DAMASCENO, 2013, p. 21). A ferramenta Weka trabalha com arquivos de entrada no formato ARFF, que corresponde a um arquivo texto contendo um conjunto de observações, precedido por um pequeno cabeçalho. O cabeçalho é utilizado para fornecer informações a respeito dos campos que compõem o conjunto de observações (GONÇALVES, 2013, p. 21). 2.6 KDD – KNOWLEDGE DISCOVERY IN DATABASE O KDD é o conjunto de passos que se deve seguir para a descoberta de conhecimento em busca de solucionar problemas. Uma parte deste processo é a mineração de dados. Conforme Fayyad (1996, p. 21), “É um processo não trivial de identificar em grandes conjuntos de dados padrões que sejam válidos, novos, úteis e compreensíveis, buscando melhorar o entendimento de um problema ou um procedimento de tomada de decisão”. 22 2.6.1 Seleção É a primeira fase da mineração de dados, nela se identifica quais dados que serão analisados através da mineração de dados. Se mal definida a seleção, a mineração de dados pode não ter um resultado positivo. Para Prass (2012, p. 22): A fase de seleção de dados é a primeira no processo de descobrimento de informação e possui impacto significativo sobre a qualidade do resultado final, uma vez que nesta fase é escolhido o conjunto de dados contendo todas as possíveis variáveis e registros que farão parte da análise. Normalmente essa escolha dos dados fica a critério de um especialista do domínio. 2.6.2 Pré-processamento e Limpeza No etapa de pré-processamento e limpeza dos dados se executa processos que farão a eliminação de dados duplicados, incompletos ou que não se enquadrem nos que se pretende analisar. Se mal feito irá afetar a qualidade dos dados, o que dificultara a mineração de dados. Conforme Prass (2012, p. 22): O Pré-processamento e limpeza dos dados é uma parte crucial no processo de KDD, pois a qualidade dos dados vai determinar a eficiência dos algoritmos de mineração. Nesta etapa deverão ser realizadas tarefas que eliminem dados redundantes e inconsistentes, recuperem dados incompletos e avaliem possíveis dados discrepantes ao conjunto, chamados de outliers. 2.6.3 Transformação dos Dados Esta etapa é responsável pela exportação dos registros já pré-processados e limpos, do banco de dados para um arquivo em um formato aceito pelo sistema de mineração de dados. 23 Prass (2012, p. 23) define que: A Transformação do Dados é a fase do KDD que antecede a fase de Data Mining. Após serem selecionados, limpos e pré-processados, os dados necessitam ser armazenados e formatados adequadamente para que os algoritmos possam ser aplicados. Além disto, nesta fase, se necessário, é possível obter dados faltantes através da transformação ou combinação de outros, são os chamados “dados derivados”. 2.6.4 Data Mining É a etapa em que se aplica o algoritmo de uma técnica de mineração de dados no arquivo com os dados a serem analisados. Após o término da execução do data mining, o software retorna as combinações que mais estão presentes no arquivo, assim como o número de vezes que elas se repetem. Para Shiba (2008, p. 21) A alta disponibilidade de recursos para armazenamento de dados também permitiu às organizações um aumento significativo nos investimentos para a capacitação de seus ambientes no que se refere à captura, transformação e retenção de informações, dotando-os de softwares funcionalmente capazes de suportar todo o fluxo das transações de negócio. Kanashiro (2007, p.21) relata que: Alguns parâmetros, como o tipo de tarefa de mineração de dados e a forma como os padrões serão representados, são determinados pelos interesses do usuário final e consequentemente influenciará na escolha do algoritmo. 2.6.5 Interpretação e Avaliação Nesta etapa se analisa os resultados apresentados pelo algoritmo de mineração de dados buscando novas informações sobre os dados analisados. Conforme Prass (2012, p. 23): A Mineração de Dados trás consigo uma série de ideias e técnicas para uma vasta variedade de campos. Estatísticos, pesquisadores de Inteligência Artificial (IA) e administradores de bancos de dados usam técnicas diferentes 24 para interpretar e avaliar os resultados obtidos com a mineração para, no final, chegar a um mesmo fim: a informação. 2.7 TÉCNICAS DE MINERAÇÃO DE DADOS Existem várias técnicas de mineração de dados, mas cada problema tem suas peculiaridades o que faz com que cada técnica seja para um tipo de problema diferente. Para Dias (2001, p. 12) “A familiaridade com as técnicas é necessária para facilitar a escolha de uma delas de acordo com os problemas apresentados.”. Chiara (2003, p. 9) destaca que: Um ponto a ser observado é que algumas técnicas são melhores para determinados problemas e domínios de conhecimento que outras. Portanto, não há um método universal de Mineração de Dados. A escolha de um algoritmo particular para um determinado problema deve ser analisado empiricamente. Martinhago (2005, p. 24) ressalta: Um ponto importante é que cada técnica tipicamente resolve melhor alguns problemas do que outros, não há um método universal e a escolha é uma arte. Para as aplicações, grande parte do esforço vai para a formulação do problema, ou seja, a especificação de que tipo de informações o algoritmo de mineração deve procurar no conjunto de dados disponíveis. 2.8 TAREFAS DE MINERAÇÃO DE DADOS Na mineração de dados existem algumas tarefas, elas são chamadas de classificação, regressão, associação, clusterização e sumarização. Cada uma delas é pra um tipo de problema específico. 25 2.8.1 Classificação Para Cardoso e Machado (2008, p. 506) a classificação: É o processo de criar modelos (funções) que descrevem e distinguem classes ou conceitos, baseados em dados conhecidos, com o propósito de utilizar esse modelo para predizer a classe de objetos que ainda não foram classificados. O modelo construído baseia-se na análise prévia de um conjunto de dados de amostragem ou de treinamento, contendo objetos corretamente classificados. Exemplo: grupos de pesquisas já definidos contendo alguns professores e, a partir da análise de dados das pesquisas de outros professores que não pertencem a esses grupos, sugerir a sua entrada. 2.8.2 Regressão Para Scoss (2006, p. 29) “A estimação ou regressão é similar a tarefa de classificação, porém restringe-se a atributos numéricos. Ela busca por funções, sejam lineares ou não, que possam mapear registros de um banco de dados”. 2.8.3 Associação Barioni (2001, p. 17) define que “A tarefa dessa técnica envolve a descoberta de regras de associação que indiquem correlações interessantes entre objetos de um dado banco de dados”. A técnica de associação gera regras que servem para a descoberta de padrões de comportamento nos dados. Através da análise destes padrões se consegue descobrir conhecimentos em relação as informações utilizadas. A técnica de associação é uma técnica exploratória (AGRAWAL, 1994). A associação gera regras que descrevem os padrões mais relevantes presentes nos dados. As regras são compostas por precedentes e consequentes, ou seja, a regra contém no precedente um subconjunto de atributos e seus valores e no consequente um subconjunto de atributos que decorrem do precedente. Por exemplo, quem compra ovos, manteiga, farinha de trigo e chocolate também compra fermento. As regras servem para diversas utilidades, dentre elas a descoberta de padrões de comportamento, aplicações em marketing e desenvolvimento de novos produtos (DAMASCENO, 2013, p. 25). 26 2.8.4 Clusterização Para Martinhago (2005, p. 22): Um cluster pode ser definido como um conjunto de objetos agrupados pela similaridade ou proximidade e, a segmentação pode ser definida como a tarefa de segmentar uma população heterogênea em um número de subgrupos (ou clusters) mais homogêneos possíveis, de acordo com alguma medida. 2.8.5 Sumarização Conforme Fayyad (1996, p. 10), “A tarefa de sumarização envolve métodos para encontrar uma descrição compacta para um subconjunto de dados”. 2.9 PENTAHO – DATA INTEGRATION É uma das ferramentas da suíte Pentaho, esta é responsável pela parte de ETL. No trabalho atual o processo de ETL executara a etapa de pré-processamento e limpeza dos dados. Para Tecnologia (2015, p. 26): O Pentaho Data Integration ou Kettle e uma ferramenta de ETL que faz parte da plataforma Pentaho. O mesmo pode ser instalado separadamente sem a necessidade de mais nenhum dos softwares da plataforma de BI do Pentaho. O único pré-requisito e ter um runtime Java ( Maquina Virtual Java ) instalada. Um Apelido do Pentaho Data Integration usado pela maioria dos desenvolvedores e usuário do Pentaho é a sigla PDI. 2.9.1 ETL É um processo que em geral retira dados de uma ou mais bases de dados e joga para outra, esse processo é muito utilizado para realizar a migração do banco de dados de um sistema que era utilizado em alguma empresa para outro que começara a ser utilizado no lugar, ele substitui o processo de programação de uma aplicação só para fazer essa migração de dados. 27 Para Ribeiro (2011, p. 27): ETL, vem do inglês Extract Transform Load, ou seja, Extração Transformação Carga. O ETL visa trabalhar com toda a parte de extração de dados de fontes externas, transformação para atender às necessidades de negócios e carga dos dados dentro do Data Warehouse. Abreu (2008, p. 27) destaca que: O processo de ETL (Extract, Transform and Load) destina-se à extração, transformação e carga dos dados de uma ou mais bases de dados de origem para uma ou mais bases de dados de destino (Data Warehouse). A extração e carga são obrigatórias para o processo, sendo a transformação/limpeza opcional. 2.10 MODELAGEM DE DADOS É a estruturação do banco de dados, ela que define a organização dos dados e a ligação entre eles. Esse é o processo responsável por gerar o banco de dados que contém os dados a serem analisados na mineração de dados. Oliveira (2002, p. 27) destaca que: A modelagem de dados é a primeira etapa de um projeto que envolva banco de dados e tem como seu principal objetivo o desenvolvimento de um modelo que contenha entidades e relacionamentos, e que com isso seja possível representas as especificações das informações do negócio. 2.11 POSTGRESQL É um famoso SGBD gratuito, que tem um grande poder de armazenamento e uma excelente interface de gerenciamento nativo que é o pgadminIII. O PostgreSQL é o SGBD responsável por gerenciar o banco de dados no presente trabalho. De acordo com PostgreSQL (2005, p. 27): O POSTGRES é um sistema gerenciador de banco de dados criado em 1986 em Berkeley na Universidade da Califórnia, como sucessor do INGRES, banco de dados 10 relacional, desenvolvido na mesma universidade pelo Prof. Michael Stonebraker e apoiado pelo DARPA (Denfese Advanced Research Projects Agency), pelo ARO (Army Research Office) e pelo NSF (National Science Foundation). 28 2.12 SQL No presente trabalho a linguagem SQL foi utilizada para auxiliar o processo de ETL. É a linguagem dos bancos de dados relacionais, muito conhecida e com um grande poder para buscar e filtrar dados do banco. Segundo Duarte (2006, p. 28): A linguagem SQL (Structured Query Language) é a base para utilização de bancos de dados relacionais. Com a utilização dos comandos básicos (INSERT, DELETE, UPDATE e SELECT) pode-se resolver a maior parte dos problemas relacionados a manutenção e extração de dados no banco de dados. Com o SQL é possível criar as estruturas básicas de armazenamento, como tabelas e índices. Também há comandos específicos da linguagem para o controle e segurança relacionado a um banco de dados. Em princípio, os comandos SQL são divididos em: DDL (Data Definition Language) ou Linguagem de definição de dados DML (Data Manipulation Language) ou Linguagem de manipulação de dados DQL (Data Query Language) ou Linguagem de recuperação de dados DCL (Data Control Language) ou Linguagem de controle de dados O SQL tem sido aprimorado ao longo do tempo. Duas entidades (ANSI – American National Standards Institute e ISO – International Standards Organization) vêm, desde 1986, publicando padrões de especificação da linguagem SQL. 29 3. METODOLOGIA E FERRAMENTAS DE DESENVOLVIMENTO O objetivo principal deste trabalho foi estudar e aplicar técnicas de mineração de dados, em um banco de dados fictício gerado através de problemas identificados na educação, visando avaliar a viabilidade da utilização em dados reais. O trabalho foi desenvolvido com o auxílio dos programas Power Designer, PostgreSQL, Pentaho e WEKA. A estrutura dos dados escolhidos no presente trabalho para aplicar a mineração de dados, foram montados através de reportagens que falavam sobre problemas na educação nacional, existem vários problemas em evidência no cenário atual da educação. Um deles é o de desempenho inferior dos alunos que estudam no turno da noite comparado aos outros. Um terço dos matriculados no ensino médio das escolas estaduais brasileiras está no ensino noturno. Eles são 2,3 milhões de um universo de 7,2 milhões alunos e sofrem com enormes disparidades na educação recebida quando comparados a estudantes de turnos diurnos regulares. Um estudo feito pelo Instituto Ayrton Senna mostra que esses alunos apresentam desempenho mais baixo, têm cargas horárias menores e maior taxa de abandono escolar (GLOBO, 2014, p. 29). Outro fator que também foi analisado é a questão dos alunos que necessitam de transporte escolar ou são da área rural terem um desempenho menor do que alunos da área urbana. Tendo que acordar mais cedo e enfrentar um trajeto mais longo até a escola. De acordo com o Censo Escolar da Educação Básica 2012, do Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (Inep/MEC), 8,68 milhões de alunos utilizam transporte público escolar para chegar aonde estudam. Isso representa 17,2% do total de 50,54 milhões de alunos matriculados. A grande maioria - 5,76 milhões de estudantes - é transportada de ônibus (PEREIRA, 2014, p. 29). Mais uma situação importante é a taxa de evasão escolar existente no país. Foi analisado através do local de moradia e dos últimos resultados nas séries cursadas, para identificar se existe relação entre esses fatores e a evasão escolar. 30 Hoje, no Brasil, de 97% dos estudantes com idade entre 7 e 14 anos se encontram na escola, no entanto, o restante desse percentual, 3%, respondem por aproximadamente 1,5 milhão de pessoas com idade escolar que estão fora da sala de aula. Para cada 100 alunos que entram na primeira série, somente 47 terminam o 9º ano na idade correspondente, 14 concluem o ensino médio sem interrupção e apenas 11 chegam à universidade (FREITAS, 2015, p. 30). 3.1 BANCO DE DADOS EDUCACIONAL Foi projetada um banco de dados voltada para o armazenamento de informações educacionais sobre o aproveitamento dos alunos e suas informações pessoais, para que em cima delas sejam aplicadas as técnicas de mineração de dados. 3.1.1 Modelo ER Para desenvolver o projeto deste banco de dados foi utilizado o programa Power Designer, que possibilita a criação do modelo ER responsável pela geração dos scripts SQL para a criação do banco de dados. As tabelas criadas foram: “pessoa”, “pessoaendereco”, “pessoaauxilio”, “auxilio”, “mediafinal”, “resultadofinal”, “legenda”, “componente”, “matricula”, “compcurricularestudante”, “unidade”, “serie”. A tabela de “pessoa” é responsável por armazenar dados dos estudantes como nome, data de nascimento entre outras informações. Como complemento desta tabela existe a “pessoaendereco” que armazena o endereço do estudante com o logradouro e localização (urbano ou rural) e também a tabela de “pessoaauxilio” que vincula o estudante com algum auxílio que ele ou a família possa receber do governo, como mostra a figura 1. 31 Figura 1: Tabelas responsáveis pelos dados do estudante Já a tabela de “matricula” e “compcurricularestudante”, são responsáveis por armazenar as informações referentes as matriculas dos estudantes. A primeira grava a série, o ano da matricula e o turno, na segunda tabela grava os componentes da matricula, como mostra a figura 2. Figura 2: Tabelas responsáveis pela matricula As tabelas “mediafinal”, “resultadofinal” e “legenda” são responsáveis por gravar as notas do estudante nos componentes. O resultado final na série e as possíveis legendas, respectivamente como mostra a figura 3. 32 Figura 3: Tabelas responsáveis por gravar o resultado do estudante 3.2 SELEÇÃO O banco de dados demonstrada acima foi projetada levando em conta as possíveis áreas a serem analisadas na educação, que seriam o aproveitamento dos estudantes levando em conta o local onde moram e o turno em que estudam. No caso do estudante ser do interior, o deslocamento até a escola quando a mesma for na cidade se dá através do transporte escolar o que também faz com que os estudantes tenham que na maioria das vezes acordar mais cedo do que os estudantes que moram na área urbana. Também será analisado outras questões como estudantes que recebam auxilio e seu desempenho e ainda a evasão escolar em relação a estudantes com reprovação em anos anteriores ou localidade onde residem e o turno em que estudam. O script de criação do banco de dados foi executado no gerenciador de banco de dados PostgreSQL, onde recebeu uma carga de dados aleatórios, este banco teve aplicada a técnica de pré-processamento e limpeza de dados, onde se extraiu as informações que seriam necessárias para a aplicação das técnicas de mineração de dados. Criou-se uma tabela com as informações referentes a cada item de análise dos dados, que são o aproveitamento dos estudantes nos componentes e a evasão dos estudantes. Foram criadas duas tabelas para salvar os dados após o préprocessamento e a limpeza. Estas “evasaoestudante”, como mostra a figura 4. tabelas são “resultadoestudante” e 33 Figura 4: Tabelas para o pré-processamento e limpeza 3.3 PRÉ-PROCESSAMENTO E LIMPEZA Após a criação das duas tabelas no banco PostgreSQL, foi executado o processo de pré-processamento e limpeza, realizado com o programa Pentaho Data Integration, este possibilita a criação de um processo que faz a leitura dos dados em um banco de dados e a gravação em outro banco diferente do de origem. Ainda existe a possibilidade de trabalhar os mesmos durante o processo, podendo transforma-los de inteiro para texto ou analisar algum conjunto de dados e criar um novo atributo que não existia antes. Este processo é auxiliado por comandos SQL que são executados no banco de origem para buscar todos os dados que se deseja tratar e gravar no banco de destino. Na figura 5 contém o pré-processamento “resultadoestudante”. Figura 5: Pré-processamento dos resultados dos estudantes da tabela de 34 O pré-processamento e limpeza presente na figura 5 contém os objetos descritos abaixo: Table input: é responsável por ler a tabela principal do banco de origem, no caso a tabela de “mediafinal”. A figura 6 contém a configuração deste objeto com o nome, conexão e SQL utilizada para buscar as médias finais. Figura 6: Table input média final Database Lookup: é responsável por ler uma segunda tabela através de uma comparação com os registros que já foram selecionados anteriormente, após essa comparação ele retorna as colunas que forem configuradas desta segunda tabela do banco de origem, no caso a tabela de “resultadofinal”. A figura 7 contém a configuração deste objeto com o nome, conexão, tabela, campos para comparação e campos para retornar. 35 Figura 7: Database Lookup de resultados finais A figura 8 contém as configurações do Database Lookup que é responsável por retornar as matriculas do banco de origem. Dentre as configurações estão o nome do objeto, a conexão e a tabela utilizada, o campo de filtro da tabela e os que serão retornados. 36 Figura 8: Database Lookup de matriculas Database Join: é responsável por ler uma nova tabela através de uma SQL utilizando no where a comparação com os registros que já foram selecionados anteriormente, após essa comparação ele retorna as colunas que forem selecionadas no script SQL que é executado no banco de origem, neste caso a tabela é de “pessoaendereco”. A figura 9 contém a configuração deste objeto com o nome, conexão, SQL e campos que serão usados de parâmetro na SQL. 37 Figura 9: Database Join de endereço do estudante Na figura 10 mostra-se as configurações dos Database Join responsáveis por retornar as tabelas de “pessoaauxilio” e “legenda”. A segunda está presente na tabela de “mediafinal” como chave estrangeira e identifica se o aluno foi aprovado ou reprovado no componente. Figura 10: Database Join de auxílio e legenda 38 Select Values: é responsável por selecionar apenas os campos que se deseja retornar para inserir no banco de destino. A figura 11 contém a configuração deste objeto com o nome e campos que não serão usados no retorno ou os campos excluídos da seleção. Figura 11: Select Values dos resultados Table Output: é responsável por inserir os campos selecionados até aqui no banco de destino. A figura 12 contém a configuração deste objeto com o nome, conexão, tabela no banco de destino e a colunas que serão inseridas com as colunas selecionadas no banco de origem. Figura 12: Table Output de resultados 39 3.4 TRANSFORMAÇÃO DOS DADOS A etapa de transformação dos dados se refere a extração dos mesmos já pré-processados e limpos das tabelas que no caso são “evasaoestudante” e “resultadoestudante” para um arquivo que esteja em um formato aceito pelo programa que irá fazer a mineração, o programa escolhido foi o WEKA, então o formato do arquivo de extração será “.arff”. A figura 13 contém o formato do arquivo. Figura 13: Arquivo “.arff” de resultados Na figura 13 pode-se ver que o arquivo é formado por algumas seções. A seção @Relation contém o nome do arquivo, a segunda é @Attribute onde cada uma destas seções é uma das colunas que existem nos dados presentes no arquivo, e por último @Data que marca o início dos dados extraídos para o arquivo e que serão analisados na mineração de dados. 3.5 DATA MINING Para a etapa de data mining foi utilizado o programa WEKA, que tem licença gratuita e contém várias tarefas para mineração de dados, são elas: 40 classificação, regressão, associação, clusterização e sumarização, para a realização das mesmas o WEKA conta com algoritmos específicos para cada uma. Após o estudo de todas as técnicas e algoritmos, foi escolhido para o presente trabalho a tarefa de associação com o algoritmo Apriori, pois as demais tarefas não se enquadram no problema apresentado. A figura 14 exibe a tela inicial do Software WEKA. Para executar a mineração é necessário abrir a aplicação Explorer, e então carregar o arquivo “.arff” e executar os algoritmos para analisar o mesmo. Figura 14: Software WEKA A primeira etapa da mineração é o carregamento do arquivo no WEKA. Nela quando o arquivo for carregado, o software irá ler todas as colunas que o arquivo tem e as trará em uma tabela ao clicar nelas ele carregara ao lado quais os diferentes valores que existem nesta coluna e a quantidade de vezes que eles se repetem, como mostra a figura 15. Nesta mesma tela pode-se aplicar filtros no arquivo como, alterar o tipo de uma coluna que pode ser nominal que tem todos os valores presentes na coluna especificados no cabeçalho do arquivo ou numeric que pode ter vários valores diferentes dentro da coluna, o tipo numeric não é recomendado para a tarefa de associação, então o sistema permite que este tipo seja convertido para nominal, assim 41 como também permite que uma ou mais colunas sejam excluídas antes de aplicar a tarefa. Estas opções são realizadas na opção filter que está presente na figura 15. Figura 15: Tela para carregar o arquivo “.arff” Na aba de associate é realizada a tarefa de associação, que foi a aplicada neste trabalho para realizar a mineração de dados. Nela existe a opção para selecionar o algoritmo que se pretende utilizar para realizar a tarefa e após isso pode se ajustar alguns parâmetros que são considerados pelo algoritmo na hora de realizar a mineração, estas configurações podem ser vistas na figura 16. 42 Figura 16: Configurações do algoritmo apriori Após estas configurações deve se iniciar o processo de mineração e aguardar que ele seja concluído e traga os resultados encontrados. Estes são retornados em forma de itens ordenados pelas combinações que mais acontecem dentro do arquivo de dados importado para a aplicação, como mostra a figura 17 que é referente ao arquivo da figura 13. 43 Figura 17: Aba de associação Foram realizadas analises em cima dos dados de reprovações dos estudantes que foram gerados aleatoriamente, para identificar a possível causa destas reprovações. Segundo os resultados da tarefa de associação que está presenta na figura 18 onde a legenda ‘R’ é reprovado, chega-se à conclusão de que, das 8249 reprovações que existiam no arquivo gerado: - 6900 residem no interior e utilizam transporte escolar; - 5236 não recebem bolsa família; - 5081 são do turno noturno; - 4263 residem no interior e são do turno noturno; - 3910 são do interior e não recebem bolsa família; - 2327 são do interior, recebem bolsa família e são do turno noturno; - 975 reprovaram em matemática; - 925 reprovaram em português; 44 Figura 18: Valores com os resultados dos estudantes A tarefa foi realizada em cima de dados relacionados a evasão escolar, visando encontrar algum motivo para a evasão. Nesta tarefa foi analisado as possibilidades de reprovação em anos anteriores, local de moradia, se possuía bolsa família e o turno de ensino. Na análise dos resultados presentes na figura 19 onde a situação 4 é evadido, pode se concluir que das 1074 evasões que foram analisadas na tarefa de associação: - 986 não tem bolsa família; - 935 reprovarão no ano anterior; - 856 reprovou no ano anterior e não tem bolsa família; - 738 residem no interior; - 680 residem no interior e não tem bolsa família; - 639 residem no interior e reprovaram no ano anterior; - 512 estudavam no turno da tarde; 45 Figura 19: Associação das evasões 46 4. ANÁLISE DOS RESULTADOS Com a análise dos resultados da mineração de dados do software WEKA, que foi aplicada sobre os dados gerados aleatoriamente, pode se distinguir alguns problemas existentes nos mesmos. Para isso montou-se dois gráficos, um para a análise das reprovações dos estudantes e outro para a análise das evasões. Gráfico 1: Reprovações dos estudantes Reprovação Interior 925 2327 975 Não tem BF 6900 3910 Noite Interior e Noite 5236 4263 5081 Interior e Não tem BF Interior, tem BF e Noite Matemática Português No gráfico 1 pode-se notar que alunos que residem no interior são os que mais reprovam, pois precisam enfrentar viagens cansativas no transporte escolar além de ter que acordar mais sedo. Depois vem os que não recebem bolsa família. E ainda os que estudam no turno da noite, estes tem seu rendimento comprometido por terem que trabalhar durante o dia e assim estarem cansados durante a noite. 47 Gráfico 2: Evasão dos estudantes Evasão Não tem BF 639 512 986 935 680 Reprovou Reprovou e Não tem BF Interior Interior e Não tem BF 738 856 Interior e Reprovou Tarde No gráfico 2 que se refere a evasão de estudantes, o que se vê é que alunos sem bolsa família são os com mais evasão escolar, pois necessitam abandonar a escola para buscar um emprego e auxiliar a sua família nas despesas de casa. O segundo que mais acontece é alunos que reprovaram no ano anterior a evasão, estes abandonando por não terem mais entusiasmo e motivação para repetir o ano perdido. Já os que residem no interior acabam largando a escola por decidirem continuar na agricultura e assim imaginarem que não necessitam de mais estudo do que já tem. Com essas informações poderia se tomar decisões que fossem combater esses aspectos citados acima. Tendo o objetivo de diminuir os números apresentados em ambos os testes, no de evasão e no de resultados dos estudantes. Com base nisso, se constata que seria viável aplicar estas técnicas de mineração de dados em um banco de dados com registros reais, para assim encontrar informações que ajudem a solucionar problemas na educação do pais. Um deles é o de que estudantes do turno noturno tem desempenho inferior aos outros no país. Um terço dos matriculados no ensino médio das escolas estaduais brasileiras está no ensino noturno. Eles são 2,3 milhões de um universo de 7,2 milhões alunos e sofrem com enormes disparidades na educação recebida quando comparados a estudantes de turnos diurnos regulares. Um estudo feito pelo Instituto Ayrton Senna mostra que esses alunos apresentam desempenho mais baixo, têm cargas horárias menores e maior taxa de abandono escolar (GLOBO, 2014, p. 47). 48 Com a aplicação destas técnicas de mineração pode se descobrir qual o problema que faz com que estes alunos tenham desempenho menor que os outros e assim criar medidas para corrigir estes problemas. Outros problemas como a evasão escolar que afeta milhões de crianças em idade escolar, os problemas de compreensão com a língua portuguesa e matemática que também afeta muitos alunos no país tudo isso pode ser analisado com a ferramenta. Para Loes (2013, p. 48), “Metade dos jovens entre 15 e 17 anos não está matriculada no ensino médio. Pesquisa inédita mostra que a proporção dos que abandonaram a escola nessa etapa saltou de 7,2% para 16,2% em 12 anos”. 61% dos alunos do 5ºano não conseguem interpretar textos simples. 60% dos alunos do 9ºano não interpretam textos dissertativos. 65% dos alunos do 5ºano não dominam o cálculo, 60% dos alunos do 9º ano não sabem realizar cálculos de porcentagem (FREITAS, 2015, p. 48). 49 5. CONCLUSÃO Este trabalho teve dois objetivos principais. O primeiro de estudar as técnicas de mineração de dados aprendendo a utilizá-las. Já o segundo de aplicá-las em um banco de dados com registros gerados aleatoriamente baseado em problemas na educação do país, resultando em motivos plausíveis para os problemas analisados. Como se pode ver nos gráficos 1 e 2, foi possível partindo do estudo proposto encontrar os motivos para os problemas que foram criados nos dados gerados, que eram, a reprovação de estudantes em componentes e a evasão dos mesmos das escolas. Os motivos do primeiro problema foram os estudantes residirem no interior, não receberem bolsa família e estudarem durante a noite. No segundo os motivos foram não receber bolsa família, terem reprovado no ano anterior e estudar durante a tarde. Sendo assim, as técnicas de mineração de dados utilizadas no banco gerado, se mostram uteis para serem utilizadas em bases de dados com registros reais. Podendo assim auxiliar a educação no país, encontrando os motivos de problemas como os apresentados neste trabalho o que facilitará na tomada de decisões para solucioná-los. Como trabalhos futuros sugere-se a aplicação das técnicas propostas em um banco de dados com dados reais podendo assim ter um benefício real na educação. Pode-se também trabalhar na busca de outros problemas relacionados a educação. 50 REFERENCIAS BIBLIOGRÁFICAS ABREU, Fábio Silva Gomes da Gama e. DESMISTIFICANDO O CONCEITO DE ETL - em fsma. Disponível em: < http://www.fsma.edu.br/si/Artigos/V2_Artigo1.pdf > Acesso em: 11 jun. 2015. AGRAWAL, R.; SRIKANT, R. Fast algorithms for mining association rules in large databases. Proceedings of the International Conference on Very Large Databases, Santiago, Chile, 1994. BARION, Eliana C. N. e LAGO, Decio. Mineração de Textos. Revista de Ciências Exatas e Tecnologia. São Paulo, Vol. III, Nº. 3, p. 123-140. Dez, 2008. BARIONI, Maria C. N.. Visualização de Operações de Junção em Sistemas de Bases de Dados para Mineração de Dados. 2002. 65 f. Dissertação (Mestrado em Ciências -Computação e Matemática Computacional) – USP, São Carlos, 2002. CARDOSO, Olinda N. P.; MACHADO, Rosa T. M. Gestão do conhecimento usando data mining: estudo de caso na Universidade Federal de Lavras. Revista de Administração Pública. Rio de Janeiro 42(3) : 495-528, Maio/Jun. 2008. CARVALHO, Luís A. V.de. Data mining: a mineração de dados no marketing, medicina, economia, engenharia e administração. São Paulo: Érica, 2001. CHIARA, Ramon. Aplicação de Técnicas de Data Mining em Logs de Servidores Web. 2003. Dissertação (Mestrado). Instituto de Ciências Matemáticas e de Computação - ICMC - USP. 2003. DUARTE, Eber M. SQL e Programação de Banco de Dados - em criarweb. Disponível em: < http://www.criarweb.com/artigos/667.php> Acesso em: 10 jun. 2015. DALFOVO, Oscar. Desenho de um Modelo de Sistema de Informação Estratégico para a Tomada de Decisão nas Pequenas e Médias Empresas do Setor Têxtil de Blumenau. 1998. Dissertação (Mestrado em Administração) – Universidade Regional de Blumenau – FURB. Blumenau. 1998. 51 DAMASCENO, Marcelo. INTRODUÇÃO A MINERAÇÃO DE DADOS UTILIZANDO O WEKA em ifal. Disponível em: < http://connepi.ifal.edu.br/ocs/index.php/connepi/CONNEPI2010/paper/viewFile/258/2 07> Acesso em: 10 jun. 2015. DIAS, Maria M. Um Modelo de Formalização do Processo de Desenvolvimento de Sistemas de Descoberta de Conhecimento em Banco de Dados. 2001. 212 f. Tese (Doutorado em Engenharia da Produção) – Universidade Federal de Santa Catarina – UFSC, Florianópolis, 2001. FAYYAD,U.M.,G.PIATETSKY–SHAPIRO, P.SMYTH, Knowledge Discovery and Data Mining: Towards a Unifying Framework. Proceeding of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96), Portland, Oregon, august, 1996. FREITAS, Eduardo de. A QUALIDADE DA EDUCAÇÃO BRASILEIRA - em brasilescola. Disponível em: < http://educador.brasilescola.com/trabalho-docente/aqualidade-educacao-brasileira.htm> Acesso em: 15 jun. 2015. GLOBO, O. Estudantes de ensino noturno têm desempenho inferior, mostra levantamento em globo. Disponível em: < http://oglobo.globo.com/sociedade/educacao/estudantes-de-ensino-noturno-temdesempenho-inferior-mostra-levantamento-14925188> Acesso em: 15 jun. 2015. GONÇALVES, Eduardo Corrêa. Mineração de Regras de Associação com a Ferramenta de Data Mining Weka - em devmedia. Disponível em: < http://www.devmedia.com.br/mineracao-de-regras-de-associacao-com-a-ferramentade-data-mining-weka/20478> Acesso em: 15 jun. 2015. KANASHIRO, Augusto. Um data warehouse de publicações científicas: indexação automática da dimensão tópicos de pesquisa dos datamarts. 2007. 109 f. Dissertação (Mestrado em Ciência de Computação e Matemática Computacional) – USP, São Carlos, 2007. LEMOS, João Pedro. Saiba o que é um banco de dados - em htmlstaff. Disponível em: < http://www.htmlstaff.org/ver.php?id=21241> Acesso em: 10 jun. 2015. LOES, João. O maior problema da educação do Brasil - em istoe. Disponível em: <http://www.istoe.com.br/reportagens/326686_O+MAIOR+PROBLEMA+DA+EDUCA CAO+DO+BRASIL> Acesso em: 10 jun. 2015. MARTINHAGO, Sergio. Descoberta de Conhecimento sobre o Processo Seletivo da UFPR. 2005. 125 f. Dissertação (Mestrado em Ciências) - Universidade Federal do Paraná –UFP, Curitiba, 2005. MONTEIRO, Marcus Vinícius B.; RODRIGUES, Cleuton T.; SILVA, Cassiana Fagundes da. Uso de Regras de Associação para Descoberta de Conhecimento na Produtividade de Açaí no Estado do Amapá - em unesc. Disponível em: 52 <http://periodicos.unesc.net/index.php/sulcomp/article/viewFile/297/304> Acesso em: 12 jun. 2015. OLIVEIRA, José Valente de. Dicionário de Dados - em ualg. Disponível em: < http://w3.ualg.pt/~jvo/ep/dd.pdf > Acesso em: 12 jun. 2015. PEREIRA, Patrícia. A encruzilhada do transporte - em revistaescolapublica. Disponível em: < http://revistaescolapublica.uol.com.br/textos/33/a-encruzilhada-dotransporte-290787-1.asp > Acesso em: 08 jun. 2015. POSTGRESQL. About em postgresql. Disponível http://www.postgresql.org/about/ > Acesso em: 12 jun. 2015. em: < PRASS, Fernando Sarturi. Um visão geral sobre as fases do Knowledge Discovery in Databases (KDD) em fp2. Disponível em: <http://fp2.com.br/blog/index.php/2012/um-visao-geral-sobre-fases-kdd/> Acesso em: 05 dez. 2014. RIBEIRO, Viviane. O que é ETL? - em wordpress. Disponível em: < https://vivianeribeiro1.wordpress.com/2011/06/28/o-que-e-etl-2/> Acesso em: 15 maio 2015. SCOSS, Anne M.. A Clusterização e Classificação no Processo De Data Mining para Análise do Desempenho Docente no Ensino de Graduação. 2006. 86 f. Trabalho de Conclusão de Curso (Especialização) - Universidade do Extremo Sul Catarinense - UNESC, Criciúma, 2006. SILVA, Marcelino Pereira dos Santos. Mineração de Dados - Conceitos, Aplicações e Experimentos com Weka em ufmg. Disponível em: < http://www.lbd.dcc.ufmg.br/colecoes/erirjes/2004/004.pdf> Acesso em: 17 jun. 2015. SHIBA, Sonia Kaoru. Modelagem de processo de extração de conhecimento em banco de dados para sistemas de suporte à decisão. 2008. Dissertação (Mestrado) – Escola Politécnica da Universidade de São Paulo. 2008 TECNOLOGIA, Ambiente Livre. Instalando o Pentaho Data Integration - PDI (Kettle) no Linux em ambientelivre. Disponível em: < http://www.ambientelivre.com.br/tutoriais-pentaho-bi/instalando-o-pentaho-dataintegration-pdi-kettle-no-linux.html> Acesso em: 14 maio 2015. ZAMBENEDETTI, Christian. Extração de informação sobre bases de dados textuais. 2002. 142 f. Dissertação (Mestrado em Ciência da Computação) Universidade Federal do Rio Grande do Sul, UFRGS, Porto Alegre, 2002.