ฉันกำลังแก้ไขปัญหาการแข่งขันด้านราคาที่อยู่อาศัยใน Kaggle ( เคอร์เนลของ Human Analog ในราคาบ้าน: เทคนิคการถดถอยขั้นสูง ) และได้ข้ามส่วนนี้:
# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew
skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index
train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])
ฉันไม่แน่ใจว่าจำเป็นต้องแปลงการแจกแจงแบบเบ้เป็นการแจกแจงแบบปกติอย่างไร กรุณาอธิบายให้คนอื่นทราบ:
- ทำไมสิ่งนี้ถึงถูกทำที่นี่? หรือว่ามีประโยชน์อย่างไร
- สิ่งนี้แตกต่างจากการปรับขนาดคุณสมบัติอย่างไร
- นี่เป็นขั้นตอนที่จำเป็นสำหรับวิศวกรรมคุณลักษณะหรือไม่ จะเกิดอะไรขึ้นถ้าฉันข้ามขั้นตอนนี้