根据 R 中的混淆矩阵识别错误类别的对象

查巴特

也许我搜索了错误的关键字来找到解决此问题的方法,但到目前为止我还没有在网上找到答案。

情况:我已经使用 CARET 包在 R 中训练了一个带有正则化的逻辑回归模型,用于两类分类。使用该模型,我预测了我的训练和验证集的类别,以接收混淆矩阵并测量模型的性能。

问题:现在我想根据我的模型识别具有错误类的对象。因此,那些在混淆矩阵中实际上属于“否”类时被预测为“是”的那些,反之亦然。我想这样做是为了检查对象,以改进或更改功能以获得更好的模型。我想知道的是它们在数据框中的位置。

我的相关代码:

set.seed(1)
datapart <- createDataPartition(m$class, p = .85, list = FALSE)
train <- m[datapart ,]
validation <- m[-datapart ,]

library(glmnet)
set.seed(1)
glmnetcontrol <- trainControl(method="repeatedcv", number=10, repeats=3, classProbs = TRUE, summaryFunction = twoClassSummary, search = "random")
glmnet <- train(class~., data=train, method="glmnet", trControl = glmnetcontrol, metric="ROC")

predict_validation <- predict(glmnet, validation, type="raw")
predict_train <- predict(glmnet, train, type="raw")

quality_glmnet_valid <- confusionMatrix(predict_validation , validation$class)
quality_glmnet_train <- confusionMatrix(predict_train , train$class)
只有幻影

由于您的预测是原始概率,因此您需要将它们作为一个类。以下>=0.5条件检查是将它们转换为 aTRUEFALSE如果您希望它是 1 或 0(假设您的class变量是1的二元因子0),那么您可以简单地为您的预测和真实类别标签彼此不一致的行设置子集。

`validation[as.numeric(validation$class) != as.numeric(predict_train >= 0.5), ]`

因为您没有发布数据,所以我必须对您的数据的结构或格式做出一些假设。您可以修改代码以获取预测错误的行(如果它们不是数字 0 或 1,请发表评论并让我知道或发布示例)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据R中的其他列插入类别的列

来自分类Dev

根据R中的子矩阵制作矩阵

来自分类Dev

根据R中的范围创建类别

来自分类Dev

根据R中的范围创建类别

来自分类Dev

根据向量在R中创建矩阵

来自分类Dev

根据R中的关系加入矩阵?

来自分类Dev

根据R中的列号拆分矩阵

来自分类Dev

R中类别的矩阵表示

来自分类Dev

显示错误类别的数据对象

来自分类Dev

R-根据条件对矩阵组的子集

来自分类Dev

根据列中的类别导出R中的Excel文件

来自分类Dev

根据R中的星期几创建虚拟/类别变量

来自分类Dev

根据R中矩阵中的数据创建虚拟变量

来自分类Dev

根据R中的列和值替换矩阵中的项目

来自分类Dev

根据R中矩阵中的数据创建虚拟变量

来自分类Dev

根据R中的向量计算差异矩阵

来自分类Dev

根据R中的样本ID对矩阵进行排序

来自分类Dev

如何根据R中的向量对矩阵重新排序?

来自分类Dev

根据矩阵值在R中创建特定大小的组

来自分类Dev

根据R中的列时间序列创建均值矩阵

来自分类Dev

根据R中的日期选择一行矩阵

来自分类Dev

根据R中的替换矩阵检查几乎相等

来自分类Dev

R:根据数据帧变量中的出现情况填充矩阵

来自分类Dev

R:根据一列的数据绘制矩阵中的数据

来自分类Dev

根据R中y的值绘制颜色

来自分类Dev

根据R中的单词列表过滤列

来自分类Dev

根据R中的日期(年度)创建排名

来自分类Dev

根据R中的子集获取特定行

来自分类Dev

根据R中的条件创建重复的行