confusionMatrix用于R中的分类器

时间:2015-08-18 16:29:16

标签: r classification r-caret glmnet kernlab

我正在使用R中插入符号库中的 confusionMatrix 函数来评估两个方法的性能,例如(来自glmnet库的elasticnet,来自kernlib的高斯处理器,randomforest)两个方法数据

我有时会看到一些方法,我正在

  

警告消息:在confusionMatrix.default(pred,truth)中:级别与参考和数据的顺序不同。将数据重构为   匹配。

并且性能例如是65%;但是,如果我重新标记预测的级别(更改顺序)(在上面的例子中,pred),基于"真相&#34 ;;性能变为25%。

我构建了以下玩具数据。

pred = c("a", "a", "a", "b")
pred = as.factor(pred)
levels(pred) = rev(levels(pred)) % given this line, I can either get 25% or 75%.

truth = c("a", "a", "b", "b")
truth = as.factor(truth)

confusionMatrix(pred, truth)

我理解它很直观,因为它是一个两类数据。但是,我想知道,如果我这样做对我有利;意味着如果表现为25%(简单地说,接受它为75%)。

1 个答案:

答案 0 :(得分:0)

请参阅?caret::confusionMatrix,特别是参数positive

  

<强>阳性   因子级别的可选字符串,对应于&#34; positive&#34;结果(如果这对您的数据有意义)。如果只有两个因子级别,则第一级将用作&#34;肯定&#34;结果

在第二个注释中,除非您的课程大约为50-50,否则您应该使用混淆矩阵之外的其他内容来评估您的结果。