[英]Error in confusionMatrix.matrix(data = df_name, reference = numeric_vector_name, positive = "increase" ) : matrix must have equal dimensions
我已经连续 3 次在这篇文章的标题中出现错误,当我将此错误消息输入 Google 或 Bing 时,在 Stack Overflow 上出现的前几个类似问题都没有适合我的特定情况的答案。 以下代码行来自的脚本位于我的GitHub 存储库中,该分析项目位于名为“AIT 622 大数据分析项目脚本”的 R 脚本文件中。
### Classification Forecasting Model #5: Multivariate Adaptive Regression Splines
library(earth)
library(plotmo)
library(plotrix)
marsGrid = expand.grid(.degree = 1:2, .nprune = 2:38)
set.seed(100)
marsModelR1 = train(x = data2014, y = pr_var2014, method = "earth",
preProc = c("center", "scale"), tuneGrid = marsGrid)
# compare the expected classifications in 2015 to the observed classifications in 2015
marsR1Pred = predict(marsModelR1, newdata = data2015)
> dim(marsR1Pred)
[1] 4120 1
我在此处添加以下内容以显示我认为可能是错误消息/警告的来源。 > 长度(pr_var2014) 1 3808
marsR1_PR = postResample(pred = marsR1Pred, obs = pr_var2014)
> marsR1_PR
RMSE Rsquared MAE
NA 1.24489e-06 NA
marsModelR1_CFM <- confusionMatrix(data = marsR1Pred, reference = pr_var2014,
positive = "Increase")
> marsModelR1_CFM <- confusionMatrix(data = marsR1Pred, reference = pr_var2014,
+ positive = "Increase")
Error in confusionMatrix.matrix(data = marsR1Pred, reference = pr_var2014, :
matrix must have equal dimensions
我已经尝试了以下 2 次尝试修复,两者的结果相同
> marsModelR1_CFM <- confusionMatrix(data = marsR1Pred,
+ reference = sample(pr_var2014, length(marsR1Pred)),
+ positive = "Increase")
Error in confusionMatrix.matrix(data = marsR1Pred, reference = sample(pr_var2014, :
matrix must have equal dimensions
> length(pr_var2014)
[1] 3808
> length(marsR1Pred)
[1] 4120
> marsModelR1_CFM <- confusionMatrix(data = marsR1Pred,
+ reference = sample(pr_var2014, 4120),
+ positive = "Increase")
Error in confusionMatrix.matrix(data = marsR1Pred, reference = sample(pr_var2014, :
matrix must have equal dimensions
任何建议将不胜感激,此外,所有这些命令都在我的脚本的最后部分。 第 4 部分在底部。
确保您使用的是数据参数的因子,而不是matrix
。
# this will fail with similar error to yours
confusionMatrix(as.matrix(iris$Species), sample(iris$Species))
# Error in confusionMatrix.matrix(as.matrix(iris$Species), sample(iris$Species)) :
# matrix must have equal dimensions
# this will pass as I convert the variable to be a factor variable
confusionMatrix(as.factor(as.matrix(iris$Species)), sample(iris$Species))
对于你的情况:
marsModelR1_CFM <- confusionMatrix(data = as.factor(marsR1Pred),
reference = sample(as.factor(pr_var2014), 4120),
positive = "Increase")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.