使用 PySpark 进行特征工程
John Hogue
Lead Data Scientist, General Mills
随机森林回归

经济
政府
社会
季节性
时间特征
比率、占比、求和
扩展特征
# 我们数据的形状?
print((df.count(), len(df.columns)))
(5000, 126)
from pyspark.ml.feature import VectorAssembler
# 替换缺失值
df = df.fillna(-1)
# 定义需转换为向量的列
features_cols = list(df.columns)
# 从列表中移除因变量
features_cols.remove('SALESCLOSEPRICE')
# 创建向量组装器变换器 vec = VectorAssembler(inputCols=features_cols, outputCol='features')# 将向量变换器应用到数据 df = vec.transform(df)# 仅选择特征向量和因变量 ml_ready_df = df.select(['SALESCLOSEPRICE', 'features'])# 查看结果 ml_ready_df.show(5)
+----------------+--------------------+
| SALESCLOSEPRICE| features|
+----------------+--------------------+
|143000 |(125,[0,1,2,3,5,6...|
|190000 |(125,[0,1,2,3,5,6...|
|225000 |(125,[0,1,2,3,5,6...|
|265000 |(125,[0,1,2,3,4,5...|
|249900 |(125,[0,1,2,3,4,5...|
+----------------+--------------------+
only showing top 5 rows
使用 PySpark 进行特征工程