Mengoreksi Data Miring ke Kanan
Pada slide, ditunjukkan cara menggunakan transformasi log untuk memperbaiki data yang miring positif (sebaran data lebih banyak di sebelah kiri). Untuk mengoreksi kemiringan negatif (data lebih banyak di sebelah kanan), Anda perlu satu langkah tambahan yang disebut "reflecting" sebelum menerapkan invers dari \(\log\), ditulis sebagai (1/\(\log\)), agar data tampak lebih mendekati sebaran normal. Proses reflecting data menggunakan rumus berikut untuk merefleksikan setiap nilai: \((x_{\text{max}} +1) – x\).
Latihan ini adalah bagian dari kursus
Rekayasa Fitur dengan PySpark
Petunjuk latihan
- Gunakan fungsi agregat
skewness()untuk memverifikasi bahwa'YEARBUILT'memiliki kemiringan negatif. - Gunakan
withColumn()untuk membuat kolom baru'Reflect_YearBuilt'dan merefleksikan nilai dari'YEARBUILT'. - Dengan menggunakan kolom
'Reflect_YearBuilt', buat kolom lain'adj_yearbuilt'dengan mengambil 1/log() dari nilainya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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[____]))