Я пытаюсь выполнить перекрестную проверку (оставьте одну и k кратной), используя логистическую регрессию в R, двоичный результат.
У меня проблема с функцией стоимости.Я не понимаю функцию стоимости в справке R и нашел более интуитивно понятную здесь, в Переполнении стека, но я не знаю, как ее вызвать, точнее, как передать аргументы.
library(ISLR)
D = Default
mycost <- function(r, pi)
{
weight1 = 1 #cost for getting 1 wrong
weight0 = 1 #cost for getting 0 wrong
c1 = (r==1)&(pi<0.5) #logical vector - true if actual 1 but predict 0
c0 = (r==0)&(pi>=0.5) #logical vector - true if actual 0 but predict 1
return(mean(weight1*c1+weight0*c0))
}
glm.fit1 = glm(default~balance + student, data = D, family = binomial)
Проблема в том, что если R выполняет несколько логистических регрессий в фоновом режиме (например, 3 для K = 3), как я могу передать векторы предикатных вероятностей (pi) и вектор фактических значений?
Я в замешательстве ...
Есть ли способ использовать цикл for и сделать это вручную вместо использования cv.glm?