Как работает VectorSlicer в Spark 2.0?

В официальной документации Spark,

VectorSlicer — это преобразователь, который берет вектор признаков и выводит новый вектор признаков с подмассивом исходных признаков. Это полезно для извлечения признаков из векторного столбца.

  • Выбирает ли это важные функции из набора функций?

  • Если это так, как это сделать без упоминания зависимой переменной?

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


person Anbarasu Ramachandran    schedule 08.01.2017    source источник


Ответы (1)


Выбирает ли это важные функции из набора функций?

Это не так. Он буквально разрезает вектор, чтобы выбрать только указанные индексы.

и нужны важные функции, которые будут лучше способствовать кластерам.

  • Если у вас есть категориальные данные, рассмотрите возможность использования ChiSqSelector.

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

person user7337271    schedule 08.01.2017
comment
Я проголосовал за ваш ответ, но если вы можете объяснить свой второй пункт об уменьшении размера при выборе важности функции. Я не уверен, что ОП поймет это (и для других читателей тоже) - person eliasah; 08.01.2017
comment
@eliasah Отредактировано в соответствии с просьбой. - person user7337271; 09.01.2017