scieee Open visual document viewer

Plataforma para Data Mining Colaborativo

Hugo Filipe da Silva Matos

Abstract

Investigadores de Data Mining utilizam, em geral, um conjunto de algoritmos para analisar os diversos conjuntos de dados com que trabalham. Acresce ainda que estes investigadores, obtêm resultados das análises que fazem, produzem artigos científicos e muitas vezes estão envolvidos em equipas de projectos de investigação. Em todos estes aspectos da investigação em Data Mining se produz uma grande quantidade de informação que pode ser relevante para outros investigadores. Será pois extremamente vantajoso para a comunidade se cada investigador permitir o acesso (controlado) aos seus dados, resultados de experiências, algoritmos, artigos e mesmo recursos computacionais. Este trabalho de mestrado pretende desenvolver uma plataforma que permita tanto a partilha de informação valiosa para a comunidade de Data Mining como a facilitação de trabalho colaborativo em grandes projectos.

Full text

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Pla a o ma pa a Da a Mining Colabo a i o Hugo Filipe da Sil a Ma os Mes ado In eg ado em Engenha ia In o má ica e Compu ação O ien ado : Rui Camacho (FEUP) 25 de Julho de 2016 Pla a o ma pa a Da a Mining Colabo a i o Hugo Filipe da Sil a Ma os Mes ado In eg ado em Engenha ia In o má ica e Compu ação Ap o ado em p o as públicas pelo Jú i: P esiden e: C is ina Ribei o (FEUP) A guen e: Benedi a Malhei o (ISEP) Vogal: Rui Camacho (FEUP) 25 de Julho de 2016 Abs ac Da a Mining p ac ione s use, in gene al, a se o algo i hms o analyze he a ious da ase s hey wo k wi h. I is also equen ha Da a Mining p ac ione s, in a simple s udy, y ou se e al algo i hms and un hem wi h di e en pa ame e combina ions. In sho , Da a Mining p ac ione s gene a es a lo o da a ha may be use ul o sha e wi h o he s. They a e also, some imes, in ol ed in esea ch eams. In all hese Da a Mining in es iga ion aspec s, a la ge quan i y o in o ma ion is p oduced and can be ele an o o he esea che s. I is hen ex emely ad an ageous o he communi y i each in es iga o allows he access(con olled by himsel ) o his da a, expe ience e- sul s, algo i hms, pape s and e en compu a ional esou ces. This hesis p oposes a pla o m which allows sha ing aluable in o ma ion o he Da a Mining communi y as i acili a es collabo a i e wo k in big p ojec s. i ii Resumo P a ican es de Da a Mining u ilizam, em ge al, um conjun o de algo i mos pa a analisa os di e sos conjun os de dados com que abalham. Ac esce ainda que p a ican es de Da a Mining, num es udo simples, expe imen am á ios algo i mos e execu am es es com á ias combinações di e en es de pa âme os. Em suma, p a ican es de Da a Mining ge am eno mes quan idades de dados que podem se ú eis ao se em pa ilhados com ou os. Es es, po ezes, es ão en ol idos em equipas de in es igação. Em odos es es aspec os da in es igação em Da a Mining se p oduz uma g ande quan idade de in o mação que pode se ele an e pa a ou os in es igado es. Se á pois ex emamen e an ajoso pa a a comunidade se cada in es igado pe mi i o acesso (con olado) aos seus dados, esul ados de expe iências, algo i mos, a igos e mesmo ecu sos compu acionais. Es e abalho de mes ado p e ende desen ol e uma pla a o ma que pe mi a an o a pa ilha de in o mação aliosa pa a a comunidade de Da a Mining como a acili ação de abalho colabo a i o em g andes p ojec os. iii i Ag adecimen os Os meus ag adecimen os ão, em p imei o luga , pa a o meu o ien ado , o p o esso Rui Ca- macho, pela sua disponibilidade e ajuda ao longo de odo o desen ol imen o. Em segundo luga , ag adeço aos meus amigos que semp e es i e am p esen es, e ao meu lado, ao longo de oda es a caminhada que culminou nes a disse ação. Po im, ag adeço à minha amília po e p o idenciado com udo o que eu p ecisei pa a a ingi es e obje i o. Hugo Ma os LISTA DE FIGURAS xii Lis a de Tabelas 2.1 py pdlib s p o pd compa ação de benchma ks . . . . . . . . . . . . . . . . . . 17 xiii LISTA DE TABELAS xi Ab e ia u as e Símbolos ANN A i icial Neu al Ne wo k API Applica ion P og amming In e ace CPU Cen al P ocessing Uni CRISP-DM C oss Indus y S anda d P ocess o Da a Mining DCMES Dublin Co e Me ada a Elemen Se DM Da a Mining DT Decision T ees FTP File T ans e P o ocol GUI G aphical Use In e ace HTML Hype Tex Ma kup Language HTTP Hype ex T ans e P o ocol ILP Induc i e Logic P og amming IP In e ne P o ocol JSON Ja aSc ip Objec No a ion KDD Knowledge Disco e y Da abase k-NN k-Nea es Neighbo s ML Machine Lea ning MVC Model View Con olle P2P Pee o Pee RAM Random Access Memo y REST Rep esen a ional S a e T ans e RF Random Fo es SVM Suppo Vec o Machine URL Uni o m Resou ce Loca o URN Uni o m Resou ce Name XML eX ensible Ma kup Language WS Web Se ice x Capí ulo 1 In odução Es a disse ação inse e-se na á ea de Da a Mining(DM)1colabo a i o, ocando-se na c iação duma pla a o ma ino ado a que pe mi a a pa ilha de ecu sos, en e in es igado es elacionados com es a á ea de es udo, p ocu ando o na o abalho do u ilizado de DM mais e icien e. 1.1 Con ex o/Enquad amen o O abalho colabo a i o é, a ualmen e, uma me odologia ex emamen e ele an e pa a o desen- ol imen o cien í ico e emp esa ial. A colabo ação pe mi e a en abilização de ecu sos, pa ilha de expe iências que, po im, le am à ab e iação da p odução de esul ados. Embo a haja hoje em dia ecnologias de ídeo con e ência que pe mi em e i a as euniões p esenciais e assim eduzi cus os do abalho colabo a i o es as êm limi ações, sob e udo pa a colabo ações en ol endo ele ado núme o de pa icipan es. Algumas des an agens incluem: ob i- gação de de ini uma da a/ho á io comum a indi íduos que mui as ezes êm ho á io já p een- chidos; disponibiliza ins alações (como salas de eunião) pa a um g ande núme o de indi íduos, e c. P oje os de DM eque em, ge almen e, g andes quan idades de dados de á ios ipos e en ol- em uma sé ie de ope ações pa a os analisa . Po ezes, é necessá ia a pa ilha dos mesmos en e um g upo de abalho ou pa icipan es no p oje o. No en an o, exis e a di iculdade de man e um egis o a ualizado sob e quais dados que es ão a se abalhados, e po quem os es á a abalha . O abalho p opos o consis e em desen ol e uma pla a o ma compu acional que pe mi a a ealização de abalho colabo a i o em p oje os de DM. 1Da a Mining é uma das ases do p ocesso comple o da análise de dados conhecido po Knowlegde Disco e y in Da abases(KDD). É ulga , na li e a u a, KDD e DM se em usados de modo equi alen e. Nes a disse ação, semp e que não o necessá io dis ingui os dois e mos, usa emos o e mo DM pa a de ini , an o o p ocesso comple o de análise de dados, como a pa e onde são cons uídos os modelos pa a dados 1 In odução 1.2 Mo i ação e Obje i os O p incipal obje i o des e abalho é o desenho e a implemen ação de uma pla a o ma compu- acional pa a abalho colabo a i o em DM. A pla a o ma se á baseada em Web se ices, pe mi i á oca segu a de in o mações e dados usando pedidos c edenciados, de inição de uma á ea de da- dos p i ada e ou a pública, mo o es de busca de in o mação e pa ilha de ecu sos compu acionais en e os colabo ado es. Sendo que, a ualmen e, não exis e nenhuma ou a pla a o ma o ien ada pa a es e ipo de a- balho. A me odologia pa a a p ossecução dos obje i os consis e em p imei o luga , numa análise do es ado da a e ela i o ao desen ol imen o da pla a o ma colabo a i a no âmbi o do DM. De seguida, a especi icação das uncionalidades da pla a o ma a desen ol e , complemen ando com uma p opos a duma a qui e u a pa a a pla a o ma. Po im, a implemen ação do p o ó ipo e o es e da pla a o ma usando um caso de es udo. 1.3 Es u u a da Disse ação Pa a além da in odução, es a disse ação con ém mais 4 capí ulos. No Capí ulo 2são ap e- sen ados os concei os, e minologias, e amen as e abalhos elacionados com o ema da ese. No Capí ulo 3é ap esen ada a desc ição da solução do p oblema. No Capí ulo 4são ap esen a- dos casos de es udo. No Capí ulo 5conclui-se a disse ação, suma izando os esul ados ob idos e p opondo abalho u u o 2 Capí ulo 2 Concei os e ecnologia em Da a Mining Os P oje os de Da a Mining (DM) eque em no malmen e um es udo p é io do p oblema a esol e e a ecolha, a amen o e análise dos dados. O obje i o é iden i ica ou cons ui , a pa i dos dados, conhecimen o que seja ú il pa a o u ilizado inal. Com o c escimen o e ape eiçoamen o da ecnologia de ecolha de dados, di e si icando os disposi i os, senso es, o ma os di e en es, maio núme o de aplicações, a quan idade de dados ecolhida e a mazenada é hoje imensa e eque écnicas so is icadas de ecolha e p ocessamen o desses dados[FB13]. O DM não se ia possí el sem g andes conjun os de dados e Big Da a es á di e amen e elaci- onada com as aplicações de DM. 2.1 Da a Mining O DM é um p ocesso que se e e e à ex ação, de conhecimen o a a és de g andes conjun os de dados [HK06]. O DM ambém ep esen a uma o ma de esol e p oblemas usando dados, sendo conside ado no malmen e uma a i idade c ia i a. Sendo pa ecida com p á icas de desco- be a cien í ica e usando écnicas como indução, com o obje i o de p opo hipó eses, que ajudem à pe ceção do p oblema e inalmen e, à chegada a uma solução [Moy05]. O p ocesso de DM é po ezes designado Knowledge Disco e y in Da abases (KDD), e é cons i uído po á ias ases: seleção, p é-p ocessamen o, ans o mação, cons ução de modelos, in e p e ação [FU96]. Um exemplo pode se is o na igu a 2.1. Exis em inúme os sis emas de DM e es es podem se classi icados de aco do com os ipos de dados analisados, ipos de conhecimen o a se adqui ido ou pelas écnicas u ilizadas [HK06]. C oss Indus y S anda d P ocess o Da a Mining OC oss Indus y S anda d P ocess o Da a Mining, CRISP-DM, é uma me odologia de DM que desc e e abo dagens ge almen e usadas po especialis as em DM. Um diag ama do p ocesso CRISP-DM pode se is o na igu a 2.2. 3 Concei os e ecnologia em Da a Mining Figu a 2.1: Da a Mining como um p ocesso de descobe a de conhecimen o [HK06] Es e p ocesso em as seguin es ases [Wik16a]: •En ende o Negócio: oca no en endimen o e especi icação dos obje i os do p oje o a pa i de uma pe spe i a de negócios, de inindo um plano p elimina pa a a ingi os obje i os. •En ende os Dados: ecolhimen o de dados e início de a i idades pa a amilia ização com os dados, iden i icando p oblemas ou conjun os in e essan es. •P epa a dos Dados: cons ução do conjun o de dados inal a pa i dos dados iniciais. No - malmen e oco e á ias ezes no p ocesso. •Modela : á ias écnicas de cons ução de modelos são aplicadas, e os seus pa âme os calib ados pa a o imização. Assim, é comum e o na à P epa ação dos Dados du an e es a ase. •A aliação: no passo an e io é cons uído um modelo com g ande qualidade de uma pe spe- i a de análise de dados. No en an o, é necessá io e i ica se o modelo a inge os obje i os do negócio. •Desen ol imen o: o conhecimen o adqui ido pelo modelo é o ganizado e ap esen ado de uma manei a que o clien e possa u iliza . Tipos de a e as de DM As a e as mais impo an es em DM são[MR11]: •Ap endizagem supe isionada, quando são conhecidas as a iá eis de ou pu (classes) do da ase , incluindo: 4 Concei os e ecnologia em Da a Mining Figu a 2.2: Diag ama do p ocesso CRISP-DM [Wik16a] –Classi icação: p e isão das classes, ipicamen e as a iá eis de ou pu são p og ama- das de o ma a ge a em um núme o in ei o. –Classi icação uzzy: associações g aduais de alo es en e 0 e 1, aplicados a di e en es classes. –Reg essão: p edição das classes na o ma dum alo eal, incluindo casos especiais de p e isão de alo es numa sé io empo al a a és de alo es ecen es ou do passado. •Ap endizagem não supe isionada, quando não são conhecidas as a iá eis de ou pu do da ase , incluindo: –Clus e ing: encon a e desc e e g upos de exemplos semelhan es em dados usando algo i mos de clus e ing. –Associação: encon a g upos de i ems que oco em equen emen e jun os em exem- plos. •Ap endizagem semi-supe isionada, onde as a iá eis de ou pu são conhecidas apenas em alguns exemplos. Cada uma des as a e as consis e numa cadeia de a e as de baixo ní el. Além disso, algumas des as a e as a uam s and-alone, po exemplo, iden i icando, num da ase ex enso, elemen os que possuem um ní el de semelhança al o. Exemplos des as a e as de baixo ní el: •Limpeza de dados(e.g., de eção de uído); •Fil ação de dados; 5 Concei os e ecnologia em Da a Mining •Da a –A da a associada com a c iação ou disponibilidade do ecu so, no o ma o AAAA- MM-DD. •Tipo de ecu so –A ca ego ia do ecu so po exemplo, homepage, omance, poema, wo king pape , ela ó io écnico, edação, dicioná io. •Fo ma o –O o ma o dos dados e, opcionalmen e, dimensões(ex., amanho, du ação) do ecu so. O o ma o é usado pa a iden i ica o so wa e e possi elmen e o ha dwa e que pode á se necessá io pa a ap esen a ou ope a o ecu so. •Iden i icado –Uma s ing ou núme o usado pa a iden i ica unicamen e o ecu so. Exemplos pa a ecu sos incluem URLs e URNs. Ou os globalmen e-únicos iden i icado es, como o In e na ional S anda d Book Numbe s (ISBN) ou ou os nomes o mais são ambém candida os pa a es e elemen o. •Idioma –O idioma do con eúdo in elec ual do ecu so. •Cobe u a –As ca ac e ís icas empo ais ou espaciais do con eúdo in elec ual do ecu so. Cobe - u a espacial e e e-se a uma egião ísica, usando o nome desse luga ou as espe i as coo denadas. Cobe u a empo al e e e-se aos aspe os que de inem o ecu so e não à da a de c iação(sendo que es a in o mação pe ence ao elemen o Da a). A cobe - u a empo al é ipicamen e especi icada usando pe íodos de empo(ex., neolí ico) ou o mesmo o ma o de da a/ho a ecomendado pelo elemen o Da a. •Di ei os –Uma decla ação de di ei os, um iden i icado que liga a uma decla ação de di ei os, ou um iden i icado que liga a um se iço que o nece in o mação sob e os di ei os do ecu so. Exemplo: Ti le=”Me ada a example” C ea o =”Ma os, Hugo” C ea o =”Sil a, Filipe” Subjec =”me ada a” 12 Concei os e ecnologia em Da a Mining Desc ip ion=”P esen s an example o a me ada a schema.” Publishe =”FEUP P ess” Da e=”2016-06" Type=”Tex ” Fo ma =”applica ion/pd ” Iden i ie =”h p://www.web.o g/ s anda ds/ esou ces/me ada a.pd ” Language=”en” Os obje i os que mo i a am a c iação des e ocabulá io o am[WKLW98]: •Simplicidade de c iação e manu enção •Semân ica de en endimen o ge al •Con o midade com os s anda ds exis en es e que ainda es ão a eme gi •Aplicabilidade e âmbi o in e nacionais •Ex ensibilidade •In e ope abilidade en e sis emas de coleções e de indexação 2.3 Web se ices Um Web se ice (WS) é um se iço o e ecido po um disposi i o, pa a ou o disposi i o, comunicando en e si pela Wo ld wide web. Num WS, ecnologias Web como HTTP, no mal- men e usadas pa a comunicação humano-máquina, são en ão usadas pa a comunicações máquina- máquina, mais especi icamen e pa a ans e i ichei os em o ma os como XML ou JSON. Na p á ica, o WS o nece uma in e ace Web-based o ien ada a obje os pa a uma base de dados, u ili- zada po exemplo, po ou o WS ou uma aplicação mobile, o necendo uma in e ace ao u ilizado inal24. 2.3.1 Web API Uma Web API é um conjun o de p o ocolos, o inas e e amen as pa a cons ui so wa e e aplicações. Um exemplo se ia uma REST ul Web API, es a é acessí el ia HTTP, incluindo clien es HTTP como b owse s e disposi i os mó eis. Como es es não execu am an as con e sões de dados como um WS no mal, endem a se mais ápido e áceis de implemen a . 2.4 Web F amewo k Uma amewo k pa a aplicações Web é uma amewo k de so wa e designado pa a supo a o desen ol imen o de si es Web dinâmicos, aplicações Web e se iços Web. A amewo k des ina- se a ali ia a sob eca ga associada a a i idades comuns ealizadas em desen ol imen o Web. Po 24h ps://en.wikipedia.o g/wiki/Web-se ice 13 Concei os e ecnologia em Da a Mining Figu a 2.3: Diag ama duma API disponí el an o no lado do clien e e do se ido [Wik16b] exemplo, mui as amewo ks o necem biblio ecas pa a acesso à banco de dados, amewo ks de modelaçã e ges ão de sessão, e ge almen e p omo em a eu ilização de código25. Uma aplicação Web usa uma combinação de, uma aplicação de se ido HTTP, um mecanismo de a mazenamen o como uma base de dados, um mo o de empla es, um dispa che de pedidos e módulos de au en- icação. Es es componen es podem se c iados indi idualmen e ou compiladas numa amewo k de al o-ní el. As amewo ks Py hon de al o-ní el mais popula es são: Django Web F amewo k e web2py26. Django Web F amewo k Django[Dja13] é uma ull-s ack Web F amewo k em Py hon, open sou ce, de al o ní el que incen i a um desen ol imen o ápido e limpo, aliado a um design p agmá ico. Es a oi c iada po de elope s expe ien es, de o ma a eduzi as complicações do desen ol imen o Web, e.g., não epe i o mesmo código á ias ezes. As ca ac e ís icas p incipais des a amewo k são: •Rapidez de desen ol imen o •Ex as pa a o desen ol imen o •Segu ança •Escalabilidade •Ve sa ilidade Es a amewo k assen a sob e o pad ão de a qui e u a Model iew con olle (MVC) mas, endo em con a o o ma o da amewo k Django, é mui as ezes explicado pela o ma "model/ iew/ em- pla e"27. Django REST amewo k Es e módulo pe mi e c ia uma Web API na egá el que possibili a e e es a espos as JSON e os endpoin s da aplicação. Ou a das ca ac e ís icas é a acilidade de se ialiazação, ou seja, os 25h ps://p .wikipedia.o g/wiki/F amewo k-pa a-aplicacoes-Web 26h ps://wiki.py hon.o g/moin/WebF amewo ks 27h p:// einou . an ees.o g/weblog/2011/12/13/django-m c-explana ion.h ml 14 Concei os e ecnologia em Da a Mining se ialize s pe mi em que dados complexos, como que ies ou modelos Django, sejam con e idos pa a es u u as na i as de Py hon que depois são acilmen e o nados em JSON[Ch 14]. web2py Web2py28 é uma ull-s ack amewo k c iada pa a o desen ol imen o, em Py hon, de aplica- ções web-based e da abase-d i en po á eis. 2.5 Pad ão de a qui e u a MVC O pad ão MVC oi in oduzido com o ambien e de p og amação Small alk, de o ma a es u u- a aplicações in e a i as duma o ma modula . Como o nome indica, o pad ão MVC é decompos o em 3 componen es p incipais[GO11]. Figu a 2.4: Es e diag ama exempli ica uma elação ípica da a qui e u a MVC29. Model A componen e model in eg a essencialmen e o es ado da aplicação e as ope ações que podem muda esse es ado. A componen e model man ém ambém dependências das componen es iew e con olle , no i icando-as quando há mudanças de es ado. 28h p://www.web2py.com/ 29Desenhado com a e amen a h p://www.c ea ely.com 15 Concei os e ecnologia em Da a Mining View A componen e iew ap esen a a in o mação u ilizado numa in e ace GUI. Exis em múl iplas iews de di e en es ipos, que são in eg adas na aplicação de o ma a ap esen a iews di e en- es aos u ilizado es. Quando uma iew é a ualizada, essa é no i icada pela componen e model e pos e io men e pode pedi a essa componen e a in o mação que necessi a nesse momen o. Con olle A componen e con olle esponde às ações do u ilizado a a és da in e ace GUI. Es a é esponsá el po passa as ansações ao model pa a se em execu adas. Os con olado es de em exis i numa elação de 1-pa a-1 em co espondência com as iews. Quando um con olado e- cebe um inpu , es e é ep oduzido aos sub-con olado es p imei o, de o ma a que esse inpu seja p ocessado pelos ní eis mais baixos da hie a quia p imei o. 2.6 P o ocolo FTP FTP ou File T ans e P o ocol30 é uma o ma bas an e ápida e e sá il de ans e i ichei os, sendo uma das mais usadas na In e ne . Pode e e i -se an o ao p o ocolo quan o ao p og ama que implemen a es e p o ocolo (Se ido FTP, nes e caso, adicionalmen e apa ece em le as minús- culas, po in luência do p og ama de ans e ência de a qui os do Unix). Os dados são ans e idos num luxo con ínuo de by es. O p o ocolo de anspo e TCP o nece a iabilidade do p ocesso, ce i icando-se que odos os by es que não chegam ao des ino são een iados e pos e io men e e i ica se chega am co e amen e[Mos06]. py pdlib Py pdlib31 é uma biblio eca Py hon pa a a c iação de se ido es FTP duma o ma e icien e, escalá el e assínc ona, sendo a mais comple a disponí el em Py hon. Possui, na u almen e, as chamadas s anda d dum se ido FTP no mais. Pe mi e ambém a c iação de á ios ipo de au- en icações pa a o con olo de u ilizado es em Unix eWindows. Na abela 2.1 ep esen ada a compa ação de benchma ks en e py pdlib e a e amen a p o pd32. 30h ps://p .wikipedia.o g/wiki/File-T ans e -P o ocol 31h ps://gi hub.com/giampaolo/py pdlib 32h p://www.p o pd.o g/ 16 Concei os e ecnologia em Da a Mining Tabela 2.1: py pdlib s p o pd compa ação de benchma ks Benchma k Type py pdlib p o pd Speedup STOR (clien ->se e ) 585.90 MB/s 600.49 MB/s -0.02x RETR (se e ->clien ) 1652.72 MB/s 1524.05 MB/s +0.08 300 concu en clien s (connec , login) 0.19 s 9.98 s +51x STOR (1 ile wi h 300 idle clien s) 585.59 MB/s 518.55 MB/s +0.1x RETR (1 ile wi h 300 idle clien s) 1497.58 MB/s 1478.19 MB/s 0x 300 concu en clien s (RETR 10MB ile) 3.41 s 3.60 s +0.05x 300 concu en clien s (STOR 10MB ile) 8.60 s 11.56 s +0.3x 300 concu en clien s (QUIT) 0.03 s 0.39 s +12x 17 Concei os e ecnologia em Da a Mining 2.7 Pee - o-Pee Pee - o-Pee (P2P) é uma a qui e u a de edes de compu ado es onde cada um dos pon os ou nós da ede unciona an o como clien e quan o como se ido , pe mi indo a pa ilha de se iços e dados sem a necessidade de um se ido cen al33. "A compu ação pee - o-pee (P2P) em p omo ido uma g ande modi icação nos pad ões de uso da In e ne nos úl imos anos. Sua g ande an agem, em elação à compu ação clien e/se ido , é possibili a a colabo ação di e a en e os usuá ios, sem depende de se ido es adminis ados po e cei os"[RDC+04]. Na Figu as 2.5 e Figu a 2.6, podemos e as di e enças en e uma ede baseada em P2P e uma ede baseada num se ido cen al. Figu a 2.5: Diag ama duma ede baseada em P2P 34 Figu a 2.6: Diag ama duma ede baseada num se ido cen al 35 33h ps://p .wikipedia.o g/wiki/Pee - o-pee 34Desenhado com a e amen a h p://www.c ea ely.com 35Desenhado com a e amen a h p://www.c ea ely.com 18 Concei os e ecnologia em Da a Mining 2.8 Sumá io Pode-se conclui que o p oblema essencial é a al a duma pla a o ma pa a DM colabo a i o, como al, e após o es udo das p incipais ecnologias a se usadas, e i ica-se que exis e uma opo - unidade nes a á ea, aliando as ecnologias de WS e P2P, pa a a o mulação duma pla a o ma des- cen alizada. Ou o aspe o undamen al se ia a implemen ação de me adados na solução, de modo a ob e odas as an agens que es es o necem quando usados numa pla a o ma des e géne o. 19 Concei os e ecnologia em Da a Mining 20 Capí ulo 3 Pla a o ma pa a Da a Mining Colabo a i o 3.1 P oblema Exis e uma necessidade de c iação duma e amen a que pe mi a a pa ilha de ecu sos e i- cien e em p oje os de DM. Essa pla a o ma de e pe mi i a exis ência de um ambien e de co- labo ação em que os seus u ilizado es possam, não só gua da in o mação sob e o abalho de in es igação que ealizam, mas ambém pa ilhá-la e pode pesquisa e acede a con eúdos que es- ejam públicos na pla a o ma. Es e ambien e é ca ac e izado po se descen alizado, emo endo assim a necessidade dum se ido cen al e da exis ência dum adminis ado da ede. 3.2 Âmbi o da solução O desen ol imen o des a pla a o ma isa p incipalmen e que os seus u ilizado es sejam um g upo de in es igado es. Es es, encon ando-se na necessidade de pa ilha ecu sos num (ou á ios)p oje os na á ea de DM e es ando geog a icamen e sepa ados, se iam o segmen o de u ili- zado es que mais bene icia ia duma pla a o ma des e géne o. Des e modo, cada u ilizado i ia e o seu p óp io si e, bene iciando da opção de pode pesquisa na ede de u ilizado es, po ecu sos ú eis pa a o seu abalho a ual. Foi en ão desen ol ido um p o ó ipo pa a simula um uso eal da pla a o ma. 3.3 A qui e u a da solução A a qui e u a assen a sob e os seguin es concei os: •Se ido Web — Rep esen a a á ea de abalho do u ilizado e con ém o Web Se ice que es abelece comunicação en e os á ios si es •Base de dados — Rep esen a a base de dados do u ilizado ; 21 Pla a o ma pa a Da a Mining Colabo a i o Figu a 3.5: Algo i mos Figu a 3.6: Da ase s Figu a 3.7: Recu sos compu acionais 28 Pla a o ma pa a Da a Mining Colabo a i o Figu a 3.8: Resul ados de expe iências 29 Pla a o ma pa a Da a Mining Colabo a i o Desc ição dos a ibu os: • i le –Nome do ecu so ( em de se igual ao nome do ichei o) • ile –Fo eign key co esponden e ao ichei o ca egado na pla a o ma •owne –Pessoa que ez o upload •pub_da e –Da a do ca egamen o do ecu so •public –P i acidade do ichei o (0 ep esen a público, 1 ep esen a p i ado) Finalmen e exis e o modelo File( igu a 3.7): Figu a 3.9: Fichei os Desc ição dos a ibu os: •name –Nome do ichei o • o ma –Fo ma o do ichei o •size –Tamanho do ichei o 30 Pla a o ma pa a Da a Mining Colabo a i o •pa h –O igem do ichei o no ilesys em Não exis e o modelo "U ilizado "pois os u ilizado es são di e enciados pelo IP das suas má- quinas, que são con igu ados na mon agem da pla a o ma. Exis e, con udo, um adminis ado do si e -supe use . 3.4.3.1 Es u u a Redis A es u u a Redis oi c iada com o obje i o de aloja os me adados. Is o pois es a es u u a, além de se ca ac e izada po uma es u u a key -> alue, que é ideal pa a a ep esen ação dos me adados, pe mi e gua da g andes quan idades de dados man endo semp e empos ápidos de esc i a e lei u a sem ocupa quan idades de memó ia signi ica i a. Como al, oi necessá io c ia uma in eg ação da es u u a Redis com a amewo k Py hon - Django. Is o oi conseguido a a és de dois módulos: •Redis-py •Django-me ada a O módulo Redis-py se e de back-end, ou seja, pe mi e a comunicação en e as chamadas Py hon e o se ido Redis. O módulo Django-me ada a pe mi e en ão anexa me ada a aos modelos Django. Exemplo de anexação de me adados a um modelo no Lis ing 3.1: 1>>> om app.models impo A icle 2>>> a icle = A icle.objec s.ge ( i le=’ hesis’) 3>>> a icle.me ada a[’au ho ’] = ’Hugo Ma os’ Lis ing 3.1: Anexação de me adados a um modelo Exemplo de acesso aos me adados dum modelo no Lis ing 3.2: 1>>> a icle.me ada a[’au ho ’] 2Hugo Ma os Lis ing 3.2: Acesso aos me adados dum modelo 31 Pla a o ma pa a Da a Mining Colabo a i o Exemplo de emoção de me adados dum modelo no Lis ing 3.3: 1>>> del a icle.me ada a[’au ho ’] 2>>> a icle.me ada a[’au ho ’] 3T aceback (mos ecen call las ): 4... 5KeyE o : ’au ho ’ Lis ing 3.3: Remoção de me adados dum modelo 3.4.4 Se ido Web O se ido Web oi c iado usando a linguagem de p og amação Py hon. Es e es á assen e numa amewo k Web, Django. 3.4.4.1 F amewo k Web O Django o nece á ios ichei os base, de o ma a pe mi i a con igu ação da amewo k. Se ings No ichei o se ings, é ei a a con igu ação p incipal da pla a o ma: •São de inidos odos os módulos usados pela pla a o ma, sendo que é pe mi ida a adição de módulos ex e nos, po exemplo o Django REST F amewo k. •É con igu ada a base de dados a se usada, sendo que é pe mi ido uso de á ias bases de dados em simul âneo. •É ei a a decla ação do sis ema de o as da pla a o ma. •É con igu ada o caminho oo pa a ichei os es á icos e ambém o local onde é gua dada oda a media da pla a o ma. Models No ichei o models são decla ados os modelos de classes usados na pla a o ma. Es es modelos es ão explicados na Secção 3.4.1. U l No ichei o u ls es ão de inidas as odas as o as da pla a o ma pa a a ap esen ação de páginas Web. O con eúdo ap esen ado na página web, di ecionado pelas o as, é p ocessado pelas iews. 32 Pla a o ma pa a Da a Mining Colabo a i o Views No ichei o iews é p ocessada a in o mação que ai se ap esen ada na página Web, ou seja, são execu adas que ies à base de dados, a in o mação p o enien e é en ão p ocessada, se necessá- io e, po im, é e o nado um eques com a empla e (HTML) e as a iá eis que são compiladas nessa empla e. Nes e ichei o são p ocessados os o mulá ios exis en es na pla a o ma, al como as ans e ências de ichei os(download/upload). Po im, o módulo de pesquisa es á ambém de inido nes e ichei o. Templa es HTML Nas empla es HTML são p ocessadas as a iá eis p o enien es das iews, de modo a se em ap esen adas no o ma o desejado. Nas empla es oi usada a amewo k Boo s ap 31. A azão des a escolha de e-se p incipalmen e à sua e iciência na cons ução de empla es, já es ada em abalhos an e io es, mas ambém à sua popula idade, o que esul a numa g ande quan idade de in o mação. 3.4.4.2 REST ul API A REST ul API, oi concebida a a és da amewo k Django REST F amewo k. Is o pois e a necessá ia uma o ma de comunica , en e os á ios nós, o con eúdo exis en e em cada pla a o ma ins alada. Es a amewo k a a de se ializa os modelos Django exis en es na pla a o ma, con e endo- os em es u u as Py hon que são pos e io men e con e idas no o ma o JSON. To na-se en ão possí el acede ao con eúdo exis en e nos ou os nós, a a és dum pedido HTTP c edenciado, que e o na con eúdo JSON que é en ão gua dado e ap esen ado pelo nó que e e uou o pedido. O Lis ing 3.4 mos a con eúdo JSON ge ado pela API, nes e caso o pedido e e uado oi a lis a de a igos(nes e exemplo ha ia apenas um a igo na base de dados). 1h ps://gi hub.com/ wbs/boo s ap 33 Pla a o ma pa a Da a Mining Colabo a i o 1{ 2"coun ": 1, 3"nex ": null, 4"p e ious": null, 5" esul s": [ 6{ 7" i le": "Pee - o-pee _colab.pd ", 8"owne ": " an", 9"pub_da e": "2016-06-23T01:39:47Z", 10 "public": 0, 11 "keys": "[ "publishe ", "desc ip ion ", "language ", "c ea o ", " co e age ", "da e ", "iden i ie ", " ype ", "subjec "]", 12 " alues": "[ "Minicu so, Simp u00 3sio B asilei o de Redes de Compu a ", "Pee - o-pee (P2P) compu ing has been p omo ing a subs an ial change in he usage pa e ns o he In e ne in he las yea s. I s mos impo an ad an age, compa ed o clien /se e compu ing, is maki ", "p ", "Rocha, Jo u00e3o Domingues, Ma co Callado, A hu Sou o ", "- ", "2014-06-23 ", "- ", "A icle ", "Pee - o-pee : Compu a u00e7 u00e3o colabo a i a na in e ne "]" 13 } 14 ] 15 } Lis ing 3.4: Respos a JSON ge ada po um pedido de a igos Pa a adiciona es e con eúdo JSON à pla a o ma, e eco endo à biblio eca u l2lib2é ei o um eques c edenciado ao URL que con ém o con eúdo. No código seguin e es á ep esen ado o código que e e ua essa mesma ação, sendo que a a iá el esul con ém o con eudo ep esen ado no Lis ing 3.5. 1_ eques = u llib2.Reques ("h p://46.101.97.251:8000/app/api/a icles.json") 2base64s ing = base64.encodes ing(’%s:%s’ % ("admin","admin")). eplace(’ n’, ’’) 3_ eques .add_heade ("Au ho iza ion", "Basic %s" % base64s ing) 4 esul = u llib2.u lopen(_ eques ) Lis ing 3.5: Exemplo de eques à API de ou a pla a o ma 3.4.5 Se ido FTP O se ido FTP oi c iado pa a lida com as ans e ências de ichei os en e nós. Es e oi c iado com a u ilização do módulo py pdlib. Es e se ido co e em backg ound, com a ajuda da lib py hon-daemon3, jun amen e com o se ido Web. 2h ps://docs.py hon.o g/2/lib a y/u llib2.h ml 3h p://pypi.py hon.o g/pypi/py hon-daemon 34 Pla a o ma pa a Da a Mining Colabo a i o Como al, quando é ei o pelo u ilizado , um pedido de ans e ência dum ichei o que es á num nó ex e no ao a ual, é ei o um pedido de ans e ência ao se ido FTP desse nó ex e no. De seguida, quando a ans e ência e mina, o ichei o é en ão se ido ao u ilizado que e e uou o pedido inicial. 3.5 Resumo e Conclusões Nes e capí ulo, é iden i icada a desc ição da pla a o ma, iden i icando assim odos os compo- nen es que ep esen am a solução. Além dis o, oi e e uada uma desc ição écnica po meno izada des as componen es de o ma a explica o uncionamen o do p o ó ipo desen ol ido. 35 Pla a o ma pa a Da a Mining Colabo a i o 36 Capí ulo 4 Caso de es udo 4.1 Obje i o O obje i o do caso de es udo é es a a pla a o ma duma o ma e e i a c iando um ambien e ela i amen e ealis a. No inal, é supos o e i a conclusões, ou seja, sob e a iabilidade da pla a- o ma pa a DM colabo a i o usada po um g upo de in es igado es. 4.2 Desc ição do caso O caso é es ado po dois in es igado es que es ão geog a icamen e sepa ados. Um in es iga- do london encon a-se em Lond es (Reino Unido) e o in es igado an encon a-se em F ank u (Alemanha). Como não hou e a possibilidade de es a com dois in es igado es, es e caso oi es ado po mim, usando em simul âneo dois se ido es geog a icamen e sepa ados (Lond es e F ank u ). Pa a o caso o am o necidos á ios documen os que os in es igado es ão coloca na pla a o ma. Es e documen os podem se conjun os de a igos, implemen ações de algo i mos, da ase s, ecu sos compu acionais e esul ados de expe iências. O p óximo passo é e i ica se a pla a o ma unciona de aco do com o especi icado na imple- men ação. Pa a al, é necessá io execu a uma sé ie de ações que cob em os obje i os p incipais de uso da pla a o ma. 37 Caso de es udo 44 Capí ulo 5 Conclusões e T abalho Fu u o 5.1 Conclusão Sendo que a á ea de es udo e in es igação em DM, uma á ea já bas an e desen ol ida, p in- cipalmen e na pa e da descobe a de conhecimen o, a pla a o ma desc i a nes a disse ação em o obje i o de p opo uma solução ino ado a ocando p incipalmen e o aspe o colabo a i o des a á ea. Es a solução pe mi e aos u ilizado es a c iação dum ambien e homogéneo, p opício pa a a pa ilha de ecu sos e expe iências, omen ando assim a en eajuda num g upo de in es igado es. A solução ap esen a uma in e ace simples e in ui i a, de o ma a pe mi i aos seus u ilizado es execu a em as suas ações na pla a o ma duma o ma b e e e e icien e, pe mi indo uma alocação maio de empo a a e as mais impo an es, como a p odução de esul ados nos abalhos em que es ão en ol idos. Conside ando o desen ol imen o do Web se ice concebido pa a a disponibilização de in o - mações p o enien es de á ias on es, e sendo que es e pe mi e o uso desses mesmo ecu sos aos di e en es u ilizado es na ede, conclui-se que o obje i o p incipal des a disse ação oi a ingido. Con udo, exis em alguns aspe os que pode iam pe mi i um uso mais in e a i o da pla a o ma, aos u ilizado es, que não o am conc e izados. Além dis o, e ia sido ú il pa a a e igua a u ilidade da pla a o ma num ambien e cons i uído po sujei os com uma expe iência as a em p oje os de DM. A mo i ação p incipal des e p oje o es e e elacionada com a c iação duma solução ino ado a, cons i uída po ecnologias a uais que incen i a am a in es igação. 45 Conclusões e T abalho Fu u o 5.2 T abalho Fu u o Ao longo do desen ol imen o des a solução o am su gindo opo unidades de melho amen o da pla a o ma que, com o obje i o de não pe de o oco no obje i o p incipal e ambém de ido ao ac o de não se em uncionalidades c í icas pa a o pe ei o uncionamen o, o am deixadas pa a segundo plano. Embo a não essenciais ao uso da pla a o ma, es as uncionalidades i iam p o idencia um uso mais sa is a ó io ao u ilizado . Du an e o uso da pla a o ma, e i ica-se que o p ocesso de upload de ecu sos pode se de- mo ado de ido à necessidade do p eenchimen o dos me adados dos mesmos. Um melho amen o possí el se ia o p eenchimen o au omá ico de alguns des es campos de me adados. Esse p eenchi- men o se ia a ingido, po exemplo, nos a igos, eco endo à API da e amen a Mendeley1. Des a o ma, no momen o do upload do a igo, i ia se ei a uma pesquisa na base de dados do Mendeley nesse mesmo a igo, acedendo a in o mações como o abs ac , edi o , da a de publicação. Ou o aspe o, que se ia ú il na u ilização con ínua da pla a o ma po um g upo as o de u ili- zado es, se ia o a mazenamen o do his ó ico de ações execu adas. Ou seja, pe mi i a isualização duma lis a que con ém a ação que oi execu ada, quem execu ou e a da a em que oi execu ada. O obje i o des a uncionalidade se ia man e o es o dos u ilizado es a pa dos documen os no os que es ão a se adicionados a pla a o ma. Caso osse o obje i o da aplicação pe mi i execu a algum do abalho de DM di e amen e na pla a o ma, se ia possí el a in eg ação dum sis ema que pe mi isse a execução de algo i mos sob e da ase s exis en es na mesma. Is o pode ia se conseguido, po exemplo, in eg ando a API do sis ema de Machine Lea ning - WEKA, na pla a o ma. A p ocu a de in o mação pode ia se melho ada usando on ologias. Po exemplo, se es abele- ce mos uma on ologia sob e algo i mos de DM pode iamos especi ica algo i mos de classi icação e ob e , po exemplo, Decision T ees, k-NN, C4.5, ID3, em ez de lis a odas as possibilidades. A on ologia pe mi i ia expandi a que y inicial pa a e mos mais especí icos. 1www.mendeley.com 46 Re e ências [Bea09] Alan Beaulieu. Lea ning SQL. Da abase, page 312, 2009. URL: h p://books. google.com/books?id=1PgCCV yjOQC, a Xi :a Xi :1011.1669 3. [Ch 14] Tom Ch is ie. Django REST amewo k. Ci i ano 14.9.2014: h p://www.django- es - amewo k.o g/#django- es - amewo k, 2014. URL: h p://www. django- es - amewo k.o g/{#}django- es - amewo k. [Dja13] Django So wa e Founda ion. Django: The Web amewo k o pe ec ionis s wi h deadlines, 2013. URL: h ps://www.djangop ojec .com/. [FB13] W. Fan e A. Bi e . Mining big da a. SIGKDD Explo . Newsl., 14(2):1, 2013. [FU96] U. Fayyad e R. U hu usamy. Da a mining and knowledge disco e y in da abases. Communica ions o he ACM, 39(11):24–26, 1996. [GO11] Ralph F. G o e e E ay Ozkan. The MVC-web design pa e n. WEBIST 2011 - P oceedings o he 7 h In e na ional Con e ence on Web In o ma ion Sys ems and Technologies, pages 127–130, 2011. URL: h p://www.scopus.com/inwa d/ eco d.u l?eid=2-s2.0-80052569275{&}pa ne ID= ZO x3y1. [HK06] J. Han e M. Kambe . Da a mining. 2006. [Lin05] G eg Linds om. P og amming wi h Py hon, 2005. a Xi :a Xi :1011.1669 3, doi:10.1109/MITP.2005.120. [Mos06] Julian Moss. Unde s anding TCP / IP. Compu e , 93(87):478, 2006. URL: h p: //www. echsuppo ale .com/pd /c04100.pd . [Moy05] S e e Moyle. Collabo a i e da a mining. In Oded Maimon e Lio Rokach, edi o s, Da a Mining and Knowledge Disco e y Handbook, page 1043–1056. 2005. [MR11] Ral Miku e Ma kus Reischl. Da a mining ools. Wiley In e disciplina y Re iews: Da a Mining and Knowledge Disco e y, 1(5):431–443, 2011. doi:10.1002/widm.24. [Na 04] Na ional In o ma ion S anda ds O ganiza ion. Unde s anding Me ada a. Na- ional In o ma ion S anda ds, (MD:NISO P ess):20, 2004. URL: h p: //www.mendeley.com/ca alog/unde s anding-me ada a-3/$ delimi e "026E30F$nh p://www.niso.o g/publica ions/p ess/ Unde s andingMe ada a.pd , a Xi :4, doi:10.1017/S0003055403000534. [RDC+04] João Rocha, Ma co Domingues, A hu Callado, Edua do Sou o, Gu hembe g Sil- es e, Ca los Kamienski e Djamel Sadok. Pee - o-pee : Compu ação colabo a i a na in e ne . Minicu so, Simpósio B asilei o de Redes de Compu ado es, (Sep embe 2015), 2004. 47 REFERÊNCIAS [WF05] Ian H. Wi en e Eibe F ank. Da a Mining: P ac ical machine lea ning ools and echniques. Mo gan Kau mann, 2nd edi ion edi ion, 2005. [Wik16a] Wikipedia. C oss Indus y S anda d P ocess o Da a Mining. [online] A ailable a : h ps://en.wikipedia.o g/wiki/C oss_Indus y_S anda d_P ocess_ o _Da a_Mining Accessed 15, Feb ua y 2016. [Wik16b] Wikipedia. Web API. [online] A ailable a : h ps://en.wikipedia.o g/wiki/WebAPI Accessed 15, Feb ua y 2016. [WKLW98] S. Weibel, J. Kunze, C. Lagoze e M. Wol . Dublin Co e Me ada a o Resou ce Disco e y. RFC 2413, 1998. 48