組裝向量
Pipeline 的最後一步,是把包含特徵的所有欄位合併成單一欄位。建模前一定要先完成這一步,因為所有 Spark 的建模程序都假設資料是這種形式。你可以把每個欄位的值存成向量中的一個元素。如此一來,從模型的角度看,每筆觀測就是一個向量,裡面包含該觀測的所有資訊,外加一個標籤,用來告訴模型該觀測對應到的值。
基於這個需求,pyspark.ml.feature 子模組提供了 VectorAssembler 類別。這個 Transformer 會把你指定的所有欄位合併為一個新的向量欄位。
本練習屬於課程
PySpark 基礎
練習說明
- 呼叫
VectorAssembler(),以欄位名稱清單指定inputCols,並將outputCol設為"features",建立一個VectorAssembler。- 欄位清單應為
["month", "air_time", "carrier_fact", "dest_fact", "plane_age"]。
- 欄位清單應為
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Make a VectorAssembler
vec_assembler = VectorAssembler(inputCols=____, outputCol=____)