WEKA中的交叉验证和SMOTE

时间:2019-03-05 23:43:52

标签: python weka cross-validation

我正在尝试使用带有SMOTE的FilteredClassifier在WEKA上运行5倍交叉验证。

据我所知,我应该在每个CV折叠中应用SMOTE以获得我的CV错误。

任何人都有关于WEKA如何使用FilteredClassifier进行CV的文档或背景

Evaluation().crossvalidate_model(INPUTS)

我正在将python和weka-wrapper一起使用。

谢谢!

1 个答案:

答案 0 :(得分:0)

Weka与其他任何分类器一样对待FilteredClassifier元分类器(因为它们都实现了weka.classifiers.Classifier接口)。

如果您要执行5折CV,则数据将分为5对训练/测试折叠,并且每次使用训练折叠对分类器进行训练,然后在测试折叠上进行评估。 weka.classifiers.Evaluation类记录从每个折叠的测试数据获得的统计信息。

在您的情况下(对于每个训练/测试折叠),FilteredClassifier使用训练数据来初始化SMOTE过滤器并对其进行过滤,然后再使用它建立基本分类器。

因此答案是肯定的,您的SMOTE过滤器已初始化并应用于每个CV折叠。

Weka问题的官方场所是Weka mailing list