如标题中所述,使用caret
运行相同的glm模型会返回不同的精度和错误(无错误或glm.fit: fitted probabilities numerically 0 or 1 occurred
或1: In predict.lm(object, newdata, se.fit, scale = 1, type = ifelse(type == : prediction from a rank-deficient fit may be misleading
)。如果我设置种子并始终与种子一起运行,然后再运行模型,那么可以预见的是,我总是会收到相同的准确性和错误(或无错误)消息。
使用glm()
函数运行相同的模型时,系数始终相同(与caret
相同),但是在这种情况下,我永远也不会遇到任何错误。我应该将其解释为重采样问题,还是caret
软件包的glm提供的错误(如果它们取决于种子)是否具有重要意义?
我已经进行了搜索,尽管我认为它与重采样有关,但我不太了解它是如何工作的,并希望帮助您理解。另外,我正在尝试使用caret
包进行所有建模,因此我还希望获得一些帮助,以了解我是否应该通过始终运行glm()
而不是通过{ {1}}软件包,因为无论种子如何,这总是会立即为我提供相同的错误消息。
数据来自客户端,因此我不想共享它。我正在使用的公式只是(例如)caret
版本的train(Y ~ X + Z + A, data = df, method = "glm")
和caret
函数中的glm(Y ~ X + Z + A, data = df, family = binomial())
。