Przeprowadzam weryfikację krzyżową przy użyciu metody „zostaw-jeden-out”. Mam odpowiedź binarną i używam pakietu rozruchowego dla R oraz funkcji cv.glm . Mój problem polega na tym, że nie do końca rozumiem część „kosztu” w tej funkcji. Z tego, co rozumiem, jest to funkcja, która decyduje, czy wartość szacunkową należy zaklasyfikować jako 1 czy 0, tj. Wartość progową dla klasyfikacji. Czy to jest poprawne?
Oraz w pomocy w R oni korzystać z tej funkcji na dwumianowego modelu cost <- function(r, pi = 0) mean(abs(r-pi) > 0.5)
. Jak interpretować tę funkcję? więc mogę go poprawnie zmodyfikować do celów analizy.
Każda pomoc jest doceniana, nie chcę korzystać z funkcji, której nie rozumiem.
źródło
Najpierw ustawiłeś wartość graniczną na 0,5. Twoje r wynosi 0/1, ale pi jest prawdopodobieństwem. Zatem indywidualny koszt wynosi 1, jeśli błąd bezwzględny jest większy niż 0,5, w przeciwnym razie 0. Funkcja oblicza średni poziom błędu. Pamiętaj jednak, że granica została ustalona przed zdefiniowaniem funkcji kosztów.
Właściwie myślę, że bardziej sensowne jest, jeśli wybór wartości granicznej zależy od funkcji kosztów.
źródło
Odpowiedź @SLi już bardzo dobrze wyjaśnia, jaką funkcję zdefiniowała funkcja kosztów. Pomyślałem jednak, że dodam, że do obliczenia
delta
wartości służy funkcja kosztucv.glm
, która jest miarą błędu walidacji krzyżowej. Jednak krytyczniedelta
ważona jest średnia ważona błędu każdej zakładki podana przez koszt. Widzimy to, sprawdzając odpowiedni fragment kodu:a wartość zwracana przez funkcję to:
źródło