Каков эффект использования фильтрованного классификатора над обычным классификатором в Weka?
Я использовал weka для классификации текста. Сначала я использовал фильтр StringToWordVector, а отфильтрованные данные использовались с классификатором SVM (LibSVM) для перекрестной проверки. Позже я прочитал пост в блоге здесь
Он сказал, что не рекомендуется сначала использовать фильтр, а затем выполнять перекрестную проверку. Вместо этого он предлагает использовать FilteredClassifer. Его оправдание
Две недели назад я написал пост о том, как связать фильтры и классификаторы в WEKA, чтобы избежать вводящих в заблуждение результатов при проведении экспериментов с текстовыми коллекциями. Проблема заключалась в том, что при использовании N Fold Cross Validation (CV) в ваших данных вы не должны применять фильтр StringToWordVector (STWV) к полному сбору данных, а затем выполнять оценку CV для ваших данных, потому что вы будете использовать слова, которые присутствуют в вашем тестовом подмножестве (но не в вашем подмножестве тренировок) для каждого запуска.
Я не могу понять причину этого. Кто-нибудь знает это?
1 ответ
Когда вы используете фильтр до перекрестной проверки N Fold, вы будете фильтровать каждое слово, появляющееся в каждом экземпляре, несмотря на то, что оно является тестовым или обучающим экземпляром. В настоящее время у фильтра нет возможности узнать, является ли экземпляр экземпляром теста или экземпляром поезда. Поэтому, если вы используете StringtoWordVector с TFTransform или любой другой подобной операцией, любое слово в тестовых экземплярах может повлиять на значение преобразования. (Просто, если вы реализуете пакет слов, вы бы также взяли тестовый экземпляр для рассмотрения). Это неприемлемо, поскольку на параметры обучения не должны влиять данные тестирования. Так что вместо этого вы можете выполнять фильтрацию на ходу. Это FilteredClassifer.
Чтобы получить представление о том, как работает перекрестная проверка N Fold, обратитесь к ответу Рушди Шамса в следующем вопросе. Пожалуйста, дайте мне знать, если вы поняли это или нет. Ура..!!