Обработка значений null/NaN в искровом классификаторе

У меня есть набор категориальных столбцов (строк), которые я анализирую и преобразую в векторы объектов, чтобы передать их в классификатор mllib (случайный лес).

В моих входных данных некоторые столбцы имеют нулевые значения. Скажем, в одном из этих столбцов у меня есть значения p + нулевое значение: как мне построить векторные объекты и карту categoryorFeaturesInfo классификатора?

  • Вариант 1: я сообщаю значения p в categoryoricalFeaturesInfo, и я использую Double.NaN в моих входных векторах?
    • Дополнительный вопрос: как обрабатываются NaN классификаторами?
  • вариант 2: я рассматриваю пустые значения как значения, поэтому я сообщаю (p+1) значениям в categoryoricalFeaturesInfo, и я отображаю нулевые значения в некоторые значения типа double?

Спасибо за вашу помощь.

(PS: я знаю новый API dataframe + pipe + vectorindexer, но по причинам он мне не подходит, поэтому я должен сделать это сам)

1 ответ

Решение

Похоже, вариант 2 один. Если ноль для вас на самом деле является другим уровнем вашей категориальной функции, просто сопоставьте его с некоторым значением. Обратите внимание, что уровни категориальных характеристик должны быть сопоставлены с 0,1,2 .... и т. Д., Прежде чем вы сможете их правильно использовать, см. Здесь:

ответ в стеке потока

Таким образом, нули будут отображаться в одном из этих чисел.

Другие вопросы по тегам