Łatwo jest znaleźć obszar obliczania pakietu pod ROC, ale czy istnieje pakiet, który oblicza obszar pod krzywą dokładnego przywołania?
14
Łatwo jest znaleźć obszar obliczania pakietu pod ROC, ale czy istnieje pakiet, który oblicza obszar pod krzywą dokładnego przywołania?
Odpowiedzi:
Od lipca 2016 r. Pakiet PRROC świetnie sprawdza się w obliczaniu zarówno ROC AUC, jak i PR AUC.
Zakładając, że masz już wektor prawdopodobieństwa (nazywany
probs
) obliczony dla twojego modelu, a prawdziwe etykiety klas znajdują się w ramce danych, ponieważdf$label
(0 i 1) ten kod powinien działać:PS: Jedyne niepokojące jest to, że używasz go,
scores.class0 = fg
gdyfg
jest obliczany dla etykiety 1, a nie 0.Oto przykładowe krzywe ROC i PR z obszarami pod nimi:
Słupki po prawej to prawdopodobieństwo progowe, przy którym uzyskuje się punkt na krzywej.
Należy zauważyć, że dla losowego klasyfikatora AUC ROC będzie bliskie 0,5, niezależnie od nierównowagi klasy. Jednak AUC PR jest trudne (patrz Co to jest „linia bazowa” na krzywej przywołania dokładności ).
źródło
Trochę googling zwraca jeden pakiet bioc, qpgraph (
qpPrecisionRecall
), a cran jeden, minet (auc.pr
). Jednak nie mam z nimi doświadczenia. Oba zostały opracowane do pracy z sieciami biologicznymi.źródło
Po uzyskaniu precyzyjnej krzywej przywołania
qpPrecisionRecall
, np .:możesz obliczyć jego AUC, wykonując następujące czynności:
strona pomocy zawiera
qpPrecisionRecall
szczegółowe informacje o tym, czego oczekuje struktura danych w swoich argumentach.źródło
AUPRC()
to funkcja wPerfMeas
pakiecie, która jest znacznie lepsza niżpr.curve()
funkcja wPRROC
pakiecie, gdy dane są bardzo duże.pr.curve()
jest koszmarem i trwa wiecznie, gdy masz wektory z milionami wpisów.PerfMeas
w porównaniu zajmuje kilka sekund.PRROC
jest napisane w R iPerfMeas
jest napisane w C.źródło