Проблема з точністю
Стандартна точність визначається як відношення правильних класифікацій до кількості зроблених класифікацій.
accuracy:=correct classificationsnumber of classifications
Таким чином, це є загальним показником для всіх класів, і як ми скоро побачимо, це не дуже вдало розповісти про оракул, окрім фактичного корисного тесту. Оракул - це класифікаційна функція, яка повертає випадкову здогадку для кожного зразка. Так само ми хочемо мати можливість оцінити ефективність класифікації нашої класифікаційної функції. Точність \ textit {can} може бути корисною мірою, якщо у нас однакова кількість зразків на клас, але якщо у нас незбалансований набір точності зразків взагалі не корисний. Тим більше, тест може мати високу точність, але насправді виконувати гірше, ніж тест із меншою точністю.
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
Точність на клас
accuracy:=correct/(correct+incorrect)A1.00A0.331.000.00>0.5AABA
Чутливість та специфічність
У медичних тестах чутливість визначається як співвідношення між людьми, правильно визначеними як такі, що мають захворювання, та кількістю людей, які насправді мають це захворювання. Специфіка визначається як співвідношення між людьми, правильно визнаними здоровими, та кількістю людей, які насправді здорові. Кількість людей, які насправді мають захворювання, - це кількість справжніх позитивних результатів тесту плюс кількість помилково негативних результатів тесту. Кількість насправді здорових людей - це кількість справжніх негативних результатів тесту плюс кількість хибнопозитивних результатів тесту.
Двійкова класифікація
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β. Це означає, що якщо у нас є лише два класи, то нам не потрібна чутливість та специфічність для кожного класу.
N-Арська класифікація
Чутливість та специфічність для кожного класу не корисні, якщо у нас є лише два класи, але ми можемо розширити їх на кілька класів. Чутливість та специфічність визначаються як:
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). Як підсумок ми маємо:
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)
Введення впевненості
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