Ingeniería de características con PySpark
John Hogue
Lead Data Scientist, General Mills
Random Forest Regression

Económicos
Gubernamentales
Sociales
Estacionales
Características temporales
Tasas, ratios, sumas
Características ampliadas
# ¿Cuál es la forma de los datos?
print((df.count(), len(df.columns)))
(5000, 126)
from pyspark.ml.feature import VectorAssembler
# Reemplaza valores faltantes
df = df.fillna(-1)
# Define las columnas a convertir en vectores
features_cols = list(df.columns)
# Quita la variable dependiente de la lista
features_cols.remove('SALESCLOSEPRICE')
# Crea el transformador VectorAssembler vec = VectorAssembler(inputCols=features_cols, outputCol='features')# Aplica el transformador al dataset df = vec.transform(df)# Selecciona solo los vectores y la variable dependiente ml_ready_df = df.select(['SALESCLOSEPRICE', 'features'])# Revisa resultados 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
Ingeniería de características con PySpark