scieee AI-readable full text Open interactive document viewer

Data Mining Teams: Plataforma Colaborativa para Projetos de Data Mining

Ana Sara Videira Morais

Full text

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Data Mining Teams: Plataforma Colaborativa para Projetos de Data Mining Ana Sara Videira Morais Mestrado Integrado em Engenharia Informática e Computação Orientador: Professor Doutor Carlos Soares Co-orientador: Professor Doutor Rui Rodrigues 11 de julho de 2014 © Ana Sara Videira Morais, 2014 Data Mining Teams: Plataforma Colaborativa para Projetos de Data Mining Ana Sara Videira Morais Mestrado Integrado em Engenharia Informática e Computação Aprovado em provas públicas pelo Júri: Presidente: Prof. Henrique Daniel de Avelar Lopes Cardoso Arguente: Prof. Célia Talma Martins de Pinho Valente Oliveira Gonçalves Vogal: Prof. Carlos Manuel Milheiro de Oliveira Pinto Soares 11 de julho de 2014 Resumo Este projeto centra-se na problemática do trabalho em equipa na área de Data Mining. Em particular, esta dissertação tem como principal preocupação a utilização de ferramentas diferentes de análise de dados, por diferentes elementos da equipa e na dificuldade da gestão da informação gerada nessas análises, por causa das diferenças nos formatos respetivos. Assim, no sentido de contribuir para a resolução deste problema foi proposto especificar, desenvolver e implementar o protótipo, de uma plataforma colaborativa que auxilie a partilha de dados em projetos de Data Mining. Acerca do desenvolvimento da solução, a plataforma Data Mining Teams (DMT), salientamse a metodologia de desenvolvimento assente nas etapas: Conceção (levantamento de requisitos e arquitetura), Desenvolvimento (desenho da interface e implementação) e os Testes (testes e deployment). O levantamento de requisitos teve como suporte a realização de entrevistas a especialistas em DM e questionários a pessoas que trabalham na área do DM. Relativamente à arquitetura especificam-se os aspetos associados à arquitetura física, arquitetura lógica e arquitetura tecnológica, bem como estilos e padrões de arquitetura. Foi possível obter feedback do protótipo funcional da plataforma com uma pequena experiência de resolução de um problema de uma competição de Data Mining, realizado por duas equipas, uma fazendo uso da DMT e outra utilizando apenas as ferramentas tradicionais. As experiências realizadas, embora limitadas, mostram que o projeto aborda um problema importante e que a abordagem seguida é adequada, levando a que o trabalho em equipa, em projetos de Data Mining, seja mais fluído. Permitiram também identificar alguns problemas e limitações do protótipo desenvolvido bem como novas funcionalidades que será desejável implementar. i ii Abstract This project focuses on the issue of teamwork in the Data Mining (DM) area. In particular, this dissertation’s main concern is the use of different tools for data analysis, for different members of the team and the difficulty of managing information generated in these analyzes, because of differences in their respective formats. Thus, in order to contribute to solving this problem, it has been proposed to develop and implement a prototype of a collaborative platform that helps data sharing in data mining projects. About the development of the Data Mining Teams (DMT) platform as a solution to this problem, we emphasize the methodology of development based on stages: Conception (requirements gathering and architecture), development (interface design and implementation ) and tests (testing and deployment). The requirements gathering was supported by interviews with experts in DM and questionnaires to people working in the DM area. Regarding the architecture, we specifed the aspects associated with physical architecture, logical architecture and technology architecture as well as architectural styles and patterns. It was possible to obtain feedback from the working prototype platform with a small-scale experiment of solving a problem in a data mining competition held by two teams, one making use of DMT and another using only the traditional tools. The experiments, although limited, show that the project addresses a major problem and that the approach is appropriate, leading to team work in data mining projects being more fluid. It also allowed to identify some problems and limitations of the developed prototype and new features that will be desirable to implement. iii iv Agradecimentos Após esta longa e trabalhosa jornada não posso deixar de agradecer aqueles que estiveram presentes e tanto me apoiaram: Aos meus orientadores Professor Carlos Soares e Professor Rui Rodrigues pela disponibilidade, pelo acompanhamento e pelas críticas e sugestão, em particular ao Professor Carlos pela paixão que sempre demonstrou pelo projeto que me levou a acreditar que era realmente possível de realizar, e ao Professor Rui pelos conselhos práticos que me ajudaram a traçar uma solução; Aos membros da DIG, em particular, ao Pedro Abreu, à Catarina Félix e ao Fábio Pinto pela disponibilidade e colaboração nos testes à plataforma; Ao Carlos Carvalheira pelo seu tempo e pela ajuda que me deu; Ao Luís Fonseca e ao Ricardo Amorim pelo companheirismo, as brincadeiras, a amizade, a ajuda e a força durante estes últimos meses; À Maria pela sua amizade, ajuda e força incondicional; À minha irmã pela paciência de aturar a minha falta de paciência, pelo carinho e amizade; Aos meus pais por acreditarem em mim, pela dedicação, os conselhos sábios e o carinho que sempre me deram; Por fim, a todos os meus amigos, que durante estes últimos anos me fizeram crescer, estiveram presentes nos bons e nos menos bons momentos e nunca me deixaram desistir. Um muito obrigada a todos. Sara Morais v LISTA DE FIGURAS xii Lista de Tabelas 2.1 Principais Características das Ferramentas R, Weka, RapidMiner e Knime [Sah] . 13 2.2 Tabela de comparação entre algumas ferramentas colaborativas de desenvolvimentodeprojetos.................................. 13 3.1 Resultados 1º grupo do questionário: Trabalho na área de DM . . . . . . . . . . 19 3.2 Resultados do 2º grupo do questionário: Ferramentas de DM mais conhecidas e utilizadas ...................................... 20 3.3 Resultados do 2º grupo do questionário: Formatos mais usados . . . . . . . . . . 20 3.4 Resultados do 3º grupo do questionário: Funcionalidades com maior utilidade . . 20 3.5 RequisitosdaInterface ............................... 21 3.6 Requisitos das Funcionalidades da DMT . . . . . . . . . . . . . . . . . . . . . . 22 4.1 Principais decisões de desenho da interface . . . . . . . . . . . . . . . . . . . . 38 xiii LISTA DE TABELAS xiv Abreviaturas e Símbolos CRAN Comprehensive R Archive Network CRISP-DM Cross-Industry Standard Process for Data Mining CRUD Create, Read, Update, Delete DM Data Mining DMT Data Mining Teams FEUP Faculdade de Engenharia da Universidade do Porto GNU GNU’s Not Unix HTML HyperText Markup Language IDE Integrated Development Environment INESC TEC Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência ISO International Standards Organization KDD Knowledge Discovery in Database LIACC Laboratório de Inteligência Artificial e Ciência dos Computadores MVC Model-View-Controller RUP Rational Unified Process SEMMA Sample, Explore, Modify, Model, Assess SQL Structured Query Language UML Unified Modeling Language URL Uniform Resource Locator XML eXtensible Markup Language xv Capítulo 1 Introdução Nos dias de hoje, as instituições confrontam-se, diariamente, com uma grande quantidade de dados, provenientes de várias fontes, dos quais têm necessidade de extrair informação e conhecimento úteis. A informação e o conhecimento extraídos são necessários para apoiar a tomada de decisões. A análise de dados e extração de informação para construção de conhecimento são tarefas realizadas, na maioria das vezes, por equipas de Data Mining, muitas vezes multidisciplinares. Estas tarefas exigem a colaboração de vários intervenientes, nomeadamente na troca de dados, dos modelos a adotar e dos resultados de avaliação. No entanto, as ferramentas de DM existentes ainda necessitam de ser melhoradas para facilitar essa colaboração. Há diversas ferramentas que podem ser usadas para fazer a análise de dados, cada uma com vantagens relativamente a alguns aspetos e desvantagens relativamente a outros. Dentro de cada equipa de trabalho são, frequentemente, usadas várias ferramentas diferentes que geram resultados em diferentes formatos. Os dados e modelos em formatos diferentes dificultam a colaboração e condicionam a eficiência do processo de partilha entre os membros das equipas. Este problema leva a que uma parte significativa do tempo seja gasta no processo de conversão entre dados/modelos de diferentes ferramentas. Assim, este projeto tem como principal objetivo investigar, especificar e desenvolver uma plataforma que agregue a informação gerada por vários utilizadores, após a análise de dados no processo de DM, com uma interface única, interativa e de fácil utilização. Segue-se o desenvolvimento dos tópicos mais relevantes para a implementação do projeto e da dissertação, nomeadamente, o problema e enquadramento, objetivos e estrutura da dissertação. 1.1 Problema e Enquadramento do Projeto Tem havido um crescimento notório de competições associadas à resolução de problemas reais, nas áreas de Analytics, Data Science e Data Mining (DM). Este projeto surgiu de uma dificuldade real, sentida por uma equipa constituída por profissionais de DM da FEUP1, INESC TEC2, 1http://www.fe.up.pt 2http://www.liacc.up.pt/ 1 Introdução LIACC3e Labs Sapo4, durante a participação numa dessas competições. Dentro desta equipa existem sub-grupos de trabalho que utilizam diferentes ferramentas para a análise de dados. Após a análise dos dados, os resultados obtidos são apresentados ao resto da equipa recorrendo a reuniões presenciais, o que torna o processo muito mais moroso. A solução deste tipo de problemas exige um trabalho recursivo de manipulação dos dados, sendo que a cada iteração da análise feita esses resultados são discutidos e apresentados aos restantes membros da equipa. Todo este processo pode levar a atrasos e dificuldades na partilha dos dados. Em conversa com peritos da área de DM e posteriormente confirmado pelas entrevistas realizadas para o levantamento de requisitos foi possível observar que é um problema recorrente em projetos de DM, não sendo um problema específico da participação em competições. Tendo em vista a contribuição para a resolução deste problema, foi proposto o desenvolvimento deste projeto, Data Mining Teams (DMT): Plataforma Colaborativa para Projetos de Data Mining. 1.2 Objetivos do Projeto Os principais objetivos deste projeto são desenhar e construir uma plataforma, com um ambiente gráfico interativo e colaborativo, através da qual seja possível: • Importar dados e resultados, independentemente da ferramenta em que foram gerados; • Exportar dados e resultados que fiquem imediatamente disponíveis para ferramentas, independente dos formatos que utilizem; • Documentar transformações e análises de dados ou conjuntos de dados. Para atingir os objetivos referidos, propõe-se que a plataforma faça a integração das diferentes ferramentas de DM. A plataforma deve facilitar a utilização e reutilização de dados e resultados por diferentes elementos das equipas de utilizadores e em diferentes contextos. Pretende-se ainda, após a concretização dos objetivos referidos, proceder à avaliação da plataforma numa equipa de projetos de DM. O objetivo é testar a usabilidade da sua interface gráfica e o quão intuitiva é a manipulação dos dados para utilizadores. 1.3 Estrutura da Dissertação A dissertação está organizada em seis capítulos, designados por: Introdução, Estado da Arte, Especificação e Arquitetura da Plataforma DMT, Interface e Implementação da Plataforma DMT, Testes e Resultados e Conclusões e Trabalho Futuro. Termina com as Referências Bibliográficas e Anexos. O capítulo 2, Estado da Arte, é dedicado à revisão bibliográfica e está dividido em duas secções principais: Data Mining (DM) e Interação Pessoa-Computador. A secção Data Mining começa 3http://labs.sapo.pt/ 4http://www2.inescporto.pt/ 2 Introdução com uma introdução aos conceitos básicos de Data Mining e salientam-se as principais metodologias desta área, prosseguindo com a exposição das características de algumas ferramentas de Data Mining. Ainda nesta secção, é apresentado um levantamento das ferramentas mais atuais de desenvolvimento colaborativo de projetos, e apresentadas algumas das suas características e potencialidades, terminando com a análise dos domínios de aplicação das mesmas e dos benefícios do uso destas plataformas. A última parte deste capítulo, Interação Pessoa-Computador, inicia-se com a definição de alguns conceitos, apresenta-se a importância desta interação, continuando com a descrição da metodologia e da apresentação das características a ter em conta relativamente aos perfis de utilizadores finais de uma plataforma. No capítulo 3, Especificação e Arquitetura da Plataforma DMT, apresentam-se as fases de levantamento e especificação de requisitos, bem como a arquitetura da DMT. No levantamento de requisitos sobressaem os procedimentos efetuados, salientando-se a recolha de dados por inquérito a especialistas e a pessoas familiarizadas com trabalhos na área de DM. Na secção dedicada à arquitetura da plataforma são especificados os padrões de arquitetura presentes na DMT, apresentado o desenho da arquitetura e são detalhadas as arquiteturas física, lógica e tecnológica. No capítulo 4, Interface e Implementação da Plataforma DMT, são apresentados os mockups e descritas as principais decisões tomadas relativamente ao desenho da interface da plataforma. Ainda neste capítulo, é discriminado o ambiente de desenvolvimento e apresentado o protótipo funcional, ou seja, a implementação da plataforma, evidenciando os aspetos concretizados com sucesso, bem como aqueles que necessitam de ser repensados e melhorados. No capítulo 5, Testes e Resultados, apresenta-se a metodologia usada para testar o protótipo funcional desenvolvido da plataforma, assim como os resultados dessa avaliação. Por fim, no capítulo 6, Conclusões e Trabalho Futuro, é feita uma síntese da concretização dos objetivos do projeto, são expostas as mais valias do trabalho e apresentam-se as possíveis melhorias a efetuar no trabalho realizado. 3 Introdução 4 Capítulo 2 Estado da Arte Neste capítulo é apresentada a bibliografia analisada sobre os principais temas envolvidos no desenvolvimento deste projeto. Está dividido em duas secções, correspondentes às áreas estudadas: Data Mining (DM) e Plataformas de Desenvolvimento Colaborativas de Projetos, e Interação Pessoa-Computador. Sendo este projeto o estudo e desenvolvimento de uma plataforma para projetos de DM é importante o domínio do conceito e das etapas do processo de DM (metologias de DM) que justificam esta necessidade. Com a pretensão de que seja uma plataforma colaborativa, foram estudadas e é apresentada uma pequena síntese com algumas das plataformas colaborativas existentes no mercado, tendo em conta as limitações na integração de ferramentas de DM, justificando assim a impossibilidade de individualmente solucionarem o problema proposto neste projeto. Por fim, a exigência de que tenha uma interface gráfica com elevada usabilidade, cria a necessidade de aprofundar o conhecimento na área de interação pessoa-computador. 2.1 Data Mining Data Mining é a área da Ciência da Computação que, descrita de uma forma genérica e simplificada, conduz à tomada de decisões tendo por base a análise de dados históricos. O conceito de DM é complexo envolvendo muitas e diversificadas dimensões, dependendo da área de atuação. Nesta secção são mostradas várias definições e perspetivas sobre DM, com base nos estudos de vários autores. É apresentada com mais detalhe a metodologia CRISP-DM e ainda ferramentas utilizadas para análise dos dados nesta área. Witten [WF05], Frank [WF05], Olson [OD08], Deten [OD08] e Bramer [Bra07] evidenciam algumas das áreas nas quais a DM é aplicada e apresenta resultados satisfatórios: • Retenção de clientes e Telemarketing: identificação de perfis de clientes, que permite a formação de segmentos, para apoiar na decisão de campanhas publicitárias sobre quais os produtos mais adequados a cada segmento; 5 Estado da Arte Figura 2.5: Exemplo da ferramenta RapidMiner (recuperado de http://www.brothersoft.com/ rapidminer-165969.html) Figura 2.6: Exemplo da ferramenta KNIME (recuperado de http://www.knime.org/node/919) 2.1.4 Ferramentas de Desenvolvimento Colaborativo de Projetos As ferramentas colaborativas de desenvolvimento de projetos são um tipo específico de ferramentas, para ajudar em projetos de Engenharia de Software, que abrangem áreas como: Bug Tracking, Desenvolvimento, Design, Gestão e Engenharia de Requisitos. Assim, há no mercado um vasto leque de ferramentas open-source que auxiliam a gestão dos projetos, nas suas diferentes componentes: tarefas, distribuição de trabalho, gestão de colaboradores, gestão do desenvolvimento (código, qualidade de código, arquitetura) e ainda gestão de testes. 12 Estado da Arte Ferramenta Linguagem de Programação Interface Gráfica Linha de Comandos Principal Propósito RJava, C, C++, Perl, R, Fortran Ambos Sistemas de apoio à decisão e Estatística Weka Java Ambos Data Mining RapidMiner Java Interface Gráfica Data Mining Knime Java Interface Gráfica Data Mining Tabela 2.1: Principais Características das Ferramentas R, Weka, RapidMiner e Knime [Sah] Teixeira [Tei09] apresenta no seu estudo a comparação entre várias ferramentas de colaboração, de acordo com três critérios: nível de colaboração, no que diz respeito a saber o ponto de situação do projeto, comunicação entre os intervenientes e passagem de conhecimento; integração, relativamente à possibilidade de integração de outras ferramentas e plugins; e outras características, nomeadamente recursos utilizados. Teixeira [Tei09] concluiu que a maioria das ferramentas de colaboração são ferramentas web, enquanto que muitas das ferramentas usadas, por exemplo, para desenho de diagramas UML são ferramentas de desktop sem funcionalidades de colaboração. Este indica como características com potencial para apoiar atividades colaborativas: os comentários, gestão de contactos, partilha de ficheiros, partilha de diretórios, online whiteboard,chat, sistema de recomendações, partilha de ecrã, timeline das atividades da equipa, lista de tarefas, sistema de votação para classificação das melhores e piores funcionalidades da ferramenta e controlo de versões. É possível ver na tabela 2.2 uma comparação de algumas das ferramentas colaborativas mais usadas no mercado, considerando os critérios estabelecidos por Teixeira [Tei09], que se mostram mais relevantes para este projeto. Comentários Partilha de Ficheiros Timeline de Atividades Lista de Tarefas Chat Controlo de Versões Jira 3 7 7 7 7 3 Eclipse 7 3 3 7 3 3 NetBeans 3 7 7 7 3 3 Microsoft Project 3 7 3 7 7 7 Trac Project 3 3 3 3 7 3 Redmine 3 3 3 3 7 3 Tabela 2.2: Tabela de comparação entre algumas ferramentas colaborativas de desenvolvimento de projetos Depois da análise feita, pode concluir-se que estas ferramentas não permitem solucionar o problema inerente a este projeto, uma vez que não se adequam às necessidades do processo de DM, visto que não permitem a análise de dados. 13 Estado da Arte 2.2 Interação Pessoa-Computador A Interação Pessoa-Computador é uma disciplina complexa que relaciona diversas áreas como a ciência da computação, artes, design, psicologia, ergonomia entre outras. Esta secção destina-se à apresentação da análise de conceitos, definições, objetivos e algumas metodologias na área da Interação Pessoa-Computador. 2.2.1 Conceitos, Definições e Objetivos Quando se pensa no desenvolvimento de uma nova plataforma, especificamente no desenho das suas interfaces e interação com o utilizador, é essencial ter presente alguns conceitos fundamentais, nomeadamente: Design de Interação, Design Centrado no Utilizador e Usabilidade. ODesign de interação tem sido um tema alvo de estudo por vários autores como Preece [RSP02], Cooper, Reimann e Cronin [CRC07] e é entendido como o design que promove o equilíbrio entre funcionalidades e a simplicidade e facilidade de utilização de uma interface. Deste modo, tem como objetivo, facilitar a interação do utilizador, tendo em conta o contexto para o qual a plataforma está a ser desenvolvida. De encontro ao conceito anterior também é possível encontrar na literatura o conceito de Design Centrado no Utilizador. Com definições muito semelhantes, Norman [Nor04], Alan Dix et al. [DFAB97] e Shneiderman [Shn97] referem que este tipo de design tem como foco principal o utilizador do sistema, sendo por isso a criação do mesmo um processo que requer acompanhamento de perto por parte do utilizador, para que facilmente seja ouvido o seu feedback. Esta vertente de design deve conduzir ao desenvolvimento de sistemas de fácil utilização, mais intuitivos, com melhor desempenho e menos falhas. É um tipo de design que visa a diminuição do tempo e do custo de desenvolvimento do sistema, bem como da sua manutenção. Portela [Por12] reforça seis princípios, descritos pela norma ISO 9241-210, que caraterizam o desenvolvimento de design centrado no utilizador: • O design de sistemas interativos é baseado num entendimento dos utilizadores, tarefas e ambientes; • Os utilizadores estão envolvidos em todo o processo de desenvolvimento do design; •Odesign é dirigido e refinado considerando a avaliação dos utilizadores; • O processo de desenvolvimento é iterativo; • O design especifica toda a experiência do utilizador; • A equipa de desenvolvimento deve ser multidisciplinar. Machado [Mac13] apresenta o conceito de usabilidade, na visão de vários autores, como Nielsen [Nie12], Ribeiro [Rib13], Shneiderman [Shn97] entre outros, descritas de seguida. Segundo Nielsen [Nie12], usabilidade é um atributo de qualidade que se usa para avaliar a facilidade que 14 Estado da Arte um utilizador tem na utilização de uma interface, servindo, também, como método para melhorar a facilidade de utilização durante o processo de desenvolvimento do design. Por sua vez, Ribeiro [Rib13] define usabilidade como uma forma de medir a capacidade de eficiência com que um sistema satisfaz as necessidades do utilizador, o objetivo para que foi criada e a eficiência de interação para o utilizador. 2.2.2 Metodologias Para o desenvolvimento de uma plataforma que garanta qualidade relativamente à sua usabilidade e ao seu design de interação, foram alvo de estudo algumas metodologias. São apresentadas aquelas que se julga serem as mais adequadas para auxiliarem o desenvolvimento da plataforma que se pretende criar neste projeto. Caddick e Cable [CC11] definem o conceito de persona como: “A persona is a document that describes the ways in which certain types of people will use your website. Usually one persona is created for each type of user. ” Tal como a definição refere, o uso de personas leva a que o desenvolvimento do design da interface se centre no utilizador final do produto. Machado [Mac13] afirma também que permite a criação de modelos tendo em conta, tanto as necessidades do utilizador, como a localização, estado de interesse e tarefas que este pretende ver resolvidas. Envolve um processo complexo e de várias fases desde entrevistas ao público-alvo, à definição de variáveis e criação de modelos. Machado [Mac13] acrescenta ainda que a criação de Personas só fica completa quando associada a objetivos, podendo estes, segundo Cooper [CRC07], ser de quatro tipos, consoante a sua origem: pessoais, corporativos práticos ou falsos. De acordo com Cooper [CRC07]: “Personas provide us with a precise way of thinking and communicating about how users behave, how they think, what they wish to accomplish, and why. ” Card-sorting é outra metodologia que complementa a anterior. Segundo Ribeiro [Rib13], possibilita a compreensão da forma como os utilizadores agrupam informação e quais as interpretações que fazem de termos e conceitos. Para tal, como refere Machado [Mac13], é usado um sistema de cartões individuais com um conjunto de terminologias. Existem dois tipos de cardsorting: aberto ou fechado. Por exemplo, quando este método é usado para o desenvolvimento de uma página web é entregue ao utilizador um conjunto de cartões com o nome de componentes que irão constituir a página, como mostra a figura 2.7. No card-sorting aberto o utilizador tem a liberdade e é responsável por agrupar as secções e classifica-las como achar mais conveniente, sendo ele que dá nome aos menus, como é exemplificado na figura 2.8. Quando se trata de card-sorting fechado os participantes da experiência são convidados o conteúdo em grupos pré-definidos, dando-lhes para além dos cartões os nomes dos menus também. 15 Estado da Arte Figura 2.7: Exemplo de Cartões de Card-Sorting [Kni, adaptado de] Figura 2.8: Exemplo de Card-Sorting Aberto [Kni, adaptado de] Prototipagem é mais uma metodologia que visa o desenvolvimento de design centrado no utilizador, ou seja, que tenta que o desenvolvimento da plataforma seja feita com o acompanhamento do utilizador. Ribeiro [Rib13] define protótipo como a representação visual da interface do utilizador, podendo ser ou não interativo numa fase inicial. Salienta ainda que os protótipos não têm que replicar todas as funcionalidades do sistema, mas devem replicar integralmente tudo o que é necessário para um determinado teste. Em suma, o uso deste tipo de metodologias, durante o processo de desenvolvimento de interfaces, é essencial, para que seja possível satisfazer de forma mais eficiente as necessidades dos utilizadores. 16 Capítulo 3 Especificação e Arquitetura da Plataforma DMT Neste capítulo descrevem-se detalhadamente as fases de especificação da plataforma DMT, apresentando e explicando as opções tomadas. Com intuito de tornar a plataforma o mais funcional possível para que responda da melhor forma às necessidades do utilizador final, procurou-se de forma proativa, frequente e sistemática obter feedback de profissionais e outros possíveis utilizadores durante todas as fases de desenvolvimento da plataforma. O projeto seguiu os parâmetros tradicionais de desenvolvimento de um projeto de engenharia de software, tendo sido orientado a partir das fases de: conceção, desenvolvimento e testes com o utilizador final, como é possível observar no esquema da Figura 3.1. A fase de conceção dividiu-se em duas partes: levantamento de requisitos e desenho da arquitetura. O levantamento de requisitos foi feito com o auxílio de profissionais da área de data mining (DM) e está descrito na secção 3.1. Depois este levantamento são especificados os requisito na 3.2. O desenho da arquitetura, especificado no Capítulo 3.3, foi elaborado após o especificação dos requisitos. A fase de desenvolvimento dividiu-se em duas partes, descritas no Capítulo 4criação dos mockups e a implementação do protótipo funcional. Por último, a fase de testes decorreu na parte final do projeto, após a sua implementação. Figura 3.1: Metodologia de Desenvolvimento da Plataforma DMT 17 Especificação e Arquitetura da Plataforma DMT 3.1 Levantamento de Requisitos Para o levantamento de requisitos recorreu-se a informação provenientes de especialistas e profissionais da área da DM. Segue-se a descrição da metodologia associada à recolha de dados e análise dos mesmos. 3.1.1 Metodologia de Recolha de Dados O levantamento de requisitos que permitiram a construção e adequação da plataforma DMT aos objetivos do projeto foi feito a partir da recolha de dados efetuada por inquérito. Este assumiu duas formas distintas: entrevista e questionário. 3.1.1.1 Entrevistas Para a realização das entrevistas foi construido um guião (Anexo A.1), tendo em conta os objetivos pretendidos. Após a construção do guião foram selecionadas quatro pessoas, atendendo à sua experiência na área de DM. A entrevista foi gravada e posteriormente transcrita (Anexo A.2). Da análise e do tratamento dos dados das entrevistas foi possível construir três Personas. Segue-se a caracterização de cada uma delas. Persona 1 (Persona Primária) João Silva, de 42 anos, é Doutorado em Ciencia de Computadores, atualmente é professor associado numa faculdade de Engenharia e investigador. João trabalha frequentemente em projetos, em equipa, de data mining e usa as ferramentas R, RapidMiner. Sente como principais dificuldades no seu trabalho a troca de dados, pela inexistência de um repositório comum, que as metodologias de DM são muitas vezes desadequadas para os projetos e a dificuldade na partilha de know-how. Persona 2 (Persona Secundária) Maria Miranda, de 36 anos, é Doutorada em em Ciência de Computadores, atualmente é professora auxiliar convidada numa faculdade de Ciências e investigadora na área de data mining. Frequentemente usa as ferramentas R e Knime para analise de dados. Maria indica que a sua maior dificuldade no desenvolvimento de projetos de data mining é fazer análise de dados e implementação de algoritmos sem bases de programação. 3.1.1.2 Questionários Os principais objetivos do questionário (Anexo A.3) foram identificar a perceção dos profissionais de Data Mining sobre as dificuldades sentidas na dinâmica entre os membros das equipas de trabalho no processo de Data Mining, identificar as funcionalidades prioritárias numa plataforma 18 Especificação e Arquitetura da Plataforma DMT Persona 3 (Persona Complementar) Artur Pinto, tem 44 anos, é Doutorado em Ciências da Engenharia e atualmente é professor numa faculdade de Engenharia. Trabalha em projetos muitos distintos nas áreas de Data Mining, Business Intelligence e Big Data usando ferramentas muito distintas em cada uma delas. A maior dificuldade que sente no seu trabalho é a falta de um formato específico para guardar os resultados das ferramentas de data mining. colaborativa para projetos de Data Mining e ainda perceber quais as ferramentas de análise de dados mais usadas. A amostra foi constituída por 18 indivíduos, sendo a idade mínima 22 anos, a idade máxima 44 anos, a média 29 anos e a mediana 28 anos. 83% dos indivíduos são do género masculino e 17% do género feminino. A maioria dos indivíduos da amostra tinha como habilitações académicas mestrado, maioritariamente nas áreas da Engenharia, sendo a maioria de Engenharia Informática. O questionário está dividido em três grupos: trabalho na área de DM, ferramentas de DM e plataforma colaborativa para projetos de DM. Segue-se a análise das respostas das questões em cada um dos grupos. •Trabalho na área de Data Mining Dos 18 indivíduos da amostra a maioria trabalha na área de DM e desses mais de 85% trabalham em equipa. Das dificuldades referidas, pelos que trabalham em equipa destacamse: a partilha de know-how e a partilha de dados, tal como se apresenta na tabela 3.1. Questão Sim Trabalham na área de DM 78% Trabalham em equipa 86% Dificuldade no trabalho em equipa: - Partilha de know-how 50% - Partilha de dados 17% Tabela 3.1: Resultados 1º grupo do questionário: Trabalho na área de DM •Ferramentas de Data Mining Foi analisado o nível de conhecimento dos indivíduos da amostra das seguintes ferramentas: Knime, Python, R, Rapidminer e Weka. Das ferramentas analisadas constatou-se que as ferramentas mais utilizadas são: R e Rapidminer (tabela 3.2). Ainda neste grupo, foram objetos de análise os tipos de formatos com que os indivíduos costumam trabalhar. Atendendo à liberdade de resposta, ou seja à possibilidade de escolher mais do que uma opção, os 18 indivíduos deram origem a 41 respostas, das quais se salientam: dados relacionais e texto (tabela 3.3). •Plataforma Colaborativa para Projetos de Data Mining Da análise da questão 19 Especificação e Arquitetura da Plataforma DMT Ferramenta Conhecimento R 78% RapidMiner 67% Python 50% Weka 50% Knime 11% Tabela 3.2: Resultados do 2º grupo do questionário: Ferramentas de DM mais conhecidas e utilizadas Formatos de dados Utilização Dados Relacionais 41% Texto 34% Outros 25% Tabela 3.3: Resultados do 2º grupo do questionário: Formatos mais usados “Pensando numa Plataforma Colaborativa para Projetos de Data Mining, com interface que corre no browser, qual é a forma mais intuitiva de organização dos dados? ” salienta-se que 44% dos indivíduos considera que a organização deve ser orientada aos dados, ou seja a informação deve ser apresentada agrupando os dados disponíveis. Das funcionalidades avaliadas destacam-se as que foram consideradas com maior utilidade (útil e muito útil) e apresentam-se na tabela 3.4. Funcionalidades % Guardar o nome do responsável e uma descrição textual das operações executadas nos dados; 94 Guardar os processos executados nos dados, para poderem ser usados, futuramente, noutro conjunto de dados; 89 Fazer download/upload dos ficheiros da/para a plataforma; 78 Aceder ao repositório dos dados diretamente das ferramentas de Data Mining; 78 Tabela 3.4: Resultados do 3º grupo do questionário: Funcionalidades com maior utilidade Relativamente ao modo de utilização dos dados da plataforma constatou-se que a maioria (61%) dos indivíduos da amostra considera mais apropriado "fazer uso de uma cópia local dos dados"do que "fazer uso direto dos dados, na plataforma". 3.1.2 Resultados obtidos Em síntese, através do resultados obtidos foi possível comprovar que a troca de dados é realmente uma das dificuldades mais sentidas pelos profissionais de DM que trabalham em equipa; as ferramentas mais usadas para análise de dados são R e RapidMiner e por isso decidiu-se que estas 20 Especificação e Arquitetura da Plataforma DMT seriam as duas ferramentas a ser integradas na plataforma, em primeiro lugar; por fim, tendo por base as respostas obtidas, decidiu-se que a informação seria organizada de forma orientada aos conjuntos de dados, referentes a um projeto. 3.2 Especificação dos Requisitos Nesta secção é apresentada a especificação dos requisitos, fazendo distinção entre requisitos funcionais e requisitos não-funcionais. Os requisitos funcionais englobam o conteúdo e as funcionalidades do sistema e os requisitos não-funcionais estão associados à qualidade do software, nomeadamente, ao seu desempenho, usabilidade, fiabilidade, segurança e disponibilidade. 3.2.1 Requisitos Funcionais Após o tratamento dos dados obtidos por questionário e a conjugação das opiniões obtidas por entrevista, consideram-se como principais requisitos funcionais, para o desenvolvimento da plataforma DMT, subdivididos em dois grupos, a interface do utilizador e as funcionalidades da plataforma. •Interface do utilizador: A interface para o utilizador é uma das componentes deste projeto à qual se deu particular ênfase. A especificação dos seus requisitos é essencial para se conseguir uma interface dinâmica e de fácil utilização para assim atingir os objetivos definidos. O resultado é apresentado na tabela 3.5. Requisitos da Interface IU001 Mostrar ficheiros de dados IU002 Mostrar descendência entre ficheiros IU003 Mostrar descrição dos ficheiros IU004 Mostrar descrição das alterações feitas ao ficheiro original IU005 Permitir ligação de um ficheiro já existente a um novo ficheiro IU006 Upload de ficheiros IU007 Download dos ficheiros em diferentes formatos IU009 Selecionar ficheiro para download IU010 Ver histórico de atividades IU011 Disponibilizar fórum de discussão Tabela 3.5: Requisitos da Interface •Funcionalidades da plataforma DMT: Os requisitos das funcionalidades da plataforma DMT são apresentados na tabela 3.6. 21 Especificação e Arquitetura da Plataforma DMT 3.3.5 Arquitetura Tecnológica Na Figura 3.5 são apresentadas as tecnologias usadas no desenvolvimento da plataforma DMT. A plataforma DMT foi desenvolvida fazendo uso da framework Django. Como comprovado pelo estudo feito por Askins e Green [AG07] Django e Rails foram desenvolvidas para fins muito semelhantes tendo por isso uma arquitetura idêntica e não sendo claras as vantagens técnicas da utilização de uma relativamente à outra. Desta forma, a escolha passa pelo nível de conhecimento da linguagem de implementação que o programador tem, ou seja, a escolha deve ser feita tendo em conta se quem vai desenvolver se sente mais à vontade com a linguagem Python, usando assim Django ou se tem mais conhecimentos em Ruby e aí opta por Rails. É importante, também, ter em conta possíveis limitações de integração com outras componentes do sistema já existentes, o que não se aplica neste caso, uma vez que a plataforma foi implementada de raiz. Como mencionado anteriormente, Django é compatível com várias bases de dados relacionais, nomeadamente MySQL,SQLite3,PostgreSQL eOracle. Neste projeto optou-se por usar PostgreSQL pela sua escalabilidade, robustez e por não ter custos de licenciamento. No desenvolvimento da camada de interface para o utilizador foram usadas as tecnologias HTML e CSS. A camada de lógica do negócio foi implementada em Python, dada a maior facilidade de integração no Django, também desenvolvido em Python. Figura 3.5: Arquitetura Tecnológica da plataforma DMT 28 Especificação e Arquitetura da Plataforma DMT 3.3.6 Síntese Neste capítulo foram apresentadas as fases de levantamento e especificação de requisitos, bem como a arquitetura da DMT. O levantamento de requisitos teve como suporte a realização de entrevistas a especialistas em DM e questionários a pessoas que trabalham na área do DM. Este levantamento de requisitos comprovou as dificuldades sentidas pelos profissionais de DM relativamente à troca de dados. Este estudo ajudou, também, na escolha das ferramentas de análise de dados a integrar na plataforma: as ferramentas R e RapidMiner. Quanto à arquitetura foram especificados os aspetos associados à arquitetura física, arquitetura lógica e arquitetura tecnológica, bem como estilos e padrões de arquitetura. Definindo-se como principal padrão de arquitetura o padrão MVC, uma especificação do padrão de arquitetura separação lógica de processos em camadas. Foi também identificada a framework Django que serve de base para a plataforma, sobre a qual assentou o protótipo funcional desenvolvido, descrito no capítulo seguinte. 29 Especificação e Arquitetura da Plataforma DMT 30 Capítulo 4 Interface e Implementação da Plataforma DMT Neste capítulo é mostrada a forma como a plataforma DMT, e em particular a sua interface, foram inicialmente projetada através de mockups, apresentando-se de seguida o ambiente de desenvolvimento do projeto e finalmente são especificadas as funcionalidades que foram efetivamente implementadas, explicando o protótipo funcional desenvolvido. 4.1 Desenho da Interface O processo de desenho da interface iniciou-se com a construção de alguns esboços (mockups) que ilustram a interface para o utilizador da plataforma DMT, tendo em consideração todo o estudo feito anteriormente. Os mockups da plataforma foram criados recorrendo à ferramenta Balsamiq Mockups para Google Drive1. Com base no levantamento de requisitos, referido no capítulo 3, decidiu-se que a organização da informação na plataforma DMT seria feita por projetos, os quais teriam uma organização orientada aos dados. Para facilitar o manuseamento dos dados de cada projeto optou-se por usar grafos, estrutura que permite facilmente identificar relações entre os mesmos. A Figura 4.1 é o esboço desenhado para a página de um projeto na plataforma DMT. Cada ficheiro de dados corresponde a um nó (Figura 4.1 A) e as arestas guardam uma descrição textual (Figura 4.1 B) sobre as transformações feitas ao "ficheiro-pai", isto é, alterações feitas ao ficheiro de dados que lhe deu origem. As ligações devem ser setas unidirecionais para que o utilizador perceba facilmente quais os ficheiros que são resultado da alteração de outros ficheiros. Foi desenhado um botão (Figura 4.1 C) para fazer o upload dos ficheiros de dados na plataforma. Depois de escolhido o ficheiro e de adicionado ao projeto é pedido ao utilizador que insira a descrição do mesmo, como mostra a Figura 4.2. Aquando de um click no ficheiro pretendido é mostrado um menu com as opções de download, como é possível ver na Figura 4.3, bem como as opções de: edição da descrição e eliminação do 1https://balsamiqgdrive.appspot.com 31 Interface e Implementação da Plataforma DMT Figura 4.1: Página de um Projeto na plataforma DMT: A) Ficheiro; B) Descrição da Ligação; C) Botão de Upload; D) Fórum de discussão; E) Registo de Atividade do Projeto; F) Motor de Pesquisa; G) Logótipo das Ferramentas de DM H) Elementos da Equipa; ficheiro. As opções de download permitem ao utilizador escolher qual das ferramentas de análise de dados deseja usar. O acesso aos projetos na DMT é feito depois do utilizador se registar e autenticar na plataforma DMT. Quando o utilizador se autentica tem acesso a todos os projetos em que está envolvido e é-lhe dada a possibilidade de criação de um novo projeto como apresenta a Figura 4.4. Como se trata de uma plataforma colaborativa, para promover uma melhor comunicação entre os membros das equipas, idealizou-se que a DMT seria provida de um fórum de discussão, representado Figura 4.1 D e ainda apresentada a informação referente à atividade dos vários utilizadores no projeto, como se pode ver na Figura 4.1 E. Cada utilizador teria a possibilidade de ver os membros da equipa (Figura 4.1 H) e fazer pesquisas pelo nome do ficheiro (Figura 4.1 F). Projetou-se que as ferramentas de análise de dados estariam no fundo da página, representadas pelo respetivo logótipo, assim o utilizador apenas tinha que arrastar o ficheiro para aquele que desejasse usar e na qual pretendia editar os seus ficheiros. 4.2 Ambiente de Desenvolvimento Ao longo do projeto foram usadas as seguintes ferramentas de auxílio ao desenvolvimento: 32 Interface e Implementação da Plataforma DMT Figura 4.2: Janela de Descrição da Ligação Figura 4.3: Menu de Download de Ficheiros 33 Interface e Implementação da Plataforma DMT Figura 4.4: Página dos Projetos do Utilizador •Servidor Virtual instalado e configurado sob o domínio da FEUP no sistema operativo Linux 3.2.5.7 (Debian); •Google Drive usado para armazenamento de toda a documentação gerada. •Aptana Studio 3 foi o IDE usado para a criação do código para a plataforma DMT, com uma ligação à maquina virtual; •Github para controlo de versões do código da plataforma. 4.3 Protótipo Funcional Pode considerar-se que a implementação da plataforma é o culminar do projeto, no sentido de o tornar visível e com sentido prático as várias etapas que constituem este trabalho. Para a criação do protótipo funcional, e dadas as limitações temporais, foi identificado um subconjunto de funcionalidades consideradas prioritárias a incluir no mesmo. Com foco no objetivo objetivo do projeto associado ao manuseamento e utilização de grandes quantidades de informação provenientes de diversas fontes e em diversos formatos, foram implementadas as seguintes funcionalidades: •Upload de ficheiros e inserção da respetiva descrição; •Download de ficheiros em formatos compatíveis com a ferramenta R; 34 Interface e Implementação da Plataforma DMT •Download de ficheiros em formatos compatíveis com a ferramenta Rapidminer; • Criação de ligação com descrição entre os ficheiros inseridos na DMT. Das ferramentas de DM, estudadas anteriormente, o Re o Rapidminer foram as adotadas para integração nesta fase do projeto. Esta escolha foi fundamentada, pelas respostas obtidas pelo estudo feito durante o levantamento de requisitos (detalhado no capítulo 3) e impulsionada pelo facto de se querer integrar, nesta fase, uma ferramenta de análise de dados com interface gráfica para o utilizador e outra cuja utilização é feita por linha de comandos. De seguida as secções 4.3.1,4.3.2 e4.3.3 permitem compreender melhor como foi implementado cada um dos módulos da plataforma DMT. 4.3.1 Modelos Para a criação da base de dados, apresentada na secção 3.3.2, foi criado um Modelo, escrito em Python, para cada uma das tabelas. Na listagem 4.1 é um exemplo desses modelos, especificamente o modelo correspondente à tabela Document que guarda a informação dos ficheiros que são inseridos na DMT. 1class Document(models.Model): 2nodeId = models.IntegerField() 3name = models.CharField(max_length=50) 4description = models.CharField(max_length=400) 5docfile = models.FileField(upload_to=’documents/%Y/%m/%d’) 6userD = models.ManyToManyField(User) 7 8def __unicode__(self): 9return self.name Listing 4.1: Extrato de código Python: Definição do modelo Documents No total foram definidos oito modelos: um modelo por cada tabela da base de dados definida para a plataforma, apresentada na secção 3.3.2 e um modelo adicional, o modelo "LastGraphJson", apresentado na listagem 4.2. Este modelo é responsável por guardar na base de dados a estrutura atual do grafo e facilitar a sua sincronização entre o servidor e o browser. 1class LastGraphJson(models.Model): 2version_id = models.AutoField(primary_key=True) 3last_graph_json = models.TextField() Listing 4.2: Extrato de código Python: Definição do modelo LastGraphJson 35 Interface e Implementação da Plataforma DMT 4.3.2 Views As views onde é definida a lógica da plataforma, também foram desenvolvidas em Python, como é possível ver na listagem 4.3, onde é definida a view que permite fazer o download de ficheiros com a extensão .RData. 1def downloadR(request, docPath=’’): 2 3import os, tempfile, zipfile 4from django.core.servers.basehttp import FileWrapper 5from django.conf import settings 6import mimetypes 7 8docPathWithoutCsv = os.path.splitext(docPath)[0] 9 10 subprocess.call([’Rscript’, "web_dmt/DMT-R convert csv to RData.R", docPathWithoutCsv]) 11 12 filename = docPathWithoutCsv + ".RData" 13 download_name = filename 14 wrapper = FileWrapper(open(filename)) 15 content_type = "application/x-www-form-urlencoded" 16 response = HttpResponse(wrapper,content_type=content_type) 17 response[’Content-Length’] = os.path.getsize(filename) 18 response[’Content-Disposition’] = "attachment; filename=%s"%download_name 19 return response Listing 4.3: Extrato de código Python: Definição da view para o downoad de ficheiros no formato RData Foram implementadas as views:List, Graph, Link, DocumentList, downloadCSV, downloadR, downloadRapidMiner, savelastchange eloadlastchange. •List:view responsável por instanciar o formulário para o upload de um novo ficheiro e por guardar esse ficheiro na base de dados; •Graph:view responsável por carregar a página inicial da plataforma DMT; •Link:view que tem como finalidade criar o formulário para inserir a descrição da relação entre dois ficheiros e para a guardar na base de dados; •DocumentList:view auxiliar que lista todos os ficheiros que existem na base de dados para, posteriormente, ser possível fazer o seu download •downloadCSV:view responsável pela funcionalidade de download de um ficheiro sem qualquer tipo de alteração ao seu formato; 36 Interface e Implementação da Plataforma DMT •downloadR:view que tem como objetivo fazer a conversão de ficheiros .csv para ficheiros com o formato .RData e o seu download; •downloadRapidMiner:view responsável pela preparação dos ficheiros para que possam ser usados fazendo uso da ferramenta RapidMiner; •savelastchange:view que atualiza a tabela que guarda os grafos na base de dados; •loadlastchange:view que permite que o grafo gerado até ao momento, num determinado projeto, seja carregado na DMT. 4.3.3 Implementação da Interface Comparativamente ao desenho inicial da interface foram feitas algumas alterações durante a implementação que são descritas mais à frente. A Figura 4.5 apresenta a plataforma DMT no estado mais atual. Figura 4.5: Exemplo de Utilização da Plataforma DMTs As principais decisões de desenho implementadas estão sintetizadas na tabela 4.1. Como referido anteriormente, optou-se por usar grafos para a organização dos ficheiros de dados na DMT, para tal, foi feita uma pesquisa para encontrar um editor de grafos open-source que melhor respondesse às necessidades da DMT, ou seja, que permitisse a criação de grafos, especificamente a criação e eliminação de nós e arestas. Outro critério tido em conta na procura do editor de grafos era que este estivesse implementado com tecnologia compatível com Django, para que fosse possível a sua integração na DMT. Foram encontradas várias possibilidades, nomeadamente: Znode,GoJS,WireIt,arbor.js. Aquela que apresentava especificações que melhor se adaptavam às 37 Testes e Resultados Considerando como funcionalidades essenciais do protótipo desenvolvido a troca de dados entre os membros da equipa e a conversão dos mesmos, foi sobre estes dois aspetos que incidiu a avaliação, tendo cada grupo um papel distinto na avaliação. O Grupo A desenvolveu a sua solução tendo como suporte a plataforma DMT. Por sua vez, o Grupo B usou apenas as ferramentas de análise de dados. Os objetivos finais referente ao Grupo A eram: • Saber se fez uso das funcionalidades da DMT, ou seja, saber se houve realmente troca de dados entre os dois elementos recorrendo à plataforma; • Perceber quais as principais dificuldades sentidas e que aspetos acharam mais positivas na plataforma. Relativamente ao Grupo B o objetivo era: • Perceber quais as maiores dificuldades sentidas no decorrer do desenvolvimento da solução também no que diz respeito à colaboração e, em particular à troca de dados. 5.2 Resultados Tendo em conta que a avaliação decorreu num curto período de tempo e o reduzido número de elementos da equipa, os resultados têm apenas um cariz qualitativo, baseado nas opiniões mais relevantes dos elementos da equipa usada para a avaliação. Estas opiniões foram recolhidas através de conversas informais com os quatro elementos da equipa. OGrupo A salientou como aspetos positivos: • Terem podido trocar de ficheiros de dados; • A possibilidade de fazer download dos ficheiros nos formatos já compatíveis com as ferramentas de análise de dados que estavam a usar; • A possibilidade de fazer upload de ficheiros em vários formatos que não só .csv. E como aspetos a melhorar: • A sensibilidade do ecrã ao click do rato, que levava à criação de novos nós não desejados; • Ser possível selecionar processos para aplicar aos dados na própria DMT sem que seja necessário usar uma ferramenta de análise de dados; OGrupo B apontou como principal dificuldade a interação de cada um dos elementos com os dados gerados pelo outro. Explicaram que seria interessante se fosse possível interagir com os dados um do outro tendo acesso visual ao ecrã um do outro, através de computadores distintos, permitindo assim arrastar a informação de um ecrã para o outro "diretamente", mas continuando a trabalhar cada um em seu ambiente. Estas observações reforçam a motivação por trás deste projeto. 44 Testes e Resultados Figura 5.1: Grafo gerado pelo Grupo A durante a fase de avaliação da DMT Na Figura 5.1 é possível ver o grafo gerado pelo Grupo A durante o período de avaliação. No total foram transferidos 11 ficheiros fazendo uso da plataforma, com diferentes formatos. Embora os resultados não possam ser generalizados atendendo à forma como foram obtidos, pode concluir-se que o trabalho até agora desenvolvido constituiu um desafio que merece empenho e continuação por se acreditar que pode ser um bom contributo para a melhoria do desempenho das equipas na participação deste tipo de desafios. Estes resultados foram escritos quando ainda não havia resultados das submissões feitas pela equipa na competição. 45 Testes e Resultados 46 Capítulo 6 Conclusões e Trabalho Futuro Da necessidade de trabalhar dados e resultados de diferentes modelos e formatos, no contexto de projetos de DM, resultou o desenvolvimento e implementação do projeto traduzido nesta dissertação e a concretização da plataforma Data Mining Teams (DMT). Os principais objetivos que precederam este projeto contemplavam desenhar e construir uma plataforma colaborativa para projetos de DM com ambiente gráfico interativo e colaborativo que permitisse importar e explorar dados e resultados independentemente dos formatos dos mesmos. Sendo este um projeto bastante ambicioso, tendo em conta o tempo disponível para a sua concretização, o resultado desta dissertação não respondeu funcionalmente a todos dos requisitos especificados para o produto final. No entanto, as fases de conceção e desenho da arquitetura foram detalhadas considerando a totalidade das funcionalidades da plataforma, e foi implementado um protótipo funcional que serviu como prova de conceito para as principais funcionalidades especificadas. A primeira fase do projeto consistiu na análise do problema proposto para esta dissertação, investigando o estado da arte para aprofundar os conhecimentos sobre o tema, levando a uma melhor compreensão da necessidade do produto, e ainda à perceção das alternativas que existem no mercado para ajudar no desenvolvimento de uma solução. O estudo das metodologias de DM permitiu perceber a clara necessidade de troca de dados e transformação destes durante o processo de DM em equipa. Com o estudo da interação pessoa-computador foi traçada a metodologia a usar para o levantamento de requisitos mais adequado tendo em vista o desenvolvimento de uma plataforma com elevado nível de usabilidade e com design centrado no utilizador. A análise do problema com mais detalhe levou a concluir que a melhor solução passaria por uma plataforma disponível via web, para que pudesse assim satisfazer o requisito de ser colaborativa. De forma a definir com mais rigor os requisitos do produto, para que satisfizesse da melhor forma o utilizador final, foram feitas entrevistas e inquéritos a profissionais que trabalham com projetos de DM. Este levantamento de dados permitiu especificar os requisitos com mais detalhe, e indo ao encontro das necessidades reais dos utilizadores. Para o desenvolvimento da plataforma em questão identificaram-se como principais estilos de arquitetura a arquitetura baseada em dados; e a arquitetura baseada em separação lógica de 47 Conclusões e Trabalho Futuro processos em camadas, para que seja um sistema mais escalável. Relativamente às ferramentas que foram usadas, após o estudo realizado sobre as várias alternativas possíveis, optou-se pela utilização da framework Django para agilizar o processo de desenvolvimento do protótipo funcional. Sempre com o objetivo de fácil utilização por parte do utilizador, decidiu-se que a informação seria apresentada em forma de grafo, para visualmente se ter uma rápida perceção dos ficheiros de dados disponíveis e respetivos ficheiros de dados transformados. Fruto de alguns imprevistos que levaram a restrições temporais, protótipo funcional resultante apresenta as funcionalidades definidas como mais prioritárias, permitindo assim a troca de dados entre os elementos de uma equipa e a conversão e preparação dos mesmos para que fosse possível a sua utilização nas ferramentas R e RapidMiner. Os testes e avaliação da plataforma DMT tiveram um cariz unicamente qualitativa, porque por questões de enquadramento de calendário, apenas foi possível conseguir um número reduzido de sujeitos de teste e por um curto espaço de tempo. Assim, foi disponibilizada a plataforma a uma equipa de DM que a pudesse usar durante a participação numa competição de DM. Seria necessário fazer testes mais exaustivos para uma melhor avaliação da DMT, no entanto os que foram realizados apresentaram já boas indicações e melhorias a fazer. O trabalho realizado focou mais no levantamento de requisitos e especificação da solução. Isto implicou menos esforço para a parte de implementação e testes, tendo os resultados destes ficado um pouco aquém do desejado. 6.1 Trabalho Futuro Tendo em conta que continuam bastante válidos os objetivos que precederam esta dissertação, é importante continuar este projeto e aproveitar o trabalho realizado até ao momento. Assim, o trabalho futuro está dividido em curto/médio e longo prazo, incluindo as funcionalidades não implementadas já definidas nos requisitos e novas sugestões. Numa visão a curto/médio prazo seria importante refinar as funcionalidades implementadas, nomeadamente: a apresentação do grafo de forma a que fosse possível ver o nome do ficheiro correspondente a cada nó no próprio nó; e ainda tornando o grafo mais apelativo no que diz respeito à cor e ao design. Para além disso seria interessante implementar o sistema de autenticação de utilizadores e o chat na página de cada projeto, tal como foi pensado da definição dos requisitos. Numa perspetiva a longo prazo, sugere-se o desenvolvimento da funcionalidade sugerida que possibilite ao utilizador correr processos de transformação dos dados na própria DMT, sem que tenha que fazer uso das ferramentas. De um ponto de vista ainda mais ambicioso, traria grandes vantagens que a plataforma permitisse ao utilizador, aquando da criação de um novo projeto, escolher o tipo de projeto, relativamente aos formatos dos dados a ser utilizados naquele projeto. 48 Referências [AG07] Ben Askins e Alan Green. A rails / django comparison. In The Python Papers, volume 2 of 2. Open Source Developer’s Conference, 12 2007. [BMR+96] Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad e Michael Stal. Pattern-oriented Software Architecture: A System of Patterns. John Wiley & Sons, Inc., New York, NY, USA, 1996. [Bra07] Max Bramer. Principles of Data Mining. Springer, 2007. [CC11] Richard Caddick e Steve Cable. Communicating the User Experience. John Wiley and Sons Ltd, 3rd edition, 2011. [CCK+00] Pete Chapman, Julian Clinton, Randy Kerber, Thomas Khabaza, Thomas Reinartz, Colin Shearer e Rudiger Wirth. Crisp-dm 1.0 step-by-step data mining guide. Technical report, The CRISP-DM consortium, August 2000. URL: http: //www.crisp-dm.org/CRISPWP-0800.pdf. [CHS+98] Peter Cabena, Pablo Hadjinian, Rolf Stadler, Jaap Verhees e Alessandro Zanasi. Discovering Data Mining: From Concept to Implementation. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1998. [Cos11] Joel Frederico Azevedo Costa. Um ambiente gráfico para facilitar tarefas de data mining via ferramenta r. Technical report, Universidade do Minh - Escola de Engenharia, Outubro 2011. [CRC07] Alan Cooper, Robert Reimann e David Cronin. About Face 3: The Essentials of Interaction Design. John Wiley & Sons, Inc., New York, NY, USA, 2007. [DFAB97] Alan Dix, Janet Finlay, Gregory Abowd e Russell Beale. Human-computer Interaction. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1997. [GARM+08] P. González-Aranda, Ernestina Menasalvas Ruiz, Socorro Millán, Carlos Ruiz e Javier Segovia. Towards a methodology for data mining project development: The importance of abstraction. In Tsau Young Lin, Ying Xie, Anita Wasilewska e Churn-Jung Liau, editors, Data Mining: Foundations and Practice, volume 118 of Studies in Computational Intelligence, pages 165–178. Springer, 2008. URL: http://dblp.uni-trier.de/db/series/sci/sci118. html#Gonzalez-ArandaRMRS08. [GG99] Michael Goebel e Le Gruenwald. A survey of data mining and knowledge discovery software tools. SIGKDD Explorations, 1:20–33, 1999. [Han07] DavidJ. Hand. Principles of data mining. Drug Safety, pages 621–622, 2007. 49 REFERÊNCIAS [HK06] J. Han e M. Kamber. Data Mining: Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems Series. Elsevier Science & Tech, 2006. URL: http://books.google.at/books?id=AfL0t-YzOrEC. [KBS05] Dirk Krafzig, Karl Banke e Dirk Slama. Enterprise SOA: Service Oriented Architecture Best Practices. Prentice Hall Professional Technical Reference, Upper Saddle River, NJ, 8 edition, 2005. [Kni] Kayla Knight. Usability Testing With Card Sorting. URL: http: //sixrevisions.com/usabilityaccessibility/card-sorting/ [último acesso em 01/07/2014]. [Lar04] Daniel T. Larose. Discovering Knowledge in Data: An Introduction to Data Mining. Wiley-Interscience, 2004. [Mac13] Gonçalo Jorge Machado. alive panoramics. Technical report, Faculdade de Engenharia da Universidade do Porto, Junho 2013. [Men11] Armando B. Mendes. Metodologias de Data Mining. Influir, 2011. [MR10] Oded Maimon e Lior Rokach. Data Mining and Knowledge Discovery Handbook, 2nd ed. Springer, 2010. [Nie12] Jakob Nielsen. Usability 101: Introduction to usability. 2012. [Nor04] Donald A. Norman. Emotional Design. New York: Basic Books, 2004. [OD08] David L. Olson e Dursun Delen. Advanced Data Mining Techniques. Springer Publishing Company, Incorporated, 1st edition, 2008. [Por12] João Pedro Portela. Multi-touch interaction for interface prototyping. Technical report, Faculdade de Engenharia da Universidade do Porto, Julho 2012. [PPT08] Mykola Pechenizkiy, Seppo Puuronen e Alexey Tsymbal. Does relevance matter to data mining research?. In Tsau Young Lin, Ying Xie, Anita Wasilewska e Churn-Jung Liau, editors, Data Mining: Foundations and Practice, volume 118 of Studies in Computational Intelligence, pages 251–275. Springer, 2008. URL: http://dblp.uni-trier.de/db/series/sci/sci118. html#PechenizkiyPT08. [Rib13] Hugo Ribeiro. Usabilidade acessível: metodologias para a avaliação qualitativa da usabilidade no design para a web. Technical report, Faculdade de Belas Artes da Universidade do Porto, Junho 2013. [RSP02] Y. Rogers, H. Sharp e J. Preece. Interaction Design: Beyond Human-Computer Interaction. John Wiley and Sons Ltd, 2002. [Sah] Shankar Sahai. Big Data - News, Views and Reviews: Not all data mining packages are created equal (Comparison of 6 major free tools). URL: http://www. infoivy.com/2014/06/not-all-data-mining-packages-are.html [último acesso em 20/06/2014]. [Shn97] Ben Shneiderman. Designing the User Interface: Strategies for Effective HumanComputer Interaction. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 3rd edition, 1997. 50 REFERÊNCIAS [Tei09] Tiago Mourão Teixeira. Web collaboration for software engineering. Technical report, Faculdade de Engenharia da Universidade do Porto, Julho 2009. [WF05] Ian H. Witten e Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann Series in Data Management Systems. Elsevier, Amsterdam, second edition, June 2005. URL: http: //www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20& amp;path=ASIN/0120884070. 51 REFERÊNCIAS 52 Anexo A Entrevistas e Questionários Esta secção contém o guião das entrevistas feita para levantamento de requisitos e os resultado transcritos das mesmas. Para além disso é apresentado o questionário feito e alguma informação estatística relativa às respostas obtidas. A.1 Guião da Entrevista A Figura A.2 mostra o guião das entrevistas feitas a três profissionais da área de DM, para o levantamento de requisitos. 53 Entrevistas e Questionários Figura A.4: Questionário Parte 3 60 Entrevistas e Questionários Figura A.5: Questionário Parte 4 61 Entrevistas e Questionários Figura A.6: Questionário Parte 4 (continuação) 62 Entrevistas e Questionários A.4 Resultados dos Questionários De seguida são apresentados os gráficos com a informação relativa à informação recolhida através da administração dos questionários. 63 Entrevistas e Questionários 64 Entrevistas e Questionários 65 Entrevistas e Questionários 66 Entrevistas e Questionários 67 Entrevistas e Questionários 68 Entrevistas e Questionários 69 Entrevistas e Questionários 76