[英]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.