Обработка значений 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 .... и т. Д., Прежде чем вы сможете их правильно использовать, см. Здесь:
Таким образом, нули будут отображаться в одном из этих чисел.