Sağa Çarpık Veriyi Düzeltme
Slaytlarda, pozitif çarpıklığı (dağılımın çoğunun solda olduğu veri) düzeltmek için log dönüşümlerini nasıl kullanabileceğini gösterdik. Negatif çarpıklığı (verinin çoğu sağda) düzeltmek için, veriyi daha normal dağılıma benzetmek üzere, \(\log\)'un tersi (1/\(\log\)) uygulanmadan önce “yansıtma” adı verilen ekstra bir adım gerekir. Veriyi yansıtmak, her bir değere şu formülü uygular: \((x_{\text{max}} +1) – x\).
Bu egzersiz, kursun bir parçasıdır
PySpark ile Özellik Mühendisliği
Egzersiz talimatları
'YEARBUILT'değişkeninin negatif çarpıklığa sahip olduğunu doğrulamak içinskewness()toplulaştırma fonksiyonunu kullan.withColumn()kullanarak yeni bir'Reflect_YearBuilt'sütunu oluştur ve'YEARBUILT'değerlerini yansıt.'Reflect_YearBuilt'sütununu kullanarak, değerlerin 1/log()’unu alıp'adj_yearbuilt'adında başka bir sütun oluştur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
from pyspark.sql.functions import log
# Compute the skewness
print(df.____({____: ____}).____())
# Calculate the max year
max_year = df.____({____: ____}).____()[0][0]
# Create a new column of reflected data
df = df.____(____, (max_year + 1) - df[____])
# Create a new column based reflected data
df = df.____(____, 1 / ____(df[____]))