Eksik Verilerle Çalışma

PySpark ile Özellik Mühendisliği

John Hogue

Lead Data Scientist, General Mills

Dijital çağda veriler nasıl kaybolur?

Veri Toplama

  • Bozuk sensörler

Veri Depolama Kuralları

  • 2017-01-01 ve January 1st, 2017

Farklı Verileri Birleştirme

  • Aylıktan haftalığa

Kasıtlı Olarak Eksik

  • Gizlilik endişeleri

Kayıp

PySpark ile Özellik Mühendisliği

Eksiklik Türleri

Tamamen rastgele eksik

  • Eksik veri tamamen rastgele bir alt kümedir

Rastgele eksik

  • Başka bir gözleme koşullu olarak rastgele eksik

Rastgele olmayan eksik

  • Toplama biçimi nedeniyle veri eksik
PySpark ile Özellik Mühendisliği

Eksik Değerleri Değerlendirme

Eksik verili satırları ne zaman düşürmeli?

  • Eksik değerler nadirse
  • Tamamen Rastgele Eksik

isNull()

  • Geçerli ifade null ise True döner.
df.where(df['ROOF'].isNull()).count()
765
PySpark ile Özellik Mühendisliği

Eksik Değerleri Görselleştirme

# 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())
PySpark ile Özellik Mühendisliği

Eksik Değer Isı Haritası

Eksik veri ısı haritası

PySpark ile Özellik Mühendisliği

Eksik Değerlerin İmilasyonu

Eksik değerleri doldurma süreci

Kural Tabanlı

  • İş mantığına göre değer

İstatistik Tabanlı

  • Ortalama, medyan vb. kullan

Model Tabanlı

  • Değeri tahmin etmek için model kullan
PySpark ile Özellik Mühendisliği

Eksik Değerlerin İmilasyonu

** fillna(value, subset=None)

  • value eksikleri hangi değerle değiştireceğin
  • subset eksikleri değiştirilecek sütun adları listesi
# Eksik değerleri sıfırla değiştirme
df.fillna(0, subset=['DAYSONMARKET'])
# Sütunun ortalamasıyla değiştirme
col_mean = df.agg({'DAYSONMARKET': 'mean'}).collect()[0][0]
df.fillna(col_mean, subset=['DAYSONMARKET'])
PySpark ile Özellik Mühendisliği

Hadi pratik yapalım!

PySpark ile Özellik Mühendisliği

Preparing Video For Download...