Feature Engineering con PySpark
John Hogue
Lead Data Scientist, General Mills
Raccolta dati
Regole di archiviazione
Unire dati eterogenei
Mancanti intenzionali

Missing completely at random
Missing at random
Missing not at random
Quando eliminare righe con dati mancanti?
isNull()
df.where(df['ROOF'].isNull()).count()
765
# Importa la libreria import seaborn as sns# Sottoinsieme del dataframe sub_df = df.select(['ROOMAREA1'])# Campiona il dataframe sample_df = sub_df.sample(False, .5, 4)# Converti in DataFrame Pandas pandas_df = sample_df.toPandas()# Traccia il grafico sns.heatmap(data=pandas_df.isnull())

Processo di sostituzione dei valori mancanti
Basata su regole
Basata su statistiche
Basata su modello
** fillna(value, subset=None)
value il valore con cui sostituire i mancantisubset l'elenco delle colonne in cui sostituire i mancanti# Sostituire i valori mancanti con zero
df.fillna(0, subset=['DAYSONMARKET'])
# Sostituire con la media della colonna
col_mean = df.agg({'DAYSONMARKET': 'mean'}).collect()[0][0]
df.fillna(col_mean, subset=['DAYSONMARKET'])
Feature Engineering con PySpark