Đặc trưng sâu hơn
Ở các bài trước, bạn đã thấy cách kết hợp hai đặc trưng có thể tạo ra đặc trưng bổ sung tốt cho mô hình dự đoán. Trong bài này, bạn sẽ tạo các đặc trưng "sâu" hơn bằng cách gộp tác động của ba biến vào một biến. Sau đó, bạn sẽ kiểm tra xem các đặc trưng sâu và phức tạp hơn có luôn tạo ra bộ dự đoán tốt hơn không.
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
- Tạo một đặc trưng mới bằng cách cộng
SQFTBELOWGROUNDvàSQFTABOVEGROUNDđể tạo cột mớiTotal_SQFT - Dùng
Total_SQFTđể tạo thêm đặc trưngBATHS_PER_1000SQFTvớiBATHSTOTAL. Nhớ chuẩn hóaTotal_SQFTvề đơn vị hàng nghìn - Dùng
describe()để xem min, max và mean mới của đặc trưng vừa tạoBATHS_PER_1000SQFT. Có điều gì lạ không? - Tạo hai
jointplots()vớiTotal_SQFTvàBATHS_PER_1000SQFTlàm giá trị \(x\) vàSALESCLOSEPRICElàm giá trị \(y\) để xem cái nào có độ khớp R**2 tốt hơn. Đặc trưng phức tạp hơn này có mối quan hệ mạnh hơn vớiSALESCLOSEPRICEkhông?
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.
# 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()