Jak utworzyć krzywą Precision-Recall, gdy mam tylko jedną wartość PR?

12

Mam zadanie eksploracji danych, w którym tworzę system wyszukiwania obrazów oparty na treści. Mam 20 zdjęć 5 zwierząt. Łącznie więc 100 zdjęć.

Mój system zwraca 10 najbardziej odpowiednich obrazów do obrazu wejściowego. Teraz muszę ocenić wydajność mojego systemu za pomocą krzywej Precision-Recall. Nie rozumiem jednak koncepcji krzywej Precyzja-Przywołanie. Powiedzmy, że mój system zwraca 10 obrazów dla obrazu goryla, ale tylko 4 z nich to goryle. Pozostałe 6 obrazów to inne zwierzęta ”. A zatem,

  • precyzja wynosi 4/10 = 0.4(zwrócone znaczniki) / (wszystkie zwrócone)
  • wycofanie to 4/20 = 0.2(odnośniki zwrócone) / (wszystkie znaczniki)

Mam tylko punkt, <0.2,0.4>a nie krzywą. Jak uzyskać krzywą (tj. Zestaw punktów)? Czy powinienem zmienić liczbę zwracanych obrazów (w moim przypadku jest to ustalone na 10)?

Jeff
źródło
2
Większość modeli przypisuje prawdopodobieństwo przynależności do klasy, a nie do samej klasy - lub wyciskasz ją z klasyfikatora. Krzywa jest uzyskiwana przez zmianę granicy odcięcia prawdopodobieństwa. Prawdopodobnie otrzymasz bardziej szczegółowe odpowiedzi, jeśli podasz klasyfikator, którego używasz.
Charles
Obliczam wektory cech (kolor, teksturę i kształt) i uzyskuję oceny podobieństwa dla każdego z nich, sumuję je w celu uzyskania całkowitej oceny podobieństwa, a następnie sortuję malejąco. 10 najważniejszych wskaźników obrazu jest najbardziej odpowiednich. Mogę uzyskać indeks klas z indeksu obrazów, ponieważ obrazy są uporządkowane (20 goryli, 20 żyraf itp.) Mam nadzieję, że wyraziłem się jasno, ponieważ nie do końca rozumiem pojęcia klasyfikator / deskryptor itp.
Jeff
Zrozumiałem, że nie przeczytałem dobrze pytania. Myślałem, że masz problem z dwiema klasami (gorilla / no-gorilla). Przy większej liczbie zajęć daleko poza mną może to być pomocne: stats.stackexchange.com/questions/2151/...
charles

Odpowiedzi:

11

Generowanie krzywej PR jest podobne do generowania krzywej ROC. Aby narysować takie wykresy, potrzebujesz pełnego rankingu zestawu testowego. Aby sporządzić ten ranking, potrzebujesz klasyfikatora, który generuje wartość decyzji zamiast odpowiedzi binarnej. Wartość decyzji jest miarą ufności w prognozie, którą możemy wykorzystać do uszeregowania wszystkich instancji testowych. Na przykład wartości decyzyjne regresji logistycznej i SVM są odpowiednio prawdopodobieństwem i (podpisaną) odległością do oddzielającej hiperpłaszczyzny.

Jeśli dysponujesz wartościami decyzji, określasz zestaw progów dla tych wartości decyzji. Te progi są różnymi ustawieniami klasyfikatora: np. Możesz kontrolować poziom konserwatyzmu. W przypadku regresji logistycznej domyślnym progiem byłoby ale można przejść przez cały zakres . Zazwyczaj progi są wybierane jako unikalne wartości decyzji uzyskane przez model dla zestawu testowego.f(x)=0.5(0,1)

Przy każdym wyborze progu model daje różne prognozy (np. Inną liczbę prognoz pozytywnych i negatywnych). Jako taki, otrzymujesz zestaw krotek z różną precyzją i przywołujesz na każdym progu, np. Zestaw krotek . Krzywa PR jest rysowana na podstawie par .(Ti,Pi,Ri)(Pi,Ri)

Jeśli poprawnie zrozumiałem twój komentarz, obliczony przez ciebie całkowity podobieństwo może być wykorzystany jako wartość decyzji.

Marc Claesen
źródło
Nie jest to dla mnie jasne, czy możesz przejść przez szczegółowy przykład podobny do sytuacji pobierania obrazu PO przez zwierzę?
MR