Tôi đã trải qua một giải pháp của cuộc cạnh tranh về giá nhà ở trên Kaggle ( Hạt nhân của con người về giá nhà: Kỹ thuật hồi quy nâng cao ) và tình cờ thấy phần này:
# 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])
Tôi không chắc chắn về nhu cầu chuyển đổi phân phối bị lệch thành phân phối bình thường là gì. Xin vui lòng, ai đó có thể giải thích chi tiết:
- Tại sao điều này được thực hiện ở đây? hoặc làm thế nào là hữu ích?
- Điều này khác với quy mô tính năng như thế nào?
- Đây có phải là một bước cần thiết cho kỹ thuật tính năng? Điều gì có khả năng xảy ra nếu tôi bỏ qua bước này?