Feature Engineering med PySpark
John Hogue
Lead Data Scientist, General Mills
Datainsamling
Regler för datalagring
Sammanfogning av olika datakällor
Avsiktligt saknade värden

Helt slumpmässigt saknade
Slumpmässigt saknade
Inte slumpmässigt saknade
När ska rader med saknade värden tas bort?
isNull()
df.where(df['ROOF'].isNull()).count()
765
# Import library import seaborn as sns# subset the dataframe sub_df = df.select(['ROOMAREA1'])# sample the dataframe sample_df = sub_df.sample(False, .5, 4)# Convert to Pandas DataFrame pandas_df = sample_df.toPandas()# Plot it sns.heatmap(data=pandas_df.isnull())

Processen att ersätta saknade värden
Regelbaserat
Statistikbaserat
Modellbaserat
** fillna(value, subset=None)
value värdet som ersätter saknade värdensubset lista med kolumnnamn där saknade värden ska ersättas# Replacing missing values with zero
df.fillna(0, subset=['DAYSONMARKET'])
# Replacing with the mean value for that column
col_mean = df.agg({'DAYSONMARKET': 'mean'}).collect()[0][0]
df.fillna(col_mean, subset=['DAYSONMARKET'])
Feature Engineering med PySpark