Verileri Görsel Olarak İnceleme

PySpark ile Özellik Mühendisliği

John Hogue

Lead Data Scientist, General Mills

DataFrame.describe() ile betimsel özetler

df.describe(['LISTPRICE']).show()
+-------+------------------+
|summary|         LISTPRICE|
+-------+------------------+
|  count|              5000|
|   mean|        263419.365|
| stddev|143944.10818036905|
|    min|            100000|
|    max|             99999|
+-------+------------------+
PySpark ile Özellik Mühendisliği

Birçok betimsel fonksiyon hazır geliyor

  • Ortalama
    • pyspark.sql.functions.mean(col)
  • Çarpıklık
    • pyspark.sql.functions.skewness(col)
  • Minimum
    • pyspark.sql.functions.min(col)
  • Kovaryans
    • cov(col1, col2)
  • Korelasyon
    • corr(col1, col2)
PySpark ile Özellik Mühendisliği

mean() ile örnek

  • mean(col)
  • Toplama fonksiyonu: bir grubun ortalamasını döndürür.
df.agg({'SALESCLOSEPRICE': 'mean'}).collect()
[Row(avg(SALESCLOSEPRICE)=262804.4668)]
PySpark ile Özellik Mühendisliği

cov() ile örnek

  • cov(col1, col2)
  • Parametreler:
    • col1 – birinci sütun
    • col2 – ikinci sütun
df.cov('SALESCLOSEPRICE', 'YEARBUILT')
1281910.3840634783
PySpark ile Özellik Mühendisliği

seaborn: istatistiksel veri görselleştirme

Seaborn

PySpark ile Özellik Mühendisliği

Çizim üzerine notlar

Seaborn gibi standart kütüphanelerle PySpark DataFrame'lerini çizmek için Pandas'a dönüştürmek gerekir

UYARI: Pandas'a çevirmeden önce PySpark DataFrame'lerinden örnek al!

  • sample(withReplacement, fraction, seed=None)
    • withReplacement örnekte tekrarları izin verir
    • fraction tutulacak kayıtların %'si
    • seed tekrar üretilebilirlik için rastgele tohum
# PySpark DataFrame'in %50'sini örnekle ve satır say
df.sample(False, 0.5, 42).count()
2504
PySpark ile Özellik Mühendisliği

Dağılım grafiğine hazırlık

Seaborn distplot()

  • seaborn.distplot(a)
  • a : Seri, 1 boyutlu dizi veya liste. Gözlenen veri.
# Favori görselleştirme kütüphaneni içe aktar
import seaborn as sns

# DataFrame'den örnek al sample_df = df.select(['SALESCLOSEPRICE']).sample(False, 0.5, 42)
# Örneği Pandas DataFrame'e dönüştür pandas_df = sample_df.toPandas()
# Çiz sns.distplot(pandas_df)
PySpark ile Özellik Mühendisliği

Satış kapanış fiyatının dağılım grafiği

Displot

PySpark ile Özellik Mühendisliği

İlişki grafikleri

Seaborn lmplot()

  • seaborn.lmplot(x, y, data)
  • x, y : string, giriş değişkenleri; veri içindeki sütun adları olmalı.
  • data : Pandas DataFrame
# Favori görselleştirme kütüphaneni içe aktar
import seaborn as sns

# Sütunları seç s_df = df.select(['SALESCLOSEPRICE', 'SQFTABOVEGROUND']) # DataFrame'i örnekle s_df = s_df.sample(False, 0.5, 42)
# Pandas DataFrame'e dönüştür pandas_df = s_df.toPandas()
# Çiz sns.lmplot(x='SQFTABOVEGROUND', y='SALESCLOSEPRICE', data=pandas_df)
PySpark ile Özellik Mühendisliği

Zemin üstü SQFT ile satış fiyatı arasındaki doğrusal model grafiği

Linear Model Plot

PySpark ile Özellik Mühendisliği

Hadi pratik yapalım!

PySpark ile Özellik Mühendisliği

Preparing Video For Download...