Il problema con precisione
L'accuratezza standard è definita come il rapporto tra le classificazioni corrette e il numero di classificazioni effettuate.
accuracy:=correct classificationsnumber of classifications
È quindi su misura generale in tutte le classi e come vedremo a breve non è una buona misura distinguere un oracolo da un test utile reale. Un oracolo è una funzione di classificazione che restituisce un'ipotesi casuale per ciascun campione. Allo stesso modo, vogliamo essere in grado di valutare le prestazioni di classificazione della nostra funzione di classificazione. La precisione \ textit {può} essere una misura utile se abbiamo la stessa quantità di campioni per classe ma se abbiamo un insieme sbilanciato di accuratezza dei campioni non è affatto utile. Ancora di più, un test può avere un'elevata precisione ma in realtà ha prestazioni peggiori rispetto a un test con una precisione inferiore.
ABC0.9
classify(sample):={Aif ⊤
classify
classify(sample):=guess⎧⎩⎨ABCwith p =0.96with p =0.02with p =0.02
0.96⋅0.9+0.02⋅0.05⋅2=0.866Aclassify
Precisione per classe
accuracy:=correct/(correct+incorrect)A1.00A0.331.000.00>0.5AABA
Sensibilità e specificità
Nei test medici la sensibilità è definita come il rapporto tra le persone correttamente identificate come affette dalla malattia e la quantità di persone che hanno effettivamente la malattia. La specificità è definita come il rapporto tra le persone correttamente identificate come sane e la quantità di persone che sono effettivamente sane. La quantità di persone che hanno effettivamente la malattia è la quantità di risultati di test positivi positivi più la quantità di risultati di test falsi negativi. La quantità di persone effettivamente sane è la quantità di risultati di test negativi reali più la quantità di risultati di test falsi positivi.
Classificazione binaria
PNTnnFnn
sensitivity:=TPTP+FNspecificity:=TNTN+FP
TPFNTNFPαβαTααTα+FβαTβαTβ+FααββTββTβ+FαβTαβTα+Fβ
sensitivityα:=TαTα+Fβspecificityα:=TβTβ+Fαsensitivityβ:=TβTβ+Fαspecificityβ:=TαTα+Fβ
sensitivityα=specificityβspecificityα=sensitivityβ. Ciò significa che se abbiamo solo due classi non abbiamo bisogno di sensibilità e specificità per classe.
Classificazione N-Ary
La sensibilità e la specificità per classe non sono utili se abbiamo solo due classi, ma possiamo estenderla a più classi. La sensibilità e la specificità sono definite come:
sensitivity:=true positivestrue positives+false negativesspecificity:=true negativestrue negatives+false-positives
Tn∑i(Fn,i)∑i(Fi,n)n∑i(Ti)−T(n)nn∑i(∑k(Fi,k))nn∑i(Fn,i)n∑i(Fi,n)∑i(Ti)−T(n)+∑i(∑k(Fn,i))−∑i(Fn,i)−∑i(Fi,n). Come sintesi abbiamo:
true positives:=Tntrue negatives:=∑i(Ti)−T(n)+∑i(∑k(Fn,i))−∑i(Fn,i)−∑i(Fi,n)false positives:=∑i(Fi,n)false negatives:=∑i(Fn,i)
sensitivity(n):=TnTn+∑i(Fn,i)specificity(n):=∑i(Ti)−Tn+∑i(∑k(Fi,k))−∑i(Fn,i)−∑i(Fi,n)∑i(Ti)−Tn+∑i(∑k(Fi,k))−∑i(Fn,i)
Presentazione di fiducia
confidence⊤Tn+∑i(Fi,n)nTn
confidence⊤(n):=TnTn+∑i(Fi,n)
confidence⊥nn
∑i(∑k(Fi,k))−∑i(Fi,n)+∑i(Ti)−Tn∑i(Fn,i)
confidence⊥(n)=∑i(∑k(Fi,k))−∑i(Fi,n)+∑i(Ti)−Tn−∑i(Fn,i)∑i(∑k(Fi,k))−∑i(Fi,n)+∑i(Ti)−Tn