Feature Engineering con PySpark
John Hogue
Lead Data Scientist, General Mills
Random Forest Regression

Economiche
Governative
Sociali
Stagionali
Feature temporali
Tassi, rapporti, somme
Feature espanse
# Qual è la forma dei dati?
print((df.count(), len(df.columns)))
(5000, 126)
from pyspark.ml.feature import VectorAssembler
# Sostituisci i valori mancanti
df = df.fillna(-1)
# Definisci le colonne da convertire in vettori
features_cols = list(df.columns)
# Rimuovi la variabile dipendente dall'elenco
features_cols.remove('SALESCLOSEPRICE')
# Crea il trasformatore VectorAssembler vec = VectorAssembler(inputCols=features_cols, outputCol='features')# Applica il trasformatore ai dati df = vec.transform(df)# Seleziona solo feature vector e variabile dipendente ml_ready_df = df.select(['SALESCLOSEPRICE', 'features'])# Controlla i risultati 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
Feature Engineering con PySpark