Порядок кодирования, выбора и нормализации - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь использовать нейронную сеть для двоичной и мультиклассовой классификации. Мой набор данных имеет двоичные, числовые и номинальные переменные. Номинальные значения в обучающем наборе имеют много значений, поэтому, когда я выполняю OneHotEncoding, измерение перемещается от 42 до 122. Кроме того, некоторые значения присутствуют только в обучающем наборе, поскольку набор данных был предложен таким образом.

Поэтому я использовал следующий порядок:

  1. Кодирование в одно касание
  2. Нормализация
  3. Выбор функций или PCA

Но я обнаружил, что некоторые люди, которые также использовали нейронные сети, выполняли выбор функций еще до выполнения кодирования в горячем режиме. Что странно для меня, потому что в нейронной сети работают только числовые данные. Таким образом, запуск алгоритма выбора признаков, который может удалить категориальных значений, может нанести вред нейронной сети, особенно в том, что одно горячее кодирование влияет на размерность всей модели.

Но я не знаю, поэтому я должен спросить: каков правильный порядок здесь? Этот поток соответствует порядку, который я использовал, но меня больше интересует элемент быстрого выбора кодирования и выбора функции

1 Ответ

0 голосов
/ 14 октября 2019

qu: Какой правильный порядок здесь? Этот порядок может варьироваться в зависимости от вашего приложения и данных.

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

  • ". Таким образом, выполняется алгоритм выбора функции, который может удалитькатегориальные значения могут нанести ущерб нейронной сети, особенно то, что одно горячее кодирование оказывает влияние на размерность всей модели "-> ваша интерпретация нейронной сети таким образом вообще не верна, поскольку существование бесполезной категориальнойзначения одного горячего кодирования могут усложнить настройку нейронной сети (или привести к отсутствию сходимости при настройке нейронной сети) или усложнить вычисления.
...