Подтвердить что ты не робот

Кросс-валидация в Weka

Я всегда думал о том, что я прочитал, что перекрестная проверка выполняется следующим образом:

В k-кратной перекрестной проверке исходный образец случайным образом разделен на k подвыборки. Из k подвыборки одна подвыборка сохраняется как данные валидации для тестирования модели, и Остальные k - 1 подвыборки используются в качестве учебных данных. процесс перекрестной проверки затем повторяется k раз (складки), с каждая из k подвыборки использовалась ровно один раз в качестве данных валидации. k результатов из сгибов, то можно усреднить (или иным образом объединить) для получения единой оценки

Так построены k-модели, а последняя - средняя. В руководстве Weka написано, что каждая модель всегда строится с использованием ВСЕГО набора данных. Итак, как работает перекрестная проверка в Weka? Является ли модель, построенная из всех данных, и "кросс-валидация" означает, что k fold создается, каждая оценка оценивается на ней, а конечные результаты результата - это просто усредненный результат из сгибов?

4b9b3361

Ответ 1

Итак, вот сценарий снова: у вас есть 100 помеченных данных

Использовать набор тренировок

  • weka примет 100 помеченных данных
  • он применит алгоритм построения классификатора из этих 100 данных
  • применяется этот классификатор AGAIN on эти 100 данных
  • он предоставляет вам классификатор (применяется к тем же 100 данным, из которых он был разработаны)

Использовать 10-кратное CV

  • Weka принимает 100 помеченных данных

  • он производит 10 одинаковых размеров. Каждый набор разделен на две группы: для обучения используются 90 помеченных данных, а для тестирования используются 10 помеченных данных.

  • он создает классификатор с алгоритмом из 90 помеченных данных и применяет это к 10 данным тестирования для набора 1.

  • Он делает то же самое для множества от 2 до 10 и производит еще 9 классификаторов

  • он усредняет производительность 10 классификаторов, полученных из 10 равных (90 учебных и 10 тестовых) наборов

Сообщите мне, если это ответит на ваш вопрос.

Ответ 2

Я бы ответил в комментарии, но моя репутация все еще не позволяет мне:

В дополнение к принятому Рушди ответу я хочу подчеркнуть, что все модели, созданные для наборов сгибов перекрестной проверки, отбрасываются после того, как измерения производительности были выполнены и усреднены.

Полученная модель всегда основана на полном обучающем наборе, независимо от ваших вариантов тестирования. Поскольку M-T-A запрашивала обновление цитируемой ссылки, вот оно: https://web.archive.org/web/20170519110106/http://list.waikato.ac.nz/pipermail/wekalist/2009-December/046633.html/. Это ответ одного из сопровождающих WEKA, в котором указано только то, что я написал.

Ответ 3

Думаю, я понял это. Возьмите (например) weka.classifiers.rules.OneR -x 10 -d outmodel.xxx. Это делает две вещи:

  • Он создает модель, основанную на полном наборе данных. Это модель, которая написана на outmodel.xxx. Эта модель не используется как часть перекрестной проверки.
  • Затем выполняется перекрестная проверка. кросс-валидация предполагает создание (в данном случае) 10 новых моделей с обучением и тестированием на сегментах данных, как было описано. Ключом являются модели, используемые при перекрестной проверке, являются временными и используются только для генерации статистики. Они не эквивалентны или не используются для модели, которая предоставляется пользователю.

Ответ 4

Weka следует за обычной k-кратной проверкой перекрестных ссылок, упомянутой здесь. У вас есть полный набор данных, а затем разделите его на k nos равных множеств (k1, k2,..., k10, например, для 10-кратного CV) без перекрытий. Затем при первом запуске возьмите k1 в k9 в качестве учебного набора и разработайте модель. Используйте эту модель на k10, чтобы получить производительность. Далее следуют k1 - k8 и k10 в качестве обучающего набора. Разработайте модель из них и примените ее к k9, чтобы получить производительность. Таким образом, используйте все складки, где каждая сгиб не более 1 раза используется в качестве тестового набора.

Затем Weka усредняет показатели и представляет, что на выходной панели.

Ответ 5

как только мы выполнили 10-перекрестную проверку, разделив данные на 10 сегментов & создайте дерево решений и оцените, что делает Weka - запускает алгоритм одиннадцатый раз для всего набора данных. Это тогда произведет классификатор, который мы могли бы развернуть на практике. Мы используем 10-кратную перекрестную проверку для получения результата оценки и оценки ошибки, а затем, наконец, делаем классификацию еще раз, чтобы получить фактический классификатор для использования на практике. Во время k-й перекрестной проверки у нас будет другое дерево решений, но окончательное будет создано для целых наборов данных. CV используется, чтобы увидеть, есть ли у нас проблемы с переобучением или большим отклонением.