• Nenhum resultado encontrado

Aplicação de técnicas de mineração de dados para prevenção de erros na geração de árvores filogenéticas

N/A
N/A
Protected

Academic year: 2021

Share "Aplicação de técnicas de mineração de dados para prevenção de erros na geração de árvores filogenéticas"

Copied!
42
0
0

Texto

(1)

Instituto de Computa¸

ao

Departamento de Ciˆ

encia da Computa¸

ao

Rafael Ferreira Ramalho

Aplica¸c˜

ao de T´ecnicas de Minera¸c˜

ao de Dados para

Preven¸c˜

ao de Erros na Gera¸c˜

ao de ´

Arvores

Filogen´eticas

Niter´

oi-RJ

(2)

ii Rafael Ferreira Ramalho

Aplica¸c˜ao de T´ecnicas de Minera¸c˜ao de Dados para Preven¸c˜ao de Erros na Gera¸c˜ao de ´

Arvores Filogen´eticas

Trabalho submetido ao Curso de Bacharelado em Ciˆencia da Computa¸c˜ao da Universidade Federal Fluminense como requisito parcial para a obten¸c˜ao do t´ıtulo de Bacharel em Ciˆencia da Computa¸c˜ao.

Orientadores: Prof. Daniel Cardoso Moraes de Oliveira Profa. Aline Marins Paes Carvalho

Niter´oi-RJ 2017

(3)

Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF

R165 Ramalho, Rafael Ferreira

Aplicação de técnicas de mineração de dados para prevenção de erros na geração de árvores filogenéticas / Rafael Ferreira Ramalho. – Niterói, RJ : [s.n.], 2017.

41 f.

Projeto Final (Bacharelado em Ciência da Computação) – Universidade Federal Fluminense, 2017.

Orientadores: Daniel Cardoso Moraes de Oliveira, Aline Marins Paes Carvalho.

1. Mineração de dados. 2. Fluxo de trabalho. 3. Trabalho científico. 4. Árvore filogenética. I. Título.

(4)
(5)

Dedico este trabalho a minha fam´ılia e ami-gos que sempre me apoiaram nesta cami-nhada.

(6)

v

Agradecimentos

`

A minha fam´ılia, meu pai Marcelo, minha m˜ae Barbara e meu tios Jo˜ao Carlos pelo apoio, incentivo e cobran¸ca quando necess´ario durante toda a Gradua¸c˜ao.

`

A minha irm˜a Julia, meus av´os maternos, Maria L´elia e Waldyr, minha tia Mˆonica e minhas primas Larissa e Mariana pelo apoio e incentivo.

`

A minha namorada Ana Clara por ter me apoiado nesse momento conturbado do projeto final onde o tempo ´e curto e muitas das vezes exclusivo da Universidade.

Aos meus orientadores Daniel e Aline pela paciˆencia e orienta¸c˜ao.

Aos professores por qual passei nessa longa jornada da gradua¸c˜ao, pelo aprendizado transmitido e por mim absorvido mesmo com algumas dificuldades.

Aos amigos e colegas que estudaram comigo durante todo a gradua¸c˜ao pela com-panhia e ajuda m´utua que com certeza sem ela n˜ao estaria terminando essa fase da minha vida tanto pessoal como profissional.

(7)

Resumo

As ´arvores filogen´eticas apresentam a rela¸c˜ao evolutiva entre organismos segundo a teoria da evolu¸c˜ao de Darwin e apoia o desenvolvimento e a escolha de f´armacos para tratar uma determinada doen¸ca nos dias atuais. Infelizmente, o processo que leva a gera¸c˜ao de tais ´arvores (workflow) ´e computacionalmente intensivo, e, dependendo dos parˆametros escolhidos, existe uma alta taxa de falha em tais processos. Pensando na preven¸c˜ao dos casos de erro de execu¸c˜ao de workflows cient´ıficos na ´area de filogenia, foram utilizadas algumas t´ecnicas de minera¸c˜ao de dados, tendo como base dados de execu¸c˜oes anteriores, de forma a criar um modelo preditivo para tais casos. Criando padr˜oes com estas execu¸c˜oes extrai-se informa¸c˜oes importantes que podem ser utilizadas para prever se futuras execu¸c˜oes v˜ao ter resultado esperado ou n˜ao v˜ao agregar nenhum valor. O objetivo deste estudo ´e exatamente criar esses padr˜oes para que possam ser identificados conjuntos de parˆametros que geram resultado indesejado. Para isto utiliza-se os dados de proveniˆencia do Sistema de Gerˆencia de Workflows Cient´ıficos SciCumulus [1] e o WEKA [2] como ferramenta de minera¸c˜ao de dados.

Palavras-chave: Workflow Cient´ıfico, SciCumulus, SciPhy, ´Arvores Filogen´eticas, Mine-ra¸c˜ao de Dados, Ensemble

(8)

vii

Abstract

Phylogenetic trees present the evolutionary relationship between organisms accor-ding to Darwin’s theory of evolution and support the development and choice of drugs to treat a particular disease today. Unfortunately, the process that leads to the generation of such workflows is computationally intensive, and, depending on the parameters chosen, there is a high failure rate in such processes. Considering the prevention of error cases in the execution of scientific workflows in the field of phylogeny, some techniques of data mining were used, based on data from previous executions, in order to create a predictive model for such cases. Creating standards with these executions extrat important infor-mation that can be used to predict whether future executions will have expected result or will not agregate any value. The purpose of this study is to create these patterns so that they can be identified the sets of parameters that generate undesired results. For this, was use the provenance data from the SciCumulus Scientific Workflows Management System [1] and the WEKA [2] as data mining tool.

Keywords: Scientific Workflow, SciCumulus, ScyPhy, Phylogenetic Trees, Data Mining, Ensemble

(9)

Sum´

ario

Resumo vi

Abstract vii

Lista de Figuras x

1 Introdu¸c˜ao 1

2 Referencial Te´orico 3

2.1 Experimento Cient´ıfico . . . 3 2.2 Workflow Cient´ıfico . . . 5 2.2.1 SciCumulus . . . 6 2.3 Proveniˆencia . . . 6 2.4 Minera¸c˜ao de dados . . . 7 2.4.1 Boosting . . . 9 2.4.2 Bagging . . . 10 2.4.3 Random Forest . . . 10 2.5 Filogenia . . . 11 2.6 SciPhy . . . 12 3 Metodologia Proposta 14 3.1 Extra¸c˜ao de Dados . . . 14

3.2 Divis˜ao dos dados . . . 17

3.3 Convers˜ao dos Arquivos . . . 18

3.4 Minera¸c˜ao com o WEKA . . . 19

4 Avalia¸c˜ao Experimental 20

(10)

ix

(11)

Lista de Figuras

2.1 Ciclo do experimento cient´ıfico adaptado de Mattoso at al. [3] . . . 4

2.2 Arvore Filogen´´ etica . . . 11

2.3 Estrutura do Sciphy . . . 13

3.1 Consulta 1 ao banco de dados . . . 15

3.2 Consulta 2 ao Banco de Dados . . . 16

3.3 Regra de erro adicionada . . . 17

3.4 Consulta final ao banco de dados . . . 17

3.5 Arquivo ARFF gerado a partir da Extra¸c˜ao . . . 18

4.1 Tabela de Resultados . . . 21

4.2 M´edia Matriz de Confus˜ao AdaBoostM1 . . . 22

(12)

Cap´ıtulo 1

Introdu¸

ao

Com o aumento crescente do volume de dados processados em experimentos cient´ı-ficos, tais experimentos est˜ao sendo executados por meio de simula¸c˜oes antes que passem para a fase pr´atica (laborat´orio ou pesquisa de campo). Este tipo de experimentos ´e cha-mado de in silico e s´o pode ser realizado gra¸cas a grande evolu¸c˜ao da computa¸c˜ao nas ´

ultimas d´ecadas.

Um experimento cient´ıfico necessita seguir regras para o seu desenvolvimento, de forma que possa ser reproduzido por terceiros. Muitos desses experimentos s˜ao compostos por diversas atividades, onde a entrada de uma atividade ´e a sa´ıda da atividade anterior, i.e. os experimentos podem ser representados como uma sequˆencia de atividades encadea-das. Para ajudar nessa organiza¸c˜ao e estrutura¸c˜ao s˜ao utilizados os Workflows Cient´ıficos [4, 5]. Os workflows s˜ao executados por Sistemas de Gerˆencia de Workflows Cient´ıfi-cos (SGWfC) que s˜ao complexos sistemas que permitem modelar, executar e analisar os workflows [6].

Na ´ultima d´ecada, em especial, houve um aumento na utiliza¸c˜ao de workflows cient´ıficos, pela sua eficiˆencia na gerˆencia do experimento. Por´em, um grande problema ´e o longo tempo utilizado para que os programas desse workflow sejam executados.

Muitos workflows podem ser executados por dias e at´e meses em computadores pa-ralelos e de alta capacidade. Como as execu¸c˜oes s˜ao muito demoradas, erros s˜ao comuns e acabam desperdi¸cando recursos preciosos (tempo de m´aquina). Dessa forma, ´e imperativo que execu¸c˜oes que tendem a falhar ou produzir resultados sem qualidade sejam evitadas. Nesta monografia ser´a abordada uma forma de tentar evitar a execu¸c˜ao desneces-s´aria de certos workflows que por experiˆencias anteriores nos indicam que h´a chance de

(13)

erro em sua execu¸c˜ao. Este estudo conta com execu¸c˜oes reais de workflows na ´area de bioinform´atica, mais especificamente na gera¸c˜ao de ´arvores filogen´eticas.

Para que possa ser poss´ıvel identificar padr˜oes de erros, ser´a utilizado a base de dados de proveniˆencia do SciCumulus 2.0 um SGWfC. Al´em disso, utilizaremos algorit-mos de minera¸c˜ao de dados, uma ´area muito promissora, que vem crescendo nas ´ultimas d´ecadas, pois gera informa¸c˜ao a partir de dados j´a existentes. Os algoritmos de minera¸c˜ao utilizados ser˜ao os de classifica¸c˜ao, estes podem ser: classificadores tradicionais, que s˜ao otimizados, por´em reduzem o espa¸co de busca; ou a combina¸c˜ao de classificadores (en-sembles), que tem o objetivo de agregar as vantagens individuais destes classificadores. O programa utilizado para a minera¸c˜ao ´e o WEKA. O WEKA tem os classificadores Ada-BoostM1, Bagging e RandomForest nativo em sua plataforma e estes ser˜ao os utilizados nesta pesquisa. O SGWfC utilizado neste projeto ´e o SciCumulus, ele foi projetado para ser utilizado na nuvem de computadores e para obter dados de proveniˆencia em tempo de execu¸c˜ao, al´em de incluir dados de dom´ınio do experimento.

A estrutura do texto segue com o Cap´ıtulo 2 onde ´e descrito o referencial te´orico necess´ario para o entendimento desta monografia, fazendo parte dele: Workflow cient´ıfico; Proveniˆencia de Dados; e Minera¸c˜ao de Dados. Em seguida ´e apresentado o Cap´ıtulo 3 onde ´e demonstrada a abordagem proposta, divida pelos passos executados na an´alise: extra¸c˜ao dos dados e minera¸c˜ao. O Cap´ıtulo 4 demostra a avalia¸c˜ao experimental. E por ´

(14)

Cap´ıtulo 2

Referencial Te´

orico

Neste cap´ıtulo ser´a explicitado alguns dos conceitos necess´arios para o entendi-mento desta monografia. Dentre eles est˜ao: o conceito de experimento cient´ıfico; de workflow cient´ıfico; da proveniˆencia de dados; da minera¸c˜ao de dados e alguns m´etodos de aprendizado de m´aquina; e Sciphy.

2.1

Experimento Cient´ıfico

O experimento cient´ıfico surgiu devido a necessidade de se provar na pr´atica hip´ ote-ses e teorias. Este pode ser definido como “um teste executado sob condi¸c˜oes controladas, que ´e realizado para demonstrar uma verdade conhecida, examinar a validade de uma hip´otese, ou determinar a efic´acia de algo previamente n˜ao explorado” [7].

Para que seja considerado cient´ıfico tal experimento tem que poder ser reproduzido e comprovado e para isso ´e necess´ario que seja evidenciado todo seu processo. A Figura 2.1 mostra um dos modelos existentes para se representar o ciclo de vida de um experimento cient´ıfico [3]. Nela podemos ver as principais fases do experimento: composi¸c˜ao, execu¸c˜ao e an´alise.

A fase de composi¸c˜ao ´e respons´avel pela estrutura¸c˜ao e cria¸c˜ao do experimento. Como pode ser visto na Figura 2.1, esta pode ser decomposta em duas outras fases: concep¸c˜ao e reuso. Na concep¸c˜ao ´e criado o experimento, e no reuso s˜ao feitas adapta¸c˜oes de experimentos j´a existentes.

J´a a fase de execu¸c˜ao ´e respons´avel por executar o experimento, que tamb´em ´e dividida em duas outras: monitoramento e distribui¸c˜ao. No monitoramento ´e feito a

(15)

Figura 2.1: Ciclo do experimento cient´ıfico adaptado de Mattoso at al. [3]

rifica¸c˜ao do estado do experimento e na distribui¸c˜ao ´e feita a divis˜ao do experimento em atividades que ser˜ao executadas em ambiente de PAD (Programa¸c˜ao de Alto Desempe-nho). Por ultimo, temos a fase de an´alise, respons´avel pela verifica¸c˜ao dos dados gerados pelas fases anteriores, confirmando ou refutando a hip´otese do experimento.

Com a evolu¸c˜ao da ciˆencia foram desenvolvidos alguns tipos de experimentos cien-t´ıficos: in vivo, in vitro, in virtuo e in silico [8]. O experimento que ser´a abordado nesta monografia ´e o in silico que se caracteriza pela simula¸c˜ao do ambiente e de seus compo-nentes baseados em modelos computacionais complexos. Esses modelos s˜ao caracterizados por encadeamento de programas.

A evolu¸c˜ao da ciˆencia da computa¸c˜ao e o aumento do poder computacional possi-bilitou a utiliza¸c˜ao de experimentos cient´ıficos baseados em simula¸c˜ao em diversas outras ´

areas de estudo [4]. An´alises filogen´eticas [9], processamento de sequˆencias biol´ogicas [10], estudos na ´area de sa´ude [11, 12, 13, 14], prospec¸c˜ao de petr´oleo em ´aguas profundas [15, 16, 17, 18], mapeamento dos corpos celestes [19], estudos fisiol´ogicos [17], previs˜ao de precipita¸c˜ao [20], s˜ao alguns dos dom´ınios cient´ıficos que utilizam simula¸c˜ao em suas pesquisas.

(16)

5

2.2

Workflow Cient´

ıfico

O termo workflow foi inicialmente criado em 1970 para a ´area de neg´ocios com o intuito de organizar e gerenciar melhor documentos e processos de uma empresa e reduzir os custos de impress˜ao e manipula¸c˜ao de documentos [21, 4, 22].

A defini¸c˜ao de workflow segundo Workflow Management Coalition (WfMC) ´e: “A automa¸c˜ao de um processo de neg´ocio, completo ou apenas parte dele, atrav´es do qual documentos, informa¸c˜oes ou tarefas s˜ao transmitidos de um participante a outro por a¸c˜oes, de acordo com regras procedimentais.” [23].

Em outras palavras, ´e um processo que cont´em diversas atividades que devem ser executadas em uma determinada ordem. Cada atividade recebe uma informa¸c˜ao de entrada e gera uma informa¸c˜ao de sa´ıda. Essas informa¸c˜oes geradas s˜ao passadas adiante, para a pr´oxima atividade at´e o final do processo [24].

Por´em, com o tempo, cientistas passaram a utilizar essa metodologia para experi-mentos cient´ıficos, mas ao contr´ario dos workflows de neg´ocio, os workflows cient´ıficos s˜ao centrados no fluxo de transforma¸c˜ao dos dados [25].

Uma defini¸c˜ao dada a workflow cient´ıfico ´e: “Arcabou¸co funcional que permite a composi¸c˜ao de programas em uma sequˆencia de execu¸c˜ao com o objetivo de gerar um resultado final.” [6].

Essa metodologia ´e usada para experimentos cient´ıficos in silico, que s˜ao expe-rimentos feitos por simula¸c˜ao de computadores e tem tido sucesso nas ´areas Genˆomica Comparativa [26] e Astronomia [27].

Os cientistas passaram a utilizar tal ferramenta por causa do grande volume, he-terogeneidade e alta demanda computacional dos dados a serem analisados [5].

Os dados utilizados e gerados em execu¸c˜oes de workflows cient´ıficos podem ser classificados dos seguintes tipos [28]:

1. dados do dom´ınio;

2. fluxo de dados gerados na execu¸c˜ao do workflow; 3. fluxo das atividades executadas;

(17)

Uma informa¸c˜ao importante ´e que a base de dados de proveniˆencia segue o modelo PROV-Wf [29], baseado na recomenda¸c˜ao PROV W3C [30].

Como consta na se¸c˜ao anterior, ´e necess´ario que o experimento seja reproduzido e para isto ´e necess´ario que se tenha o hist´orico de execu¸c˜oes. Desta forma, os dados gerados pela execu¸c˜ao do workflow s˜ao guardados mesmo sem ter um resultado positivo, pois esses dados podem ser analisados posteriormente e utilizados para evitar novas ocorrˆencias. A este registro de resultados e execu¸c˜oes chamamos de proveniˆencia [31].

Os sistemas que modelam, executam e monitoram os workflows cient´ıficos s˜ao chamados de Sistemas de Gerˆencia de Workflows Cient´ıficos (SGWfC). O SGWfC n˜ao conhece previamente os programas que far˜ao parte de suas atividades. Este somente gerencia os dados de entrada, de sa´ıda, o fluxo de trabalho e as altera¸c˜oes feitas ao longo dele que s˜ao os dados de proveniˆencia.

Existem muitos SGWfC, cada um com suas caracter´ısticas, vantagens e desvanta-gens, como: o SciCumulus [1], o Kepler [32], o Taverna [33], o VisTrails [34], o Pegasus [35], o Askalon [36], entre outros.

2.2.1

SciCumulus

SciCumulus [1] foi desenvolvido para suportar execu¸c˜ao paralela em clusters e na nuvem. Ele ´e capaz de coletar e consultar dados de proveniˆencia em tempo de execu¸c˜ao [6].

Esta monografia ´e baseada nos dados de proveniˆencia gerados por este SGWfC. Isso se deve pelo SciCumulus ser o ´unico SGWfC a se preocupar n˜ao somente com a proveniˆencia, mas com dados espec´ıficos do dom´ınio [28].

Um diferencial do SciCumulus ´e que a sua proveniˆencia ´e armazenada em um banco de dados relacional e em tempo de execu¸c˜ao permitindo seu monitoramento e avalia¸c˜ao do experimento em tempo real.

2.3

Proveniˆ

encia

Segundo o dicion´ario Michaelis [37], proveniˆencia ´e: 1. Ato ou efeito de provir.

(18)

7 2. Lugar de onde algo prov´em; origem, procedˆencia.

Proveniˆencia ´e muito importante para o workflow Cient´ıfico, pois ´e ela que nos d´a a origem e toda a evolu¸c˜ao dos dados durante a execu¸c˜ao do mesmo. E atrav´es dela o experimento pode ser reproduzido e validado gerando assim, de fato, o conhecimento cient´ıfico.

Segundo Goble et al. [38] existem algumas diversas funcionalidades para os dados de proveniˆencia:

1. Garantia de qualidade dos dados: verificar a qualidade e a confiabilidade dos dados atrav´es de sua origem e transforma¸c˜ao;

2. Auditoria dos caminhos: verificar as transforma¸c˜oes ocorridas e se houve algum erro no processo;

3. Verifica¸c˜ao de atribui¸c˜ao: verifica informa¸c˜oes do dono dos dados e de agentes mo-dificadores, se houver;

4. Informacional: possibilita a consulta e disponibiliza informa¸c˜oes dos dados. Existem 2 tipos de proveniˆencia: prospectiva e retrospectiva. [39, 31]

A proveniˆencia prospectiva ´e captura e armazena dados da estrutura do processo que levou a gera¸c˜ao de um determinado produto. No panorama do workflow cient´ıfico, ela ´e a respons´avel pela aquisi¸c˜ao dos dados relativos a estrutura e configura¸c˜oes de ambiente do workflow.

J´a a proveniˆencia retrospectiva ´e caracterizada pela captura dos dados e seus des-critores atrav´es da execu¸c˜ao de um determinado workflow. Alguns exemplos desses dados s˜ao os tempos e poss´ıveis erros de execu¸c˜ao e arquivos produzidos. Neste trabalho foram usados ambos tipos de proveniˆencia.

2.4

Minera¸

ao de dados

No s´eculo XXI a informa¸c˜ao passou a ser o bem mais valioso que se pode adquirir, isto ´e v´alido para qualquer ´area de conhecimento. Em consequˆencia disto ´e adquirida informa¸c˜ao a todo momento sobre quase tudo nos dias atuais. Ao analisar um conjunto

(19)

de informa¸c˜oes sobre um determinado tema, podemos encontrar grupos de semelhan¸cas, esses grupos geram padr˜oes que ao serem analisados geram informa¸c˜oes importantes.

A quantidade de informa¸c˜oes n˜ao nos permite visualizar esses padr˜oes sem a ajuda computacional e sem esta ajuda perdemos dados importantes. A minera¸c˜ao de dados nasceu desta necessidade de se ter cada vez mais informa¸c˜ao, tendo como objetivo auto-matizar a explora¸c˜ao de padr˜oes a partir de grandes quantidades de dados para aquisi¸c˜ao de novos conhecimentos, facilitando a visualiza¸c˜ao desses padr˜oes e consequentemente a extra¸c˜ao dessa informa¸c˜ao.

O processo de minera¸c˜ao pode ser dividido em sete passos principais [40]: 1. Limpeza dos Dados (para remover dados inconsistentes e ru´ıdos);

2. Integra¸c˜ao dos Dados (onde m´ultiplas fontes de dados podem ser combinadas) 3. Sele¸c˜ao dos Dados (onde dados relevantes para a tarefa de an´alise s˜ao recuperados

do banco de dados);

4. Transforma¸c˜ao dos Dados (onde os dados s˜ao transformados ou consolidados em for-mas apropriadas para a minera¸c˜ao, por exemplo, fazendo um sum´ario ou agregando opera¸c˜oes);

5. Minera¸c˜ao de Dados (processo essencial onde m´etodos inteligentes s˜ao aplicados com o objetivo de extrair padr˜oes de dados);

6. Avalia¸c˜ao dos Dados (para identificar os verdadeiros padr˜oes de interesse que repre-sentam o conhecimento baseado em alguma medida de interesse);

7. Apresenta¸c˜ao do Conhecimento (onde visualiza¸c˜ao e t´ecnicas de representa¸c˜ao de conhecimentos s˜ao utilizadas para representar o conhecimento minerado para o usu´ a-rio).

A minera¸c˜ao de dados moderna teve in´ıcio na d´ecada de 1990 quando o custo com processamento e armazenamento de dados foi reduzido, gerando poder computacional e possibilitando assim a utiliza¸c˜ao desta t´ecnica para adquirir informa¸c˜oes que ajudam nas decis˜oes da empresa. [41]

A Minera¸c˜ao de Dados utiliza algoritmos desenvolvidos na ´area de Aprendizado de M´aquina, na qual desenvolve algoritmos de predi¸c˜ao. Estes algoritmos s˜ao capazes de

(20)

9 extrair informa¸c˜ao a partir de amostras de dados [42]. Esta ´area de pesquisa tem evolu´ıdo muito nas ´ultimas d´ecadas e tem produzido cada vez mais algoritmos eficientes e precisos. As t´ecnicas de aprendizado de m´aquina podem ser divididas em dois tipos: supervi-sionada e n˜ao-supervisionada. Na supervisionada utiliza-se informa¸c˜oes pr´e-classificadas, ou seja amostras rotuladas com uma classe, como base de treinamento para a m´aquina, com o intuito de induzir esta classe para novos dados. Ainda na supervisionada, se tem uma subdivis˜ao, sendo categorizada como de classifica¸c˜ao quando esta classe possui valores discretos e como de regress˜ao quando os valores s˜ao cont´ınuos.

J´a na n˜ao-supervisionada, diferente da supervisionada, os dados n˜ao tem r´otulos, o objetivo ´e criar grupos de semelhan¸ca de dados existentes e procurar tirar alguma informa¸c˜ao dos grupos criados, um exemplo ´e a clusteriza¸c˜ao.

Em aprendizado de m´aquina a combina¸c˜ao de classificadores mais simples, co-mumente tem um desempenho melhor que um ´unico classificador. Ensembles [43] s˜ao exatamente isso, m´etodos que geram conjunto de classificadores e combinam seus resulta-dos. Essa combina¸c˜ao pode ser feita de v´arias formas, sendo a mais comum por vota¸c˜ao, que pode ser por maioria simples, onde todos os classificadores tˆem o mesmo grau de importˆancia, ou ponderado, onde h´a clarificadores mais importantes que tˆem peso maior na vota¸c˜ao.

Alguns classificadores base, mais comuns e aqui utilizados s˜ao [44]:

• ´Arvore de Decis˜ao: este modelo ´e estruturado em forma de ´arvore onde cada n´o avalia um atributo e cada percurso na ´arvore ´e uma regra de classifica¸c˜ao. Ele divide um problema complexo em problemas menores recursivamente at´e chegar a problemas simples de se resolver.

• Decision Stump: este modelo ´e uma ´arvore de decis˜ao por´em com apenas duas folhas, ´unico n´ıvel.

Alguns m´etodos Ensembles muito conhecidos s˜ao Boosting [45], Bagging [46] e RandomForest [47], que ser˜ao aqui utilizados.

2.4.1

Boosting

Boosting ´e um m´etodo que utiliza um conjunto de classificadores simples como ´

(21)

[48]. S˜ao utilizados algoritmos mais simples pelo seu desempenho levemente superior que ´e impulsionado para criar um classificador forte [49].

O algoritmo Boosting adaptativo (AdaBoost) [50], foi desenvolvido para melhorar alguns pontos, tais como na an´alise de grande volume de dados e a redu¸c˜ao do custo computacional [51].

2.4.2

Bagging

Bagging, Agrega¸c˜ao de Bootstrap [46], gera conjuntos independentes, chamados Bootstraps, de mesmo tamanho do conjunto de treinamento, composto de amostras ale-at´orias, permitindo repeti¸c˜ao. Para cada Bootstrap ´e criado um grupo de classificadores. O resultado de cada classificador ´e avaliado por meio de voto por maioria simples. O Bagging tem varia¸c˜oes e uma delas ´e o Random Forest.

2.4.3

Random Forest

O algoritmo Random Forest [47], foi criado a partir da jun¸c˜ao de Random Decision Forests [52] e Bagging [46]. Este algoritmo ´e composto de classificadores do tipo ´arvore de decis˜ao de forma a construir ´arvores aleatoriamente com amostragem do tipo Bootstrap. Para induzir qual a classe de uma instˆancia, ele combina v´arias ´arvores de decis˜ao, sendo que o resultado final ´e decidido em forma de vota¸c˜ao, por´em usando um sistema de peso para os votos: quanto menor a similaridade entre as ´arvores, maior o peso de seu voto [53].

Esta t´ecnica ´e diferenciada das t´ecnicas normais de ´arvore de decis˜ao, pois enquanto ´

arvores de decis˜oes normais tem o objetivo de criar uma estrutura a partir dos dados, o Random Forest ´e o conjunto de v´arias dessas ´arvores com subconjuntos de atributos de forma aleat´oria.

Algumas das caracteristicas desta t´ecnica que se destacam s˜ao [54]:

• Algoritmo mais poderoso do que comparado somente a uma ´arvore de decis˜ao; • Possui boa taxa de acerto quando testado em diferentes conjuntos de dados; • T´ecnica exata;

(22)

11 • Menos sens´ıveis a ru´ıdos;

• Classifica¸c˜ao aleat´oria das ´arvores sem interven¸c˜ao humana.

2.5

Filogenia

A Filogenia ´e o estudo de hip´oteses de rela¸c˜ao evolutiva de um grupo de organismos, ou seja, tem como objetivo descobrir a ancestralidade entre esp´ecies conhecidas.

Os conjuntos de dados genˆomicos s˜ao grandes e complexos, estando longe de serem triviais para interpretar e entender [55]. Por´em, devido a novas descobertas na ´area biol´ogica evolutiva, esta ´area cresceu muito rapidamente, possibilitando o uso de ´arvores filogen´eticas para mapear a transi¸c˜ao de caracter´ısticas na hist´oria evolutiva.

Uma ´Arvore Filogen´etica, tamb´em conhecida como ´arvore da vida [56], ´e uma representa¸c˜ao gr´afica de ancestralidade representada na forma de ´arvore, sendo que cada n´o com descendentes representa o mais recente antepassado comum, e os comprimentos dos ramos podem representar estimativas do tempo evolutivo. ´E demonstrado um exemplo de ´Arvore Filogen´etica na Figura 2.2.

Figura 2.2: ´Arvore Filogen´etica [57]

(23)

ma-nipula¸c˜ao de grandes volumes de dados necessitando uma computa¸c˜ao intensiva e uma gerˆencia complexa desses dados. ´E necess´ario tamb´em seguir alguns passos que s˜ao parte do experimento de an´alise filogen´etica. Estes passos ser˜ao melhor explicados na pr´oxima se¸c˜ao.

2.6

SciPhy

O SciPhy [9] ´e um workflow cient´ıfico que foi projetado para gerar ´arvores filoge-n´eticas com m´axima verossimilhan¸ca [58]. Ele inicialmente foi modelado com o intuito de executar as cadeias de amino´acidos, contudo seu uso pode ser utilizado para outros tipos de sequˆencias biol´ogicas.

Esse workflow ´e constitu´ıdo por oito atividades [28], sua estrutura pode ser vista na Figura 2.3:

1. Sele¸c˜ao e formata¸c˜ao de dados (dataselection); 2. Constru¸c˜ao do alinhamento (MSA) (mafft); 3. Convers˜ao de formato MSA (readseq);

4. Pesquisa de Modelos Evolutivos (modelgenerator); 5. Estimativa de uma ´unica ´Arvore (raxml 1);

6. Estimativa de um conjunto de ´arvores n˜ao-param´etricas Bootstrap (raxml 2); 7. Mesclar os resultados de raxml 1 e raxml 2 (mergeresults);

8. Constru¸c˜ao da ´arvore, projetando valores de confian¸ca Bootstrap (raxml 3).

Essas atividades s˜ao executadas cada uma com um programa computacional dife-rente, sendo: programas de alinhamento gen´etico (podendo ser o MAFFT [59], o Kalign [60], o ClustalW [61], o Muscle [62], ou o ProbCons [63]) para a constru¸c˜ao do alinha-mento gen´etico (2), o ReadSeq [64] para convers˜ao do alinhamento gen´etico para o formato PHYLIP (3), o ModelGenerator [65] para pesquisa e escolha do melhor modelo evolutivo (4) e o RAxML [66] para constru¸c˜ao da ´arvore filogen´etica (5, 6 e 8) [9, 10, 12].

O SciPhy se inicia com a sele¸c˜ao dos dados atrav´es de um script. O segundo passo ´e a constru¸c˜ao de alinhamento m´ultiplo de sequˆencias (Multiple Sequence Alignment,

(24)

13

Figura 2.3: Estrutura do Sciphy [28]

ou simplesmente MSA) que ´e fundamental em muitos experimentos de Bioinform´atica. Existe uma grande variedade de programas que fazem este alinhamento, sendo a escolha reservada ao cientista.

Esses programas recebem um arquivo multi-fasta, que pode conter informa¸c˜oes de amino´acidos ou n˜ao, como entrada e produz um alinhamento gen´etico (MSA).

Na fase seguinte, o alinhamento produzido anteriormente ´e convertido para o for-mato PHYLIP [67]. Esta convers˜ao ´e feita pelo programa ReadSeq.

Este arquivo convertido ´e utilizado como entrada do programa ModelGenerator para se descobrir qual o melhor modelo evolutivo a ser utilizado.

Na quinta atividade ´e utilizado o alinhamento produzido e o melhor modelo evo-lutivo para a produ¸c˜ao de uma ´unica estimativa de ´arvore filogen´etica com o programa RAxML. J´a na sexta etapa ´e produzido um conjunto de ´arvores n˜ao parametrizadas, com parˆametro de Bootstrap configur´avel.

A s´etima etapa ´e respons´avel pela concatena¸c˜ao do resultado das duas etapas anteriores.

O ´ultimo passo ´e a cria¸c˜ao da ´arvore filogen´etica projetando os valores de Boots-trap.

(25)

Cap´ıtulo 3

Metodologia Proposta

Neste cap´ıtulo ´e explicado todo o processo executado para chegar ao objetivo desta monografia que ´e realizar a predi¸c˜ao de falhas em workflows cient´ıficos. Al´em disso, apresenta os problemas obtidos e como foram solucionados.

Este cap´ıtulo ´e dividido em partes para uma melhor organiza¸c˜ao. Cada se¸c˜ao aborda uma etapa do projeto.

3.1

Extra¸

ao de Dados

O objetivo deste trabalho ´e prever casos de falha em um workflow cient´ıfico para an´alises filogen´eticas. A extra¸c˜ao dos dados ´e parte essencial deste projeto de pesquisa.

Neste projeto, foi usado o workflow SciPhy 2.0 com o intuito de gerar ´arvores filoge-n´eticas com m´axima verossimilhan¸ca. Ser˜ao utilizados os dados gerados pela proveniˆencia de dados criada pelo SciCumulus, que ´e um sistema de gerˆencia de workflows cient´ıficos. Esses dados foram obtidos com execu¸c˜oes reais de workflows cient´ıficos, no entanto nem toda informa¸c˜ao obtida com a execu¸c˜ao do SciCumulus ser´a ´util para esta pesquisa. Pensando nisso foi feita uma sele¸c˜ao somente dos dados necess´arios atrav´es da consulta ao banco de dados apresentada na Figura 3.1:

Na consulta, DataSelection, Mafft, ReadSeq, ModelGenerator e Raxml s˜ao os pro-gramas do SciPhy 2.0, mais informa¸c˜oes sobre eles na se¸c˜ao 2.6. A letra ‘i’ antes desses nomes na consulta nos indica que esses s˜ao as rela¸c˜oes de entrada desses programas no workflow, e sua composi¸c˜ao nos indica o nome da tabela no banco de proveniˆencia. No SciCumulus, cada rela¸c˜ao ´e uma tabela no banco de dados que cont´em os valores do

(26)

15

Figura 3.1: Consulta 1 ao banco de dados parˆametros utilizados.

“Sciphy” ´e o nome de um ‘esquema’, um conjunto de tabelas do banco de dados onde est˜ao localizadas algumas das tabelas que ser˜ao utilizadas, outras est˜ao no ‘esquema’ p´ublico que ´e adicionado a consulta mais a frente.

Os dados selecionados s˜ao: sir.num aligns, sir.length, sir.model1, sir.prob1, sir.model2, sir.prob2. Cada letra da sigla ‘sir’ a frente dos dados indica qual ´e a origem do dado. A letra ‘s’ ´e do ‘esquema’ a qual o dado pertence, no caso sciphy, ‘i’ ´e a indica¸c˜ao de que o dado ´e de entrada e ‘r’ de qual programa do workflow ele se refere, no caso Raxml.

• num aligns ´e o n´umero de alinhamentos criado pelo programa Mafft; • length ´e o tamanho do alinhamento, gerado pelo programa Mafft;

• model1 ´e o melhor modelo evolutivo, indicado pelo programa ModelGeneretor; • prob1 ´e a probabilidade de model1 ocorrer, gerado pelo programa ModelGeneretor; • model2 ´e o segundo melhor modelo evolutivo, indicado pelo programa

ModelGene-retor;

• prob2 ´e a probabilidade de model2 ocorrer, gerado pelo programa ModelGeneretor; Por´em, nos dados extra´ıdos anteriormente n˜ao temos o estado final dessas execu¸c˜oes (com erro ou sem erro). Para isso, ´e necess´aria a adi¸c˜ao de mais uma coluna a essa tabela que ´e a tabela de ‘erro’. ‘erro’ ´e o nome dado a tabela com o resultado das execu¸c˜oes dos programas do workflow. Essas informa¸c˜oes sobre a execu¸c˜ao est˜ao em uma tabela no ‘esquema’ p´ublico chamada eactivation que cont´em informa¸c˜oes sobre as invoca¸c˜oes das atividades, com dados de desempenho, tempo de inicio e final da atividade e, o qual utilizaremos, registro de erro e de reexecu¸c˜ao causadas por falha [28].

(27)

Segundo Ocan˜a et al. [28] “Uma execu¸c˜ao de atividade ´e dita ser “falha” se o campo exitstatus (um c´odigo na tabela eactivation retornado pelo programa invocado pela atividade) ´e diferente de 0 e o status da atividade ´e ‘FINISHED WITH ERRORS’.” Para facilitar a consulta foram utilizados os campos exitstatus e failure tries, que informa a quantidade de vezes que o programa teve que repetir sua execu¸c˜ao por motivo de falha. Isto ´e feito pelo sistema de recupera¸c˜ao do SciCumulus, caso este identifique uma falha em alguma execu¸c˜ao ele automaticamente reexecuta a atividade. Com essas informa¸c˜oes adicionais foi feita uma nova consulta, demonstrada na Figura 3.2.

Figura 3.2: Consulta 2 ao Banco de Dados

Esta consulta teve como retorno 400 instancias por´em, a quantidade de erros ocor-ridos foram ´ınfimos. Uma boa informa¸c˜ao tendo como base dados reais, no entanto ´e ruim para a utiliza¸c˜ao de uma abordagem de aprendizado de m´aquina. Este resultado foi obtido com a precau¸c˜ao dos cientistas envolvidos em reduzir os erros e o custo.

Para podermos avaliar a abordagem proposta, foram realizadas modifica¸c˜oes nos dados extra´ıdos. A ideia principal foi criar um “gabarito” onde soub´essemos quais s˜ao os dados com falha e verificar se a abordagem de aprendizado seria capaz de identificar tais falhas. Para tanto, foi criada uma regra para altera¸c˜ao dos dados, esta regra modifica o resultado das execu¸c˜oes. Execu¸c˜oes com valor de model1 igual a ‘WAG+G’ e tamanho do

(28)

17 alinhamento maior que 250, ou, model2 igual a ‘JTT+G’ e prob2 maior que 1000 ser˜ao consideradas com erro. A regra ´e demonstrada na Figura 3.3.

Figura 3.3: Regra de erro adicionada

Essa regra nos d´a uma porcentagem de 5,75% de exemplos que tiveram algum problema em sua execu¸c˜ao. Com a adi¸c˜ao de tal regra necessitamos fazer uma atualiza¸c˜ao na consulta ao banco, a tabela resultante desta consulta ´e salva em um arquivo ‘.csv’. A Figura 3.4 ilustra a consulta final ao Banco de proveniˆencia.

Figura 3.4: Consulta final ao banco de dados

3.2

Divis˜

ao dos dados

Ap´os a extra¸c˜ao foi feita uma separa¸c˜ao dos dados em 5 conjuntos de arquivos sendo um com 1/5 dos exemplos que ser˜ao utilizados para teste e outro com 4/5 para a base de aprendizado do WEKA. Essa divis˜ao foi feita 5 vezes com separa¸c˜ao dos casos de teste

(29)

com arquivos diferentes e com a preocupa¸c˜ao de manter uma quantidade proporcional de erros tanto na base quanto nos testes.

Este passo foi realizado para saber quais os dados exatos em cada arquivo e manter a proporcionalidade de casos de erro tanto na base quanto no arquivo teste. Esses dados ser˜ao utilizados para o aprendizado de maquina, arquivos base, e valida¸c˜ao do conheci-mento adquirido, arquivos teste.

O m´etodo de valida¸c˜ao cruzada (Cross Validation) [40] ´e um m´etodo largamente utilizado para valida¸c˜ao do conhecimento adquirido na minera¸c˜ao de dados. Este m´etodo est´a dispon´ıvel no WEKA e tamb´em ser´a utilizado para fins comparativos.

3.3

Convers˜

ao dos Arquivos

Um problema encontrado foi a utiliza¸c˜ao dos dados atrav´es do arquivo ‘.csv’. Isso ocorreu porque o WEKA precisa saber quais os poss´ıveis valores de cada atributo. Para resolvˆe-lo o arquivo ‘.csv’ foi convertido para o arquivo ‘.arff’ [68, 69] que ´e a extens˜ao nativa do WEKA.

Figura 3.5: Arquivo ARFF gerado a partir da Extra¸c˜ao

O arquivo ‘.arff’ cont´em duas partes distintas. A primeira ´e o cabe¸calho e a segunda os dados. O cabe¸calho ´e composto pelo nome da rela¸c˜ao e a lista de atributos, assim como

(30)

19 seu tipo ou valores. J´a os dados s˜ao formatados como um arquivo ‘.csv’, atributos de uma mesma instˆancia separados por v´ırgula respeitando a ordem em que os atributos foram declaradas e cada instˆancia em uma linha. Na Figura 3.5 temos parte de um dos arquivos utilizados j´a convertidos.

Um fato importante a ser ressaltado ´e que foi necess´ario fazer a convers˜ao do arquivo completo antes da divis˜ao e copiar a lista de atributos deste para os arquivos divididos. Caso seja feita a convers˜ao de cada divis˜ao do arquivo, nem todos os valores dos atributos ser˜ao definidos na base, fazendo com que a inferˆencia no conjunto de teste tenha um erro de compatibilidade.

3.4

Minera¸

ao com o WEKA

Ap´os a extra¸c˜ao, divis˜ao e convers˜ao dos dados se inicia o fase do aprendizado de m´aquina. A ferramenta escolhida para fazer o aprendizado foi o WEKA. Tal ferramenta foi escolhida por sua facilidade de uso, por ser desenvolvido em Java e por j´a ter em sua API v´arios classificadores famosos e largamente usados.

O WEKA utiliza classificadores para a cria¸c˜ao de padr˜oes. O aprendizado de m´aquina supervisionado ´e o que melhor representa o problema que tentamos solucionar. Este tipo de aprendizado se caracteriza pela obten¸c˜ao e identifica¸c˜ao de padr˜oes em dados existentes com o intuito de buscar estes mesmos padr˜oes em novos dados e induzir valores de atributo da classe. “Classe” ´e o nome do atributo que desejamos que seja premeditado. Para realizar esta pesquisa foi utilizada a interface gr´afica do WEKA, mais especi-ficamente o ambiente WEKA Explorer [2]. Ap´os essa escolha os dados foram adicionados. Antes de realizar o aprendizado foi utilizado um filtro n˜ao supervisionado presente no WEKA para embaralhar as instˆancias chamado Randomize. Este passo ´e necess´ario para diminuir a dependˆencia da ordem dos exemplos.

Ap´os a adi¸c˜ao dos dados s˜ao selecionados os classificadores. Os algoritmos testados foram todos do tipo Ensemble, ou seja, algoritmos que s˜ao compostos por um conjunto de classificadores. Os utilizados nesta monografia foram: Random Forest, Bagging e AdaBoostM1.

(31)

Cap´ıtulo 4

Avalia¸

ao Experimental

Neste cap´ıtulo ´e apresentado os resultados obtidos com a execu¸c˜ao do WEKA com os dados extra´ıdos da base de dados de proveniˆencia do SciCumulus de execu¸c˜oes do SciPhy.

A demonstra¸c˜ao dos resultados foi dividida em duas partes para cada algoritmo: 1. Valida¸c˜ao cruzada do WEKA;

2. Bases de 1 a 5 com seus respectivos testes.

As bases s˜ao utilizadas para garantir os mesmos conjuntos de testes, para ambos algoritmos, permitindo assim a compara¸c˜ao destes. A proporcionalidade das classes em cada conjunto de arquivo de base e teste tamb´em foi garantida.

A Figura 4.1 mostra os resultados das execu¸c˜oes. A primeira coluna desta tabela indica qual arquivo foi utilizado como base, sendo “base completa” a base extra´ıda do Banco de Dados demonstrado na se¸c˜ao 3.1 e as 5 bases seguintes s˜ao o resultado da divis˜ao da base completa feita na se¸c˜ao 3.2. A segunda coluna mostra qual o algoritmo de classifica¸c˜ao foi utilizado e a terceira sobre qual tipo de teste foi executado, sendo “Cross Validation 5 folds” a valida¸c˜ao cruzada do pr´oprio WEKA e nos 5 testes seguintes foi utilizado os arquivos correspondentes as bases tamb´em gerados na se¸c˜ao 3.2.

A quarta coluna indica a porcentagem de acerto entre as instancias classificadas como positiva e dentre estas as que s˜ao realmente positivas. A quinta a porcentagem de acerto das instancias classificadas como positivas sobre todas as instancias realmente positivas. F-measure faz a m´edia harmˆonica de Precision e Recall [70]. Root Mean Squared Erro (RMSE) ´e a medida do desvio das previs˜oes em rela¸c˜ao ao valor efetivo

(32)

21 (calculada como a raiz quadrada do desvio quadr´atico m´edio) [71]. Ao final temos a acur´acia de cada execu¸c˜ao e a media de acur´acia das bases e testes aqui criados.

Figura 4.1: Tabela de Resultados

Com esses resultados observamos uma pequena melhora nos arquivos divididos e nas suas m´edias de resultado. Esta m´edia simples foi feita para comparar com o resultado pelo teste de valida¸c˜ao cruzada com 5 arquivos do WEKA.

Pode-se observar pela tabela que o valor de precis˜ao n˜ao varia muito comparando os classificadores Bagging e RandomForest, por´em h´a uma divergˆencia maior na compa-ra¸c˜ao de ambos com o AdaBoostM1 principalmente quando utilizado o Cross Validation internamente implementado do WEKA. E essa varia¸c˜ao pode ser vista na Acur´acia.

Foram usadas as configura¸c˜oes padr˜ao do WEKA para cada classificador. Espe-cialmente no Random Forest foram modificadas algumas dessas configura¸c˜oes, como o numero de intera¸c˜oes, a profundidade m´axima das ´arvores, n´umero de slots de execu¸c˜ao e porcentagem do tamanho do conjunto de treinamento, i.e, por´em sem nenhuma melhora significativa.

Nas Figuras 4.2 e 4.3 temos a m´edia da Matriz de Confus˜ao das 5 bases criadas para os algoritmos AdaBoostM1, Bagging e Random Forest. Ela ´e composta por 2 colunas na primeira temos os casos classificados como falso (‘f’,sem erro) e na segunda os casos classificados como verdadeiro (‘t’, com erro), sendo que na primeira linha temos os casos realmente falsos e na segunda os casos realmente verdadeiros. Na diagonal principal temos as instancias que foram classificadas de forma correta.

Em nenhum dos casos houve casos de falso positivo. Isto foi observado em cada matriz de confus˜ao. O resultado das m´edias das matrizes do Bagging e Random Forest geraram a mesma matriz de confus˜ao. Os algoritmos n˜ao obtiveram nenhuma instˆ

(33)

an-Figura 4.2: M´edia Matriz de Confus˜ao AdaBoostM1

Figura 4.3: M´edia Matriz de Confus˜ao Bagging e Random Forest

cia classificada como ‘t’(verdadeiro) incorretamente. Isto ´e uma boa informa¸c˜ao pois se houvesse falso positivo eles nos induziria ao erro.

(34)

Cap´ıtulo 5

Conclus˜

ao

Com a evolu¸c˜ao da computa¸c˜ao e do poder computacional nas ´ultimas d´ecadas, inclusive com o advento de modelos de computa¸c˜ao mais acess´ıveis como a nuvem, nos per-mitiram executar experimentos cient´ıficos completamente baseados em simula¸c˜ao. Como tais experimentos s˜ao computacionalmente intensivos e podem executar durante dias ou semanas e produzem um grande volume de dados, podemos utilizar a minera¸c˜ao desses dados para gerar informa¸c˜oes importantes para o processo de forma a otimiz´a-lo.

Este estudo teve como objetivo a utiliza¸c˜ao da minera¸c˜ao de dados de proveniˆencia gerados pelo gerenciador de workflow cient´ıfico SciCumulus voltado para an´alises filogen´ e-ticas com o intuito de reduzir a ocorrˆencia de erros. Alguns problemas foram encontrados ao caminhar do projeto, por´em todos foram solucionados para atingirmos o objetivo deste. Observando os resultados obtidos, temos que a divis˜ao do banco de dados em 5 arquivos de forma a manter a proporcionalidade dos exemplos com erro e com acerto demonstrou uma melhora da acur´acia.

O classificador que tem a melhor acur´acia no exemplo utilizado foi o Random Forest, tanto nos arquivos divididos quanto na base de dados completa obteve mesma acur´acia de 99,5%. Em segundo lugar temos o Bagging que apesar de obter a mesma acur´acia que o Random Forest com os arquivos divididos teve uma acur´acia um pouco menor sobre a base completa. E em por ultimo o AdaBoost.

Com esses resultados sendo utilizados para pr´oximas execu¸c˜oes de workflows cien-tificos na ´area de Filogenia podemos esperar uma grande redu¸c˜ao do numero de falhas ocorridas, reduzindo assim o custo financeiro e otimizando seu processo.

Uma proposta futura para dar seguimento a este projeto ´e a integra¸c˜ao da

(35)

¸c˜ao de dados ao SciCumulus. A escolha do WEKA foi pensando nisso, pois ´e um software de c´odigo aberto e ambos s˜ao desenvolvidos em Java facilitando a integra¸c˜ao.

Uma outra proposta ´e a extens˜ao desse projeto para avaliar qual configura¸c˜ao de computadores para a execu¸c˜ao do workflow tende a ser mais eficiente e mais r´apida, tendo em vista o melhor custo beneficio.

(36)

Referˆ

encias Bibliogr´

aficas

[1] V. Silva, D. Oliveira, and M. Mattoso, “Scicumulus 2.0: Um sistema de gerˆencia de workflows cient´ıficos para nuvens orientado a fluxo de dados,” Sess˜ao de Demos do XXIX Simp´osio Brasileiro de Banco de Dados, 2014.

[2] I. H. Witten, E. Frank, M. A. Hall, and C. J. Pal, Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann, 2016.

[3] M. Mattoso, C. Werner, G. H. Travassos, V. Braganholo, E. Ogasawara, D. Oliveira, S. Cruz, W. Martinho, and L. Murta, “Towards supporting the life cycle of large scale scientific experiments,” International Journal of Business Process Integration and Management, vol. 5, no. 1, pp. 79–92, 2010.

[4] E. Deelman, D. Gannon, M. Shields, and I. Taylor, “Workflows and e-science: An overview of workflow system features and capabilities,” Future Generation Computer Systems, vol. 25, no. 5, pp. 528–540, 2009.

[5] I. J. Taylor, E. Deelman, D. B. Gannon, and M. Shields, “Workflows for e-science: Scientific workflows for grids,” 2006.

[6] D. C. M. de Oliveira, “Uma abordagem de apoio `a execu¸c˜ao paralela de workflows cient´ıficos em nuvens de computadores,” Ph.D. dissertation, Universidade Federal do Rio de Janeiro, 2012.

[7] A. Stevenson, Oxford dictionary of English. Oxford University Press, USA, 2010. [8] G. H. Travassos and M. O. Barros, “Contributions of in virtuo and in silico

experi-ments for the future of empirical studies in software engineering,” in 2nd Workshop on Empirical Software Engineering the Future of Empirical Studies in Software En-gineering, 2003, pp. 117–130.

(37)

[9] K. A. Oca˜na, D. de Oliveira, E. Ogasawara, A. M. D´avila, A. A. Lima, and M. Mat-toso, “Sciphy: a cloud-based workflow for phylogenetic analysis of drug targets in protozoan genomes,” in Brazilian Symposium on Bioinformatics. Springer, 2011, pp. 66–70.

[10] M. Lemos, M. A. Casanova, L. F. B. Seibel, J. A. F. de Macedo, and A. B. de Mi-randa, “Ontology-driven workflow management for biosequence processing systems,” in International Conference on Database and Expert Systems Applications. Springer, 2004, pp. 781–790.

[11] C. de Almeida-Neto, J. Liu, D. J. Wright, A. Mendrone-Junior, P. L. Takecian, Y. Sun, J. E. Ferreira, D. de Alencar Fischer Chamone, M. P. Busch, and E. C. Sa-bino, “Demographic characteristics and prevalence of serologic markers among blood donors who use confidential unit exclusion (cue) in s˜ao paulo, brazil: implications for modification of cue polices in brazil,” Transfusion, vol. 51, no. 1, pp. 191–197, 2011. [12] T. T. Goncalez, E. C. Sabino, L. Capuani, J. Liu, D. J. Wright, J. H. Walsh, J. E. Ferreira, D. A. Chamone, M. P. Busch, and B. Custer, “Blood transfusion utiliza-tion and recipient survival at hospital das clinicas in sao paulo, brazil,” Transfusion, vol. 52, no. 4, pp. 729–738, 2012.

[13] G. M. Patavino, C. de Almeida-Neto, J. Liu, D. J. Wright, A. Mendrone-Junior, M. I. L. Ferreira, A. B. de Freitas Carneiro, B. Custer, J. E. Ferreira, M. P. Busch et al., “Number of recent sexual partners among blood donors in brazil: associations with donor demographics, donation characteristics, and infectious disease markers,” Transfusion, vol. 52, no. 1, pp. 151–159, 2012.

[14] E. C. Sabino, T. T. Gon¸calez, A. B. Carneiro-Proietti, M. Sarr, J. E. Ferreira, D. A. Sampaio, N. A. Salles, D. J. Wright, B. Custer, and M. Busch, “Human immunodefi-ciency virus prevalence, incidence, and residual risk of transmission by transfusions at retrovirus epidemiology donor study-ii blood centers in brazil,” Transfusion, vol. 52, no. 4, pp. 870–879, 2012.

[15] L. Carvalho, “Application of scientific workflows in the design of offshore systems for oil production (in portuguese). coppe-federal university of rio de janeiro,” Civil Engineering Department, 2009.

(38)

27 [16] W. Martinho, E. Ogasawara, D. Oliveira, F. Chirigati, I. Santos, G. Travassos, and M. Mattoso, “A conception process for abstract workflows: an example on deep water oil exploitation domain,” in 5th IEEE International Conference on e-Science, 2009. [17] E. Ogasawara, J. Dias, D. Oliveira, F. Porto, P. Valduriez, and M. Mattoso, “An

algebraic approach for data-centric scientific workflows,” Proc. of VLDB Endowment, vol. 4, no. 12, pp. 1328–1339, 2011.

[18] E. Ogasawara, D. de Oliveira, F. Chirigati, C. E. Barbosa, R. Elias, V. Braganholo, A. Coutinho, and M. Mattoso, “Exploring many task computing in scientific work-flows,” in Proceedings of the 2nd Workshop on Many-Task Computing on Grids and Supercomputers. ACM, 2009, p. 2.

[19] T. Hey, S. Tansley, K. M. Tolle et al., The fourth paradigm: data-intensive scientific discovery. Microsoft research Redmond, WA, 2009, vol. 1.

[20] A. G. Evsukoff, B. S. de Lima, and N. F. Ebecken, “Long-term runoff modeling using rainfall forecasts with application to the igua¸cu river basin,” Water resources management, vol. 25, no. 3, pp. 963–985, 2011.

[21] W. Aalst and K. v. Hee, “Workflow management: models, methods, and systems,” Cooperative information systems Show all parts in this series, 2002.

[22] A. Mattos, F. Silva, N. Ruberg, and M. Cruz, “Gerˆencia de workflows cient´ıficos: uma an´alise cr´ıtica no contexto da bioinform´atica,” COPPE/UFRJ, 2008.

[23] I. WfMC, “Binding, wfmc standards,” WFMC-TC-1023, http://www. wfmc. org, Tech. Rep., 2000.

[24] M. C. Cavalcanti, R. Targino, F. Bai˜ao, S. C. R¨ossle, P. M. Bisch, P. F. Pires, M. L. M. Campos, and M. Mattoso, “Managing structural genomic workflows using web services,” Data & Knowledge Engineering, vol. 53, no. 1, pp. 45–74, 2005. [25] S. B. Davidson and J. Freire, “Provenance and scientific workflows: challenges and

opportunities,” in Proceedings of the 2008 ACM SIGMOD international conference on Management of data. ACM, 2008, pp. 1345–1350.

(39)

[26] K. A. Oca˜na, D. De Oliveira, J. Dias, E. Ogasawara, and M. Mattoso, “Designing a parallel cloud based comparative genomics workflow to improve phylogenetic analy-ses,” Future Generation Computer Systems, vol. 29, no. 8, pp. 2205–2219, 2013. [27] E. Deelman, G. Singh, M. Livny, B. Berriman, and J. Good, “The cost of doing

science on the cloud: the montage example,” in Proceedings of the 2008 ACM/IEEE conference on Supercomputing. IEEE Press, 2008, p. 50.

[28] K. A. Oca˜na, V. Silva, D. de Oliveira, and M. Mattoso, “Data analytics in bioin-formatics: Data science in practice for genomics analysis workflows,” in e-Science (e-Science), 2015 IEEE 11th International Conference on. IEEE, 2015, pp. 322– 331.

[29] F. Costa, V. Silva, D. De Oliveira, K. Oca˜na, E. Ogasawara, J. Dias, and M. Mat-toso, “Capturing and querying workflow runtime provenance with prov: a practical approach,” in Proceedings of the Joint EDBT/ICDT 2013 Workshops. ACM, 2013, pp. 282–289.

[30] P. Groth and L. Moreau, “W3c prov-an overview of the prov family of documents,” 2013.

[31] J. Freire, D. Koop, E. Santos, and C. T. Silva, “Provenance for computational tasks: A survey,” Computing in Science & Engineering, vol. 10, no. 3, pp. 11–21, 2008. [32] I. Altintas, C. Berkley, E. Jaeger, M. Jones, B. Ludascher, and S. Mock, “Kepler: an

extensible system for design and execution of scientific workflows,” in Scientific and Statistical Database Management, 2004. Proceedings. 16th International Conference on. IEEE, 2004, pp. 423–424.

[33] D. Hull, K. Wolstencroft, R. Stevens, C. Goble, M. R. Pocock, P. Li, and T. Oinn, “Taverna: a tool for building and running workflows of services,” Nucleic acids

rese-arch, vol. 34, no. suppl 2, pp. W729–W732, 2006.

[34] S. P. Callahan, J. Freire, E. Santos, C. E. Scheidegger, C. T. Silva, and H. T. Vo, “Vistrails: visualization meets data management,” in Proceedings of the 2006 ACM SIGMOD international conference on Management of data. ACM, 2006, pp. 745– 747.

(40)

29 [35] E. Deelman, G. Mehta, G. Singh, M.-H. Su, and K. Vahi, “Pegasus: mapping large-scale workflows to distributed resources,” in Workflows for e-Science. Springer, 2007, pp. 376–394.

[36] T. Fahringer, R. Prodan, R. Duan, F. Nerieri, S. Podlipnig, J. Qin, M. Siddiqui, H.-L. Truong, A. Villazon, and M. Wieczorek, “Askalon: A grid application development and computing environment,” in Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing. IEEE Computer Society, 2005, pp. 122–131.

[37] 2017. [Online]. Available: http://michaelis.uol.com.br/busca?id=5Bo7k

[38] C. Goble, C. Wroe, and R. Stevens, “The mygrid project: services, architecture and demonstrator,” in Proc. of the UK e-Science All Hands Meeting, 2003, pp. 595–602. [39] S. M. S. da Cruz, M. L. M. Campos, and M. Mattoso, “Towards a taxonomy of pro-venance in scientific workflow management systems,” in 2009 Congress on Services-I. IEEE, 2009, pp. 259–266.

[40] J. Han, J. Pei, and M. Kamber, Data mining: concepts and techniques. Elsevier, 2011.

[41] M. Abernethy, “Minera¸c˜ao de dados com weka, parte 1: Introdu¸c˜ao e regress˜ao,” IBM, Tech. Rep., 2010. [Online]. Available: http://www.ibm.com/developerworks/ br/opensource/library/os-weka1/

[42] T. M. Mitchell, “Machine learning,” Mc G raw ill.(forthcoming), 1997.

[43] T. G. Dietterich, “Ensemble methods in machine learning,” in International workshop on multiple classifier systems. Springer, 2000, pp. 1–15.

[44] D. A. F. Merjildo et al., “Algoritmo adaboost robusto ao ru´ıdo: aplica¸c˜ao `a detec¸c˜ao de faces em imagens de baixa resolu¸c˜ao,” 2013.

[45] R. E. Schapire and Y. Singer, “Improved boosting algorithms using confidence-rated predictions,” Machine learning, vol. 37, no. 3, pp. 297–336, 1999.

[46] L. Breiman, “Bagging predictors,” Machine learning, vol. 24, no. 2, pp. 123–140, 1996. [47] ——, “Random forests,” Machine Learning, vol. 45, pp. 5–32, 2001.

(41)

[48] R. E. Schapire, “The strength of weak learnability,” Machine learning, vol. 5, no. 2, pp. 197–227, 1990.

[49] C. M. Bishop, “Pattern recognition,” Machine Learning, vol. 128, 2006.

[50] Y. Freund and R. E. Schapire, “A desicion-theoretic generalization of on-line learning and an application to boosting,” in European conference on computational learning theory. Springer, 1995, pp. 23–37.

[51] ——, “Large margin classification using the perceptron algorithm,” Machine Lear-ning, vol. 37, pp. 277–296, 1999.

[52] T. K. Ho, “The random subspace method for constructing decision forests,” IEEE transactions on pattern analysis and machine intelligence, vol. 20, no. 8, pp. 832– 844, 1998.

[53] F. A. Diniz, F. M. M. Neto, F. d. C. L. J´unior, and L. M. O. Fontes, “Redface: um sistema de reconhecimento facial baseado em t´ecnicas de an´alise de componentes principais e autofaces,” Revista Brasileira de Computa¸c˜ao Aplicada, vol. 5, no. 1, pp. 42–54, 2013.

[54] C. D. C. Lorenzett and A. V. Tel¨ocken, “Estudo comparativo entre os algoritmos de minera¸c˜ao de dados random forest e j48 na tomada de decis˜ao.”

[55] J. A. Eisen and C. M. Fraser, “Phylogenomics: intersection of evolution and geno-mics,” Science, vol. 300, no. 5626, p. 1706, 2003.

[56] M. Zvelebil and J. Baum, Understanding bioinformatics. Garland Science, 2007. [57] 2017. [Online]. Available: https://commons.wikimedia.org/wiki/File:Phylogenetic

tree.svg

[58] Z. Yang, “Maximum likelihood phylogenetic estimation from dna sequences with vari-able rates over sites: approximate methods,” Journal of Molecular evolution, vol. 39, no. 3, pp. 306–314, 1994.

[59] K. Katoh and H. Toh, “Recent developments in the mafft multiple sequence alignment program,” Briefings in bioinformatics, vol. 9, no. 4, pp. 286–298, 2008.

(42)

31 [60] T. Lassmann and E. L. Sonnhammer, “Kalign–an accurate and fast multiple sequence

alignment algorithm,” BMC bioinformatics, vol. 6, no. 1, p. 1, 2005.

[61] J. D. Thompson, D. G. Higgins, and T. J. Gibson, “Clustal w: improving the sensiti-vity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice,” Nucleic acids research, vol. 22, no. 22, pp. 4673–4680, 1994.

[62] R. C. Edgar, “Muscle: multiple sequence alignment with high accuracy and high throughput,” Nucleic acids research, vol. 32, no. 5, pp. 1792–1797, 2004.

[63] C. B. Do, M. S. Mahabhashyam, M. Brudno, and S. Batzoglou, “Probcons: Proba-bilistic consistency-based multiple sequence alignment,” Genome research, vol. 15, no. 2, pp. 330–340, 2005.

[64] D. Gilbert, “Sequence file format conversion with command-line readseq,” Current Protocols in Bioinformatics, pp. A–1E, 2003.

[65] T. M. Keane, C. J. Creevey, M. M. Pentony, T. J. Naughton, and J. O. Mclnerney, “Assessment of methods for amino acid matrix selection and their use on empirical data shows that ad hoc assumptions for choice of matrix are not justified,” BMC evolutionary biology, vol. 6, no. 1, p. 1, 2006.

[66] A. Stamatakis, “Raxml-vi-hpc: maximum likelihood-based phylogenetic analyses with thousands of taxa and mixed models,” Bioinformatics, vol. 22, no. 21, pp. 2688– 2690, 2006.

[67] J. Felsenstein, “Phylip-phylogeny inference package (version 3.2),” Cladistics, vol. 5, pp. 164–166, 1989.

[68] 2002. [Online]. Available: http://www.cs.waikato.ac.nz/ml/weka/arff.html [69] 2016. [Online]. Available: http://ikuz.eu/csv2arff/

[70] 2017. [Online]. Available: https://en.m.wikipedia.org/wiki/Precision and recall [71] 2017. [Online]. Available: http://www.linguee.com/english-portuguese/translation/

Referências

Documentos relacionados

A presente investigação teve como objetivo geral o estudo dos fatores de risco e de proteção internos e externos utilizados perante a violência social, nomeadamente o bullying

F REQUÊNCIAS PRÓPRIAS E MODOS DE VIBRAÇÃO ( MÉTODO ANALÍTICO ) ... O RIENTAÇÃO PELAS EQUAÇÕES DE PROPAGAÇÃO DE VIBRAÇÕES ... P REVISÃO DOS VALORES MÁXIMOS DE PPV ...

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

Pode haver alguns acordos prévios, como visto na classificação proposta em trabalho anterior (GUERRERO, 2006), mas estes são propostos sempre mantendo elevado

A proposta desta pesquisa objetivou desenvolver o estudante para realizar a percepção sobre o estudo da complexidade do corpo humano, onde o educando teve oportunidade

O trabalho tem como objetivo elucidar a importância do brincar para as crianças, do contato delas com a natureza, de sua ação de ocupar espaços públicos na cidade, como praças e

Objetivou-se com este estudo avaliar a qualidade de leite pasteurizado com inspeção estadual pela pesquisa de estafilococos coagulase positiva, sua

For additional support to design options the structural analysis of the Vila Fria bridge was carried out using a 3D structural numerical model using the finite element method by