Chỉnh độ lệch phải của dữ liệu
Trong các slide, chúng ta đã minh họa cách dùng biến đổi log để xử lý dữ liệu lệch dương (phân phối chủ yếu về bên trái). Để chỉnh lệch âm (dữ liệu chủ yếu về bên phải), bạn cần thêm một bước gọi là “phản chiếu” trước khi áp dụng nghịch đảo của \(\log\), được viết là (1/\(\log\)), để khiến dữ liệu trông giống phân phối chuẩn hơn. Phản chiếu dữ liệu sử dụng công thức sau để phản chiếu từng giá trị: \((x_{\text{max}} +1) – x\).
Bài tập này là một phần của khóa học
Feature Engineering với PySpark
Hướng dẫn bài tập
- Dùng hàm tổng hợp
skewness()để kiểm tra rằng'YEARBUILT'có độ lệch âm. - Dùng
withColumn()để tạo cột mới'Reflect_YearBuilt'và phản chiếu các giá trị của'YEARBUILT'. - Từ cột
'Reflect_YearBuilt', tạo thêm cột'adj_yearbuilt'bằng cách lấy 1/log() của các giá trị.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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[____]))