R caret / 混淆矩阵

我想在使用caret库的train()函数后显示混淆矩阵,但我有一些疑问。”train()”应该是在训练集上进行的吗?(我对”control”参数不太确定)。”predict()”应该在测试集上进行吗?在整个数据集上进行预测似乎有点奇怪…

# df_corpus = 文档术语矩阵 + 包含Cos.code类别的一列(类别如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")
# 线性判别分析
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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注