Lucrul cu datele lipsă

Feature Engineering cu PySpark

John Hogue

Lead Data Scientist, General Mills

Cum dispar datele în era digitală?

Colectarea datelor

  • Senzori defecți

Reguli de stocare a datelor

  • 2017-01-01 vs 1 ianuarie 2017

Îmbinarea surselor disparate

  • Lunar vs. săptămânal

Lipsă intenționată

  • Preocupări legate de confidențialitate

Lipsă

Feature Engineering cu PySpark

Tipuri de date lipsă

Complet aleatoriu

  • Datele lipsă reprezintă un subset complet aleatoriu

Aleatoriu

  • Lipsă condiționat aleatoriu, în funcție de o altă observație

Non-aleatoriu

  • Datele lipsesc din cauza modului de colectare
Feature Engineering cu PySpark

Evaluarea valorilor lipsă

Când se elimină rândurile cu date lipsă?

  • Valorile lipsă sunt rare
  • Lipsă complet aleatoriu

isNull()

  • True dacă expresia curentă este null.
df.where(df['ROOF'].isNull()).count()
765
Feature Engineering cu PySpark

Vizualizarea valorilor lipsă

# 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())
Feature Engineering cu PySpark

Hartă termică valori lipsă

Hartă termică date lipsă

Feature Engineering cu PySpark

Imputarea valorilor lipsă

Procesul de înlocuire a valorilor lipsă

Bazat pe reguli

  • Valoare determinată de logica de afaceri

Bazat pe statistici

  • Folosind medie, mediană etc.

Bazat pe modele

  • Utilizarea unui model pentru a prezice valoarea
Feature Engineering cu PySpark

Imputarea valorilor lipsă

** fillna(value, subset=None)

  • value valoarea cu care se înlocuiesc datele lipsă
  • subset lista coloanelor în care se înlocuiesc datele lipsă
# 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 cu PySpark

Să exersăm!

Feature Engineering cu PySpark

Preparing Video For Download...