Я переглядав рішення конкурсу цін на житло на Kaggle (Ядерний аналог людини на ціни на житло : Техніка попередньої регресії ) і натрапив на цю частину:
# 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])
Я не впевнений, у чому полягає необхідність перетворення косого розподілу в нормальний розподіл. Будь ласка, чи може хтось детально пояснити:
- Чому це робиться тут? або Чим це корисно?
- Чим це відрізняється від масштабування функцій?
- Це необхідний крок для художньої інженерії? Що може статися, якщо я пропущу цей крок?