在使用分层交叉验证时,weka如何处理小类

时间:2013-11-22 15:42:54

标签: r weka

我有一个带有目标变量的数据集,其中某些类只有几个实例。我知道交叉验证可能不是最好的方法,但我想知道Weka在使用分层k折叠交叉验证时如何处理这个问题。试图在这里搜索实际代码:http://grepcode.com/file/repo1.maven.org/maven2/nz.ac.waikato.cms.weka/weka-dev/3.7.6/weka/filters/supervised/instance/StratifiedRemoveFolds.java/但我找不到它。

示例:目标变量有3个类,其中2个有50个实例,1个只有1个。分层抽样试图保持类分布相同,如果我们尝试10倍,这种情况就不可能了。

这可能是一个statexchange问​​题,但我并不是对统计答案感兴趣,而是对代码的工作原理。例如,使用R与Rweka

require(RWeka)
iris_input  <- iris[1:101,]
iris_fit  <- J48(Species ~ ., data = iris_input, na.action = NULL)
evaluate_Weka_classifier(iris_fit,numFolds=10)

希望我的问题很明确。

可能会链接到R: Cross validation on a dataset with factors

1 个答案:

答案 0 :(得分:0)

在查看混淆矩阵时,只有一个实例被错误分类。这意味着它在所有折叠中也只发生过一次。

evaluate_Weka_classifier(iris_fit,numFolds = 10)$混淆矩阵