我有两个数据框:
df_bad
die_y bin
1 11 JD
2 13 I
df_good
die_y bin
1 11 JD
2 13 I
我运行逻辑回归:
model_lr< - train(bin~。,data = df_bad,method ='glm',family ='binomial')
model_lr< - train(bin~。,data = df_good,method ='glm',family ='binomial')
第二个成功(它是直接创建的)
df_good< - data.frame(die_y = c(11,13),bin = as.factor(c('JD','I')))
第一个失败(它是从较大的数据框切片),但有错误: 结果中的一个或多个因子水平没有数据:'BA','dU','other','TT','XD'
由于在我看来数据帧是相同的,算法如何知道数据中没有的其他潜在因子值?整个混乱开始于原始数据中的错误,所以我想我会尝试将原始数据削减到可行的数据集并从那里开始,除了算法似乎“记住”我所拥有的并将其用作另一个失败的借口。即使删除原始源数据也不会改变结果。是什么赋予了?如何让算法忘记以前的算法? TIA
答案 0 :(得分:1)
添加了代码:df_bad< - droplevels(df_bad)
并且有效!