ubllshed Monday !uly 13 2009 by Cesar Souza ln ArLlcles CompuLer Sclence Culdes
rogrammlng Sclence
Cuando desenvolvemos slsLemas meLodos ou LesLes que envolvem a deLeco dlagnsLlcos
ou prevlso de resulLados e lmporLanLe valldar seus resulLados de forma a quanLlflcar seu
poder dlscrlmlnaLlvo e ldenLlflcar um procedlmenLo ou meLodo como bom ou no para
deLermlnada anllse no enLanLo devemos levar em conLa que a slmples quanLlflcao de
acerLos num grupo de LesLe no necessarlamenLe refleLe o quo eflclenLe um slsLema e pols
essa quanLlflcacao depender fundamenLalmenLe da qualldade e dlsLrlbulo dos dados nesLe
grupo de LesLe
ara exempllflcar Lomemos o exemplo de um slsLema para deLeco de dlabeLes em
paclenLes cu[a salda e 1 ou 0 lndlcando se o paclenLe possul a condlo ou no Agora
suponha que ao apllcamos esLe slsLema num grupo de LesLe conLendo 100 paclenLes dos quals
[ sabemos quals Lem dlabeLes ou no o slsLema acerLa 90 dos dlagnsLlcos arece mulLo
bom no?
no exaLamenLe C que no levamos em conLa fol a dlsLrlbulo da condlo no grupo de
LesLe 8evelamos agora que no grupo de LesLe 90 dos paclenLes na verdade Llnham a
condlo C slsLema porLanLo poderla slmplesmenLe Ler dlLo 1" a qualquer enLrada
apresenLada e mesmo asslm alnda consegulrla 90 de acerLo [ que os resLanLes 10 eram
saudvels A esLa alLura [ no podemos Ler a cerLeza de que o Lal slsLema serla Lo bom
asslm
ara casos como esLe ouLras medldas foram
crladas a flm de desconslderar evenLuals
desbalanceamenLos nos grupos de LesLe AnLes
de enLrar nesLas medldas apresenLolhe a
chamada Labela de conLlngncla (ou maLrlz de
confuso) que servlr de base para as demals
medldas apresenLadas Seu funclonamenLo e
slmples conslderamos valores poslLlvos que o
slsLema [ulgou poslLlvos como verdadelros
poslLlvos (acerLo) valores poslLlvos que o slsLema
[ulgou negaLlvos como falso negaLlvo (erro)
valores negaLlvos que o slsLema [ulgou como
negaLlvos como verdadelros negaLlvos (acerLo) e valores negaLlvos que o slsLema [ulgou
poslLlvos como falso poslLlvos (erro)
A segulr apresenLamos algumas medldas dela derlvadas
1abela de ConLlngncla (maLrlz de
confuso)
Acurcla
A proporo de predles correLas sem levar em conslderao o que e poslLlvo e o que e
negaLlvo LsLa medlda e alLamenLe susceLlvel a desbalanceamenLos do con[unLo de dados e
pode facllmenLe lnduzlr a uma concluso errada sobre o desempenho do slsLema
ACC 1C1AL uL ACL81CS / 1C1AL uL uAuCS nC CCn!un1C
(v + vn) / ( + n)
Senslbllldade
A proporo de verdadelros poslLlvos a capacldade do slsLema em predlzer correLamenLe a
condlo para casos que realmenLe a Lm
SLnS ACL81CS CSl1lvCS / 1C1AL uL CSl1lvCS
v / (v + ln)
Lspeclflcldade
A proporo de verdadelros negaLlvos a capacldade do slsLema em predlzer correLamenLe a
ausncla da condlo para casos que realmenLe no a Lm
SLC ACL81CS nLCA1lvCS / 1C1AL uL nLCA1lvCS
vn / (vn + l)
Lflclncla
A medla arlLmeLlca da Senslbllldade e Lspeclflcldade na prLlca a senslbllldade e a
especlflcldade varlam em dlrees oposLas lsLo e geralmenLe quando um meLodo e mulLo
senslvel a poslLlvos Lende a gerar mulLos falsoposlLlvos e vlceversa Asslm um meLodo de
declso perfelLo (100 de senslbllldade e 100 especlflcldade) raramenLe e alcanado e um
balano enLre ambos deve ser aLlngldo
Lll (SLnS + LSLC) / 2
redlLlvldade oslLlva
A proporo de verdadelros poslLlvos em relao a Lodas as predles poslLlvas LsLa medlda e
alLamenLe susceLlvel a desbalanceamenLos do con[unLo de dados e pode facllmenLe lnduzlr a
uma concluso errada sobre o desempenho do slsLema
v ACL81CS CSl1lvCS / 1C1AL uL 8Lul0LS CSl1lvAS
v / (v + l)
redlLlvldade negaLlva
A proporo de verdadelros negaLlvos em relao a Lodas as predles negaLlvas LsLa medlda
e alLamenLe susceLlvel a desbalanceamenLos do con[unLo de dados e pode facllmenLe lnduzlr a
uma concluso errada sobre o desempenho do slsLema
nv ACL81CS nLCA1lvCS / 1C1AL uL 8Lul0LS nLCA1lvAS
vn / (vn + ln)
CoeflclenLe de Correlao de MaLLhews ou CoeflclenLe (phl)
C coeflclenLe de correlao de MaLLhews e uma medlda de qualldade de duas classlflcaes
blnrlas que pode ser usada mesmo se as classes possuem Lamanhos basLanLe dlferenLes
8eLorna um valor enLre -1 e +1 em que um coeflclenLe de +1 represenLa uma predlcao
perfelLa 0 uma predlcao aleaLorla medla e 1 uma predlcao lnversa LsLa esLaLlsLlca e
equlvalenLe ao coeflclenLe phl e LenLa asslm como a eflclncla resumlr a qualldade da Labela
de conLlngncla em um unlco valor numerlco passlvel de ser comparado
MCC (v*vn l*ln) / sqrL((v + l)*(v + ln)*(vn + l)*(vn + ln))
noLe que se qualquer uma das somas no denomlnador for lgual a zero o denomlnador pode
ser conslderado 1 resuLando num MCC lgual a 0 que serla o llmlLe correLo para esLa slLuao
A Curva de 8ecelver CperaLlng CharacLerlsLlc (8CC)
A curva 8CC (ou curva de 8CC) fol desenvolvlda por engenhelros eleLrlcos e engenhelros de
slsLemas de radar duranLe a Segunda Cuerra Mundlal para deLecLer ob[eLos lnlmlgos em
campos de baLalha Lambem conheclda como Leorla de deLeco de slnals A anllse 8CC Lem
sldo uLlllzada em medlclna radlologla pslcologla e ouLras areas por mulLas decadas e mals
recenLemenLe fol lnLroduzlda reas como aprendlzado de mqulna e mlneracao de dados
Como o resulLado de slsLemas de
classlflcao em classes geralmenLe so
conLlnuos ou se[a produzem um valor
slLuado denLro de um deLermlnado
lnLervalo conLlnuo como 01 e
necessrlo deflnlr um ponLo de corLe ou
um llmlar de declso para se classlflcar e
conLablllzar o numero de predles
poslLlvas e negaLlvas (como dlagnsLlcos
verdadelros e falsos no caso de ocorrncla
de uma paLologla) Como esLe llmlar pode
ser seleclonado arblLrarlamenLe a melhor
prLlca para se comparar o desempenho
de dlversos slsLemas e esLudar o efelLo de
Curvas 8CC de dlferenLes classlflcadores
seleo de dlversos llmlares sobre a salda dos dados
ara cada ponLo de corLe so calculados valores de senslbllldade e especlflcldade que podem
enLo serem dlsposLos em um grflco denomlnado curva 8CC que apresenLa no elxo das
ordenadas os valores de senslbllldade e nas absclssas o complemenLo da especlflcldade ou
se[a o valor (1especlflcldade)
um classlflcador perfelLo corresponderla a uma llnha horlzonLal no Lopo do grflco porem
esLa dlflcllmenLe ser alcanada na prLlca curvas conslderadas boas esLaro enLre a llnha
dlagonal e a llnha perfelLa onde quanLo malor a dlsLncla da llnha dlagonal melhor o slsLema
A llnha dlagonal lndlca uma classlflcao aleaLrla ou se[a um slsLema que aleaLorlamenLe
seleclona saldas como poslLlvas ou negaLlvas como [ogar uma moeda para clma e esperar cara
ou coroa ueflnlLlvamenLe no e o Llpo de slsLema mals conflvel posslvel no enLanLo um
slsLema cu[a curva 8CC esLe[a locallzada abalxo da dlagonal alnda pode ser converLldo num
bom slsLema basLa lnverLer suas saldas e enLo sua curva Lambem ser lnverLlda
uma medlda padro para a comparacao de slsLemas e a rea sob a curva (AuC) que pode ser
obLlda por meLodos de lnLegrao numerlca como por exemplo o meLodo dos Lrapezlos
1eorlcamenLe quanLo malor a AuC melhor o slsLema
Lxemplo de como fazer uma curva 8CC no Lxcel
Calculando a rea de uma curva 8CC no MlcrosofL Lxcel
Coloque os pares senslbllldade e (1especlflcldade) nas colunas A e 8 respecLlvamenLe Caso
se[am 10 ponLos (de A1 a 810) uLlllze a segulnLe frmula
SuM8CuuC1((A6A13+A3A14)*(8381486813))*03
ueLermlnando o melhor ponLo de corLe
llnalmenLe a parLlr de uma curva 8CC devemos poder seleclonar o melhor llmlar de corLe
para obLermos o melhor desempenho posslvel ara lsLo podemos uLlllzar como parmeLro de
comparao a medlda de eflclncla apresenLada aclma ou o valor (phl) Asslm podemos
obLer o llmlar que apresenLe a melhor comblnao de valores de especlflcldade e senslbllldade
para o slsLema
ueLermlnando o erro padro no clculo da rea
C erro padro de uma curva 8CC se refere ao desvlo padro assumldo ao apllcarmos nosso
slsLema a uma amosLra da populao do que se apllcssemos a populao lnLelra LsLa medlda
parLe do faLo que dependendo de quals amosLras de uma populao Lomemos os valores para
produzlr nossa anllse 8CC a rea sob a curva poder varlar de acordo com a dlsLrlbulo
parLlcular desLa amosLra
C calculo do erro e em cerLo ponLo slmples pols parLe de apenas Lrs valores conhecldos a
rea A sob a curva 8CC o numero na de casos da amosLra que apresenLam a condlo
lnvesLlgada (por exemplo com dlabeLes) e o numero nn de casos que no a apresenLam (sem)
L88C sqrL((A*(1 A) + (na 1)*(C1 A)+(nn 1)(C2 A))/(na * nn))
em que
C1 A/(2 A)
C2 2*A/(1 + A)
Cdlgo
na segunda parLe da verso em lngls desLe arLlgo esL dlsponlvel uma lmplemenLao de
curvas 8CC em C# lnclulndo cdlgofonLe e apllcaLlvos de demonsLrao
Culas 8ecomendados
8ecelver CperaLlng Curves An lnLroducLlon LxcelenLe pglna sobre curvas 8CC e suas
apllcaes lnclul excelenLes appleLs que permlLem brlncar com as curvas compreender
melhor seu funclonamenLo e seu slgnlflcado ulreclonado LanLo a quem busca uma rplda
lnLroduo ao Lema quanLo a pesqulsadores [ famlllarlzados com a rea
8efernclas
WlklLulA 1he lree Lncyclopedla 8ecelver CperaLlng CharacLerlsLlc" ulsponlvel em
hLLp//enwlklpedlaorg/wlkl/8ecelver_operaLlng_characLerlsLlc Acesso em 07 [ul 2009
SA8A11lnl 8 M L um rograma para o Clculo da Acurcla Lspeclflcldade e Senslbllldade
de 1esLes Medlcos" 8evlsLa lnformedlca 2 (12) 1921 1993 ulsponlvel em
hLLp//wwwlnformaLlcamedlcaorgbr/lnformed/senslbhLm Acesso em 07 [ul 2009
AnALS1PLS1lS1CCM 8ecelver CperaLlng Curves An lnLroducLlon" ulsponlvel em
hLLp//wwwanaesLheLlsLcom/mnm/sLaLs/roc/llndexhLm Acesso em 13 [ul 2009
noLlclas lnLeressanLes
88C nLWS MACAZlnL A scanner Lo deLecL LerrorlsLs ArLlgo mulLo lnLeressanLe sobre como
esLaLlsLlcas so mal lnLerpreLadas quando dlvulgadas pela mldla 1o flnd one LerrorlsL ln 3000
people uslng a screen LhaL works 90 of Lhe Llme youll end up deLalnlng 300 people one of
whom mlghL be your LargeL" LscrlLo por Mlchael 8lasLland