我正在尝试使用带有SMOTE的FilteredClassifier在WEKA上运行5倍交叉验证。
据我所知,我应该在每个CV折叠中应用SMOTE以获得我的CV错误。
有没有人有关于WEKA如何使用FilteredClassifier执行CV的文档或背景知识
Evaluation().crossvalidate_model(INPUTS)
我正在使用python和weka-wrapper。
谢谢!
Weka像任何其他分类器一样处理FilteredClassifier
元分类器(因为它们都实现了weka.classifiers.Classifier
接口)。
如果您正在执行5倍CV,那么数据将被分成5对训练/测试折叠,并且每次分类器都经过训练折叠训练,然后在测试折叠上进行评估。 weka.classifiers.Evaluation
类记录从每个折叠的测试数据中获得的统计数据。
在您的情况下(对于每个火车/测试折叠),FilteredClassifier
使用训练数据初始化SMOTE
过滤器并在使用它构建基础分类器之前对其进行过滤。
所以答案是肯定的,你的SMOTE
过滤器被初始化并应用于每个CV折叠中。
Weka问题的官方地点是Weka mailing list。