我不确定我是否完全理解因素是如何运作的。因此,如果我错了,请以易于理解的方式纠正我。
我总是假设在进行回归时,R 在幕后将分类变量转换为整数,但这部分超出了我的思路。
它将使用训练集中的分类值,并在构建模型后,检查测试数据集中的相同分类值。无论潜在的“水平”是什么——对我来说都无关紧要。
但是,我一直在思考更多......并且需要澄清 - 特别是如果我在如何解决这个问题上做错了。
train= c("March","April","January","November","January")
train=as.factor(train)
str(train)
Factor w/ 4 levels "April","January",..: 3 1 2 4 2
test= c(c("March","April"))
test=as.factor(test)
str(test)
# Factor w/ 2 levels "April","March",..: 1 2
Run Code Online (Sandbox Code Playgroud)
如果你看到上面的内容,它会创建因子水平,我相信这就是每个月对它们的调用。然而,水平不一定匹配。
例如,在测试中,“APRIL”在两者中都是“1”,但在火车中“JANUARY”是 2,而“MARCH”在 2nd 中是 2。
如果我要将其合并到模型中,我认为我不会出错,因为 TEST 集中的所有分类值都已经在训练集中了……但是会使用适当的系数/值吗?
请帮助我很困惑