我剛開始使用Spark的MLlib。我想訓練一個簡單的模型(例如邏輯迴歸)。我的期望是,我需要「告訴」模型使用哪個列作爲目標,哪些列要視爲特徵。如何在Spark中將多個列合併爲一個向量值列?
但是,它看起來應該只有一列具有特徵(包含向量作爲值的列)。
所以,我的問題是:如何構建這樣一個向量值列?我曾嘗試以下(但不工作):
df = df.withColumn('feat_vec', [df['_c0'], df['_c1'], df['_c1'], df['_c3'], df['_c4']])
ADDED
我也試過這樣:
from pyspark.ml.feature import VectorAssembler
assembler = VectorAssembler(inputCols=['_c0', '_c1', '_c2', '_c3', '_c4'], outputCol='feat_vec')
df = assembler.transform(df)
至於結果我收到以下錯誤信息:
pyspark.sql.utils.IllegalArgumentException: u'Data type StringType is not supported.'
我想你錯了。看看[這裏](https://stackoverflow.com/questions/32982425/encode-and-assemble-multiple-features-in-pyspark)。 –
在這裏檢查我的答案VectorAssembler:https://stackoverflow.com/questions/43355341/spark-pipeline-error/43378263#43378263 – TDrabas
我不確定這是問題在這裏@TDrabas – eliasah