我正在尝试使用带有SMOTE的FilteredClassifier在WEKA上运行5折交叉验证。
据我所知,我应该在每个CV折叠中应用SMOTE来获得我的CV错误。
有没有人有关于WEKA如何在FilteredClassifier中使用
Evaluation().crossvalidate_model(INPUTS)我正在使用带有weka-wrapper的python。
谢谢!
发布于 2019-03-07 04:43:14
Weka像对待任何其他分类器一样对待FilteredClassifier元分类器(因为它们都实现了weka.classifiers.Classifier接口)。
如果您正在执行5折CV,那么数据将被分成5对训练/测试折叠,每次分类器使用训练折叠进行训练,然后在测试折叠上进行评估。weka.classifiers.Evaluation类记录从每个折叠的测试数据中获得的统计信息。
在您的示例中(对于每个训练/测试文件夹),FilteredClassifier使用训练数据初始化SMOTE过滤器,并在使用它构建基本分类器之前对其进行过滤。
所以答案是肯定的,你的SMOTE过滤器会被初始化并应用到每个CV折叠中。
Weka问题的官方地点是Weka mailing list。
https://stackoverflow.com/questions/55013347
复制相似问题