funkcja cost w cv.glm biblioteki startowej w R
Próbuję użyć funkcji cv.glm crossvidation z biblioteki rozruchowej w R, aby określić liczbę błędnych klasyfikacji, gdy zastosowana zostanie regresja logistyczna glm.
Funkcja ma następujący podpis:
cv.glm(data, glmfit, cost, K)
z dwoma pierwszymi oznaczającymi dane i model, a K określa k-krotnie. Moim problemem jest parametr kosztu, który jest zdefiniowany jako:
koszt: funkcja dwóch argumentów wektorowych określających funkcję kosztu dla walidacji krzyżowej. Pierwszy argument dotyczący kosztu powinien odpowiadać obserwowanym odpowiedziom, a drugi argument powinien odpowiadać przewidywanym lub dopasowanym odpowiedziom z uogólnionego modelu liniowego. koszt musi zwracać nieujemną wartość skalarną. Domyślnie jest to funkcja błędu średniej kwadratu.
Sądzę, że dla klasyfikacji sensowne byłoby posiadanie funkcji, która zwraca współczynnik błędnej klasyfikacji:
nrow(subset(data, (predict >= 0.5 & data$response == "no") |
(predict < 0.5 & data$response == "yes")))
co oczywiście nie jest nawet poprawne składniowo.
Niestety, moja ograniczona wiedza R pozwoliła mi marnować godziny i zastanawiałem się, czy ktoś może wskazać mi właściwy kierunek.