[英]"Error: Matrix must have equal dimensions" despite seemingly equal dimensions
pred <- predict(fit, x, type="response", s=cv$lambda.min)
confusion_matrix <- confusionMatrix(data = pred, reference = testXsp)
confusionMatrix.matrix(data = pred, reference = testXsp) 錯誤:matrix must have equal dimensions
dim(pred)
[1] 751864 1
dim(testXsp)
[1] 751864 1
dim(testXsp) == dim(pred)
[1] TRUE TRUE
尺寸似乎相同,那為什么我會收到此錯誤消息?
confusionMatrix
參數data
如果是矩陣則必須是正方形。
> caret:::confusionMatrix.matrix
function (data, positive = NULL, prevalence = NULL, mode = "sens_spec",
...)
{
if (length(unique(dim(data))) != 1) {
stop("matrix must have equal dimensions")
}
classTable <- as.table(data, ...)
confusionMatrix(classTable, positive, prevalence = prevalence,
mode = mode)
}
<bytecode: 0x126452f88>
<environment: namespace:caret>
請注意,class matrix
的方法甚至不采用reference
參數。 這是使用reference
的默認方法。 也許您應該查看confusionMatrix
的幫助頁面?
這里的一種可能性是您的預測矩陣中包含一個或多個 NA 值。 嘗試使用以下命令:
na.omit(pred)
之后,重新運行上面的代碼。 如果這不起作用,請發布您正在使用的 package 以適應您的 model。這將提供更詳細的解決方案!
最良好的祝願,-馬特
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.