R插入符/混淆矩阵
R caret / Confusion matrix
我想在 caret 库的 train() 之后显示混淆矩阵,但我有一些疑问。 "train()" 应该在火车上吗?(我不确定,因为 "control" 参数)。测试集上的"predict()"?对整个数据集进行预测似乎很奇怪...
# df_corpus = Document Term Matrix + 1 column of Cos.code(class which are 203.2.2, 204.3.2 ...)
dataset <- df_corpus
control <- trainControl(method = "repeatedcv", number = 10, repeats = 3)
seed <- 7
metric <- "Accuracy"
preProcess=c("center", "scale")
# Linear Discriminant Analysis
set.seed(seed)
fit.lda <- train(Cos.code~., data=dataset, method="lda", metric=metric,preProc=c("center", "scale"), trControl=control)
ldaClasses <- predict(fit.lda)
cm <- confusionMatrix(data = ldaClasses, dataset$Cos.code)
F1_score(cm$table, "lda")
感谢您的帮助
你可以得到这样的混淆矩阵:
confusionMatrix(predict(fit.lda,dataset$Cos.code),dataset$Cos.code)
你可以用同样的方式为你的测试集计算混淆矩阵,只是切换数据集。
但我相信你的模型应该已经包含了你想要的信息
检查打印这两个对象时给出的信息。
fit.lda
fit.lda$finalModel
我想在 caret 库的 train() 之后显示混淆矩阵,但我有一些疑问。 "train()" 应该在火车上吗?(我不确定,因为 "control" 参数)。测试集上的"predict()"?对整个数据集进行预测似乎很奇怪...
# df_corpus = Document Term Matrix + 1 column of Cos.code(class which are 203.2.2, 204.3.2 ...)
dataset <- df_corpus
control <- trainControl(method = "repeatedcv", number = 10, repeats = 3)
seed <- 7
metric <- "Accuracy"
preProcess=c("center", "scale")
# Linear Discriminant Analysis
set.seed(seed)
fit.lda <- train(Cos.code~., data=dataset, method="lda", metric=metric,preProc=c("center", "scale"), trControl=control)
ldaClasses <- predict(fit.lda)
cm <- confusionMatrix(data = ldaClasses, dataset$Cos.code)
F1_score(cm$table, "lda")
感谢您的帮助
你可以得到这样的混淆矩阵:
confusionMatrix(predict(fit.lda,dataset$Cos.code),dataset$Cos.code)
你可以用同样的方式为你的测试集计算混淆矩阵,只是切换数据集。
但我相信你的模型应该已经包含了你想要的信息 检查打印这两个对象时给出的信息。
fit.lda
fit.lda$finalModel