시작하기무료로 시작하기

오른쪽 치우침 데이터 보정

슬라이드에서 양의 왜도(분포가 왼쪽에 많이 몰려 있는 데이터)를 로그 변환으로 보정하는 방법을 살펴봤어요. 음의 왜도(분포가 오른쪽에 많이 몰려 있는 데이터)를 보정하려면, 역함수인 $\log\(의 역, 즉 (1/\)\log\()를 적용하기 전에 "반사(reflecting)"라는 추가 단계를 거쳐 데이터를 보다 정규분포에 가깝게 만들어야 합니다. 데이터 반사는 각 값을 다음 공식을 사용해 변환합니다: \)(x_{\text{max}} +1) – x$.

이 연습은 강의의 일부입니다

PySpark로 하는 Feature Engineering

강의 보기

연습 안내

  • 집계 함수 skewness()를 사용해 'YEARBUILT'에 음의 왜도가 있는지 확인하세요.
  • withColumn()을 사용해 새 열 'Reflect_YearBuilt'을(를) 만들고 'YEARBUILT' 값을 반사하세요.
  • 'Reflect_YearBuilt' 열을 사용해 값에 1/log()를 적용하여 또 다른 열 'adj_yearbuilt'을(를) 생성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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[____]))
코드 편집 및 실행