如何在R中进行逻辑回归的交叉验证?

时间:2019-04-03 19:34:50

标签: r

我正在尝试使用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?

0 个答案:

没有答案