Перекрестная проверка и SMOTE в WEKA - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь выполнить 5-кратную перекрестную проверку на WEKA с использованием FilteredClassifier с SMOTE.

Насколько мне известно, я должен применять SMOTE в каждом из сгибов CV, чтобы получить ошибку CV.

Есть ли у кого-нибудь документация или справочная информация о том, как WEKA выполняет CV в FilteredClassifier, используя

Evaluation().crossvalidate_model(INPUTS)

Я использую python с weka-wrapper.

Спасибо!

1 Ответ

0 голосов
/ 06 марта 2019

Weka обрабатывает метаклассификатор FilteredClassifier так же, как и любой другой классификатор (поскольку они оба реализуют интерфейс weka.classifiers.Classifier).

Если вы выполняете 5-кратное CV, то данные разбиваются на 5 пар сгибов поезда / теста и каждый раз, когда классификатор обучается с использованием тренировочного сгиба, а затем оценивается на тестовом сгибе.Класс weka.classifiers.Evaluation записывает статистику, полученную из тестовых данных каждой складки.

В вашем случае (для каждого поезда / тестовой складки) FilteredClassifier использует тренировочные данные для инициализации SMOTE отфильтруйте и отфильтруйте его, прежде чем строить с ним базовый классификатор.

Таким образом, ответ да, ваш SMOTE фильтр инициализируется и применяется в каждом из сгибов CV.

Официальное место для вопросов Weka - Weka список рассылки .

...