Precyzja jest zdefiniowana jako:
p = prawdziwe pozytywy / (prawdziwe pozytywy + fałszywe pozytywy)
Jaka jest wartość precyzji, jeśli (pozytywne pozytywy + fałszywe pozytywy) = 0? Czy to po prostu niezdefiniowane?
To samo pytanie do przypomnienia:
r = prawdziwe pozytywy / (prawdziwe pozytywy + fałszywe negatywy)
W takim przypadku jaka jest wartość odwołania, jeśli (prawdziwie pozytywne + fałszywe negatywne) = 0?
PS To pytanie jest bardzo podobne do pytania Jakie są prawidłowe wartości precyzji i przywołania w przypadkach skrajnych? .
precision-recall
Raffi Khatchadourian
źródło
źródło
Odpowiedzi:
Tutaj również obowiązują odpowiedzi na połączone wcześniej pytanie.
Jeśli (prawdziwie pozytywne + fałszywe negatywne) = 0, to nie ma pozytywnych przypadków w danych wejściowych, więc każda analiza tego przypadku nie zawiera żadnych informacji, a więc nie ma wniosków na temat tego, jak obsługiwane są przypadki pozytywne. Chcesz N / A lub coś podobnego jako wynik stosunku, unikając dzielenia przez błąd zero
Jeśli (true dodatnie + false dodatnie) = 0, wówczas wszystkie przypadki zostały uznane za ujemne: jest to jeden koniec krzywej ROC. Ponownie, chcesz rozpoznać i zgłosić tę możliwość, unikając podziału przez błąd zerowy .
źródło
Ciekawa odpowiedź jest dostępna tutaj: https://github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure
Autorzy wyjściowych moduł różnymi wynikami dla precyzji i przywołanie w zależności od tego, czy prawdziwie dodatnich, fałszywie dodatnich i fałszywie ujemne są wszystkie 0. Jeśli są, wynik jest pozornie jeden dobry.
Nie jestem pewien, czy ten typ punktacji byłby przydatny w innych sytuacjach poza ich specjalnym przypadkiem, ale warto się nad tym zastanowić.
źródło
Podczas oceny klasyfikatora przy wysokich progach precyzja może (często faktycznie) nie wynosić 1, gdy przywołanie wynosi 0. Zwykle nie dotyczy! Myślę, że coś jest nie tak z tym, jak ludzie kreślą krzywą P / R. Unikanie próbek N / A jest stronnicze w tym sensie, że unikasz próbek osobliwości. Obliczyłem średnią precyzję wrt do średniego przywołania ignorując próbki N / A i nigdy nie dostałem klasyfikatora rozpoczynającego się od 1 dla przywołania 0 dla płytkiej sieci neuronowej w wykrywaniu obiektów. Dotyczyło to również krzywych obliczonych za pomocą liczb tp, fp, fn. Łatwo jest to zweryfikować za pomocą papieru i ołówka za pomocą jednego obrazu. Na przykład: Mam klasyfikator, który wyprowadza pojedynczy obraz: preds = [.7 .6 .5 .1 .05] true = [nynny] Obliczając macierze zamieszania z różnymi progami, mamy: tp = [2 1 1 1 0 0], fn = [0 1 1 1 2 2], fp = [3 3 2 1 1 0]. recall rec = [1,5. 0,5. 0 0], a precyzja = [. 4,25 1/3 .5 0 NaN]. Nie rozumiem, jak sensowne byłoby zastąpienie NaN lub precyzji (@ recall == 0) wartością 1. 1 powinna być górną granicą, a nie wartością, którą zastępujemy precyzję (@ recall == 0).
źródło