Saya telah melalui solusi dari kompetisi harga Perumahan di Kaggle ( Kernel Analog Manusia tentang Harga Rumah: Teknik Regresi Lanjut ) dan menemukan bagian ini:
# 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])
Saya tidak yakin apa perlunya mengubah distribusi miring menjadi distribusi normal. Tolong, bisakah seseorang menjelaskan secara detail:
- Mengapa ini dilakukan di sini? atau Bagaimana ini membantu?
- Apa bedanya dengan penskalaan fitur?
- Apakah ini langkah penting untuk rekayasa fitur? Apa yang mungkin terjadi jika saya melewatkan langkah ini?