Täsmällisyys: kuinka moni positiivinen ennuste pitää paikkansa?
Täsmällisyys (precision) kertoo, kuinka suuri osa luokittimen positiivisiksi ennustamista tapauksista on todella positiivisia. Nimittäjänä ovat järjestelmän positiiviset päätökset, eivät kaikki esimerkit.
Mittari on hyödyllinen, jos positiivinen päätös käynnistää kalliin jatkotoimen, kuten dokumentin käsin tehtävän tarkistuksen. Väärät positiiviset kuluttavat tarkistuskapasiteettia.
Pisteytys ei vielä ole päätös
Luokittimen pisteytys voi pysyä samana, vaikka päätöskynnys muuttuu. NumPy-esimerkissä kynnyksen nosto arvosta 0,5 arvoon 0,8 poistaa kaksi väärää hälytystä ja yhden oikean löydön.
import numpy as np
scores = np.array([0.95, 0.85, 0.7, 0.6, 0.55, 0.1])
actual = np.array([True, True, False, True, False, False])
results = {}
for threshold in (0.5, 0.8):
selected = scores >= threshold
results[threshold] = {
"precision": actual[selected].mean(),
"recall": (actual & selected).sum() / actual.sum(),
}
Täsmällisyydet ovat 60 ja 100 prosenttia, mutta jälkimmäinen käytäntö löytää vain kaksi kolmesta todellisesta positiivisesta. Parempi täsmällisyys voi siis tarkoittaa heikompaa saantia ilman muutosta itse malliin.
Täsmällisyys riippuu myös positiivisten tapausten yleisyydestä. Tasapainoisella testijoukolla mitattu tulos ei välttämättä päde virtaan, jossa positiivisia on hyvin vähän.