Сборка вектора
Последний шаг в Pipeline — объединить все столбцы с признаками в один столбец. Это необходимо сделать до начала моделирования, поскольку все процедуры моделирования в Spark ожидают данные именно в таком формате. Для этого каждое значение из столбца сохраняется как элемент вектора. С точки зрения модели каждое наблюдение представляет собой вектор, содержащий всю информацию о нём, а метка указывает, какому значению это наблюдение соответствует.
Для этой цели в подмодуле pyspark.ml.feature есть класс VectorAssembler. Этот Transformer объединяет все указанные вами столбцы в новый столбец-вектор.
Это упражнение является частью курса
Основы PySpark
Инструкции к упражнению
- Создайте объект
VectorAssembler, вызвавVectorAssembler()с именами входных столбцов в виде списка (inputCols) и именем выходного столбца (outputCol) —"features".- Список столбцов должен быть следующим:
["month", "air_time", "carrier_fact", "dest_fact", "plane_age"].
- Список столбцов должен быть следующим:
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Make a VectorAssembler
vec_assembler = VectorAssembler(inputCols=____, outputCol=____)