У меня есть следующий код приводит к таблице, как выходвыход confusionMatrix в виде таблицы .csv
lvs <- c("normal", "abnormal")
truth <- factor(rep(lvs, times = c(86, 258)),
levels = rev(lvs))
pred <- factor(
c(
rep(lvs, times = c(54, 32)),
rep(lvs, times = c(27, 231))),
levels = rev(lvs))
xtab <- table(pred, truth)
library(caret)
confusionMatrix(xtab)
confusionMatrix(pred, truth)
confusionMatrix(xtab, prevalence = 0.25)
Я хотел бы экспортировать ниже часть вывода в виде таблицы .csv
Accuracy : 0.8285
95% CI : (0.7844, 0.8668)
No Information Rate : 0.75
P-Value [Acc > NIR] : 0.0003097
Kappa : 0.5336
Mcnemar's Test P-Value : 0.6025370
Sensitivity : 0.8953
Specificity : 0.6279
Pos Pred Value : 0.8783
Neg Pred Value : 0.6667
Prevalence : 0.7500
Detection Rate : 0.6715
Detection Prevalence : 0.7645
Balanced Accuracy : 0.7616
Попытка записать его как .csv
таблице результатов в сообщении об ошибке:
write.csv(confusionMatrix(xtab),file="file.csv")
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class ""confusionMatrix"" to a data.frame
Выполнение всей работы вручную, по очевидным причинам, нецелесообразно и подвержено человеческим ошибкам.
Любые предложения по его экспорту как .csv
?
Это то, что вы хотите написать в форме «ключ: значение»? 'write.csv' ожидает data.frame в соответствии с ошибкой, поэтому вам придется массировать свой результат на что-то, что он может принять. – steveb
Чтобы уточнить, вам нужно будет взять результат 'confusionMatrix' и поместить требуемые данные из него в data.frame. – steveb
@steveb да, я вижу сейчас. mroto в ответе ниже четко изложил его. – Oposum