我正在尝试使用R的二元结果中的逻辑回归进行交叉验证(省去一千倍)。
我对成本函数有疑问。我不了解R帮助中的cost函数,并在Stack Overflow上找到了一个更直观的函数,但是我不知道如何调用它,更具体地说,如何传递参数。
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在后台运行多个logistic回归(例如对于K = 3,则为3),我该如何传递谓词概率(pi)的向量和实际值的向量?
我很困惑...
是否有一种方法可以使用for循环并手动执行而不是使用cv.glm?