Разделить на тестовые и обучающие наборы до или после генерации матрицы терминов документа? - PullRequest
2 голосов
/ 12 марта 2020

Я работаю над простыми проблемами машинного обучения и пытаюсь создать классификатор, который может различать спам и не спам SMS. Меня смущает вопрос о том, нужно ли мне генерировать матрицу термина документов перед разделением на тестовые и обучающие наборы или мне нужно генерировать матрицу термина документов после разбиения на тест и обучение?

Я попробовал оба способа и обнаружил, что точность немного выше, когда я разделяю данные перед генерацией матрицы термина документа. Но для меня это не имеет смысла. Разве точность не должна быть одинаковой? Имеет ли значение порядок этих операций?

1 Ответ

2 голосов
/ 13 марта 2020

Качественно, вам не нужно , чтобы сделать это в любом случае. Тем не менее, для правильной процедуры необходимо, чтобы данные о тренировках и тестировании были полностью разделены. Общая концепция заключается в том, что данные теста не непосредственно представлены в обучении; это помогает уменьшить переоснащение. Тестовые данные (и более поздние данные проверки) являются образцами, с которыми обученная модель никогда не сталкивалась во время обучения.

Следовательно, тестовые данные должны не быть включены в вашу предварительную обработку - документ-матрица. Это нарушает разделение в том смысле, что модель, в одном отношении, «видела» тестовые данные во время обучения.

Количественно сначала необходимо выполнить разбиение, поскольку эта матрица должна использоваться для обучения модель против только тренировочный набор. Когда вы включили тестовые данные в матрицу, вы получили матрицу, которая немного неточна в представлении обучающих данных: она больше не правильно представляет данные, с которыми вы фактически тренируетесь. Вот почему ваша модель не так хороша, как та, которая следовала надлежащим процедурам разделения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...