向数据框添加虚构级别
Adding fictitious levels to a dataframe
我正在尝试使用 caret 包中的 confusionMatrix() 函数。
但是,这需要测试数据集和从训练数据集得出的预测
具有完全相同的水平。因为数据问题,可能会出现需要添加虚构的情况
测试数据集中出现次数为 0 的级别。有什么办法吗?
可复制的玩具示例如下:
test <- data.frame (Feature=c("1200","1000","1000"), Class = c("a","b","b"))
predicted_model <- c("a","a","b","c")
显然,
confusionMatrix(predicted_model,test$Class)
产生错误信息,
Error in confusionMatrix.default(predicted_model, test$Class) :
the data cannot have more levels than the reference
objective是加一个虚构的Classc来测试,这样通过运行
table(test$Class)
我们得到:
a b c
1 2 0
你会怎么做?谢谢
test <- data.frame (Feature=c("1200","1000","1000"), Class = c("a","b","b"))
test$Class <- factor(test$Class, levels = c("a", "b", "c"))
test
# Feature Class
# 1 1200 a
# 2 1000 b
# 3 1000 b
table(test$Class)
# a b c
# 1 2 0
我正在尝试使用 caret 包中的 confusionMatrix() 函数。 但是,这需要测试数据集和从训练数据集得出的预测 具有完全相同的水平。因为数据问题,可能会出现需要添加虚构的情况 测试数据集中出现次数为 0 的级别。有什么办法吗?
可复制的玩具示例如下:
test <- data.frame (Feature=c("1200","1000","1000"), Class = c("a","b","b"))
predicted_model <- c("a","a","b","c")
显然,
confusionMatrix(predicted_model,test$Class)
产生错误信息,
Error in confusionMatrix.default(predicted_model, test$Class) :
the data cannot have more levels than the reference
objective是加一个虚构的Classc来测试,这样通过运行
table(test$Class)
我们得到:
a b c
1 2 0
你会怎么做?谢谢
test <- data.frame (Feature=c("1200","1000","1000"), Class = c("a","b","b"))
test$Class <- factor(test$Class, levels = c("a", "b", "c"))
test
# Feature Class
# 1 1200 a
# 2 1000 b
# 3 1000 b
table(test$Class)
# a b c
# 1 2 0