我正在尝试使用带有SMOTE的FilteredClassifier在WEKA上运行5倍交叉验证。
据我所知,我应该在每个CV折叠中应用SMOTE以获得我的CV错误。
任何人都有关于WEKA如何使用FilteredClassifier进行CV的文档或背景
Evaluation().crossvalidate_model(INPUTS)
我正在将python和weka-wrapper一起使用。
谢谢!
答案 0 :(得分:0)
Weka与其他任何分类器一样对待FilteredClassifier
元分类器(因为它们都实现了weka.classifiers.Classifier
接口)。
如果您要执行5折CV,则数据将分为5对训练/测试折叠,并且每次使用训练折叠对分类器进行训练,然后在测试折叠上进行评估。 weka.classifiers.Evaluation
类记录从每个折叠的测试数据获得的统计信息。
在您的情况下(对于每个训练/测试折叠),FilteredClassifier
使用训练数据来初始化SMOTE
过滤器并对其进行过滤,然后再使用它建立基本分类器。
因此答案是肯定的,您的SMOTE
过滤器已初始化并应用于每个CV折叠。
Weka问题的官方场所是Weka mailing list。