scieee Science in your language
[po] (orig)

Plataforma para Data Mining Colaborativo

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.

Read accessible full text

Plataforma para Data Mining Colaborativo

Author: Hugo Filipe da Silva Matos
Year: 2016
DOI: 10.34626/nn4n-bk09
Source: https://repositorio-aberto.up.pt/bitstream/10216/85338/2/143384.pdf
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