我正在使用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%)。
答案 0 :(得分:0)
请参阅?caret::confusionMatrix
,特别是参数positive
<强>阳性强> 因子级别的可选字符串,对应于&#34; positive&#34;结果(如果这对您的数据有意义)。如果只有两个因子级别,则第一级将用作&#34;肯定&#34;结果
在第二个注释中,除非您的课程大约为50-50,否则您应该使用混淆矩阵之外的其他内容来评估您的结果。