在使用R预测函数时,新数据因子的水平误差与原始数据不匹配
我用R来建立预测模型。但是,在使用R预测函数时,新数据因子的水平误差与原始数据不匹配,r,R,我用R来建立预测模型。但是,predict总是给我错误消息,例如 我知道这应该是由于一些测试功能级别没有包含在培训功能级别中。由于特征矩阵本身较大,在测试数据集的特征矩阵中很难逐个修改特征层次。是否有一种方法可以强制测试数据集中的功能项级别,以适应现有的培训功能项级别。以下是一个示例,说明如何使测试变量与培训变量具有相同的级别: test <- factor(LETTERS[1:5]) training <- factor(LETTERS[4:10]) levels(test) #
predict
总是给我错误消息,例如
我知道这应该是由于一些测试功能级别没有包含在培训功能级别中。由于特征矩阵本身较大,在测试数据集的特征矩阵中很难逐个修改特征层次。是否有一种方法可以强制测试数据集中的功能项级别,以适应现有的培训功能项级别。以下是一个示例,说明如何使测试变量与培训变量具有相同的级别:
test <- factor(LETTERS[1:5])
training <- factor(LETTERS[4:10])
levels(test)
#[1] "A" "B" "C" "D" "E"
测试
test[2] <- training[5]
#Warning:
# In `[<-.factor`(`*tmp*`, 2, value = 5L) :
# invalid factor level, NA generated
levels(test) <- union(levels(test), levels(training))
levels(test)
#[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
test
#[1] A B C D E
#Levels: A B C D E F G H I J
test[2] <- training[5]
test
#[1] A H C D E
#Levels: A B C D E F G H I J