시각화 사용하기: distplot
종속 변수의 분포를 이해하는 것은 매우 중요하며, 우리가 선택하는 모델 유형이나 전처리에 영향을 줄 수 있어요. 이를 확인하는 좋은 방법은 직접 그려보는 것이지만, PySpark에는 기본 제공 플로팅 기능이 없기 때문에 올바르게 작동하도록 중간 단계를 거쳐야 합니다. 이 연습 문제에서는 'LISTPRICE' 변수를 시각화하고, 왜도(skewness)를 계산하여 분포에 대한 인사이트를 더 얻어 볼 거예요.
matplotlib.pyplot과 seaborn 패키지는 각각 plt, sns 별칭으로 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
PySpark로 하는 Feature Engineering
연습 안내
sample()을 사용해 데이터프레임df의 50%를 샘플링하세요. 이때 복원 추출은 사용하지 말고, 랜덤 시드는 42로 설정하세요.- Spark DataFrame을
toPandas()로pandas.DataFrame()으로 변환하세요. seaborn의distplot()메서드로 분포 그래프를 그리세요.pyspark.sql.functions에서skewness()함수를 임포트한 뒤,agg()메서드로'LISTPRICE'열의 집계에 대해 왜도를 계산하세요. 계산을 평가하려면 결과에collect()를 호출하는 것을 잊지 마세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Select a single column and sample and convert to pandas
sample_df = df.select(['LISTPRICE']).____(____, ____, 42)
pandas_df = sample_df.____()
# Plot distribution of pandas_df and display plot
sns.____(____)
plt.show()
# Import skewness function
from pyspark.sql.functions import skewness
# Compute and print skewness of LISTPRICE
print(df.____({____: ____}).collect())