더 깊은 특징
이전 연습 문제에서는 두 개의 특징을 결합해 예측 모델에 유용한 추가 특징을 만들 수 있음을 보여드렸습니다. 이번 연습에서는 세 변수를 하나로 결합해 더 ‘깊은’ 특징을 생성해 보겠습니다. 그런 다음, 더 깊고 복잡한 특징이 항상 더 나은 예측 변수가 되는지 확인해 보세요.
이 연습은 강의의 일부입니다
PySpark로 하는 Feature Engineering
연습 안내
SQFTBELOWGROUND와SQFTABOVEGROUND를 더해 새로운 열Total_SQFT를 만드세요.Total_SQFT를 사용해BATHSTOTAL과 함께BATHS_PER_1000SQFT라는 또 다른 특징을 만드세요.Total_SQFT는 1000 단위로 스케일링해야 합니다.describe()를 사용해 새로 만든 특징BATHS_PER_1000SQFT의 최소값, 최대값, 평균을 확인하세요. 이상한 점이 보이나요?Total_SQFT와BATHS_PER_1000SQFT를 각각 \(x\) 값으로,SALESCLOSEPRICE를 \(y\) 값으로 하여jointplots()를 두 개 생성해 어느 쪽이 R**2 적합도가 더 좋은지 확인하세요. 이 더 복잡한 특징이SALESCLOSEPRICE와 더 강한 관계를 가지나요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create new feature by adding two features together
df = df.____(____, df[____] + df[____])
# Create additional new feature using previously created feature
df = df.____(____, df[____] / (df[____] / ____))
df[[____]].____().show()
# Sample and create pandas dataframe
pandas_df = df.sample(False, 0.5, 0).toPandas()
# Linear model plots
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()