Stavo attraversando una soluzione della concorrenza sui prezzi delle case su Kaggle ( Human Analog's Kernel on House Prices: Advance Regression Techniques ) e mi sono imbattuto in questa parte:
# 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])
Non sono sicuro di quale sia la necessità di convertire una distribuzione distorta in una distribuzione normale. Per favore, qualcuno può spiegare in dettaglio:
- Perché questo viene fatto qui? o come è utile?
- In che cosa differisce dal ridimensionamento delle funzionalità?
- È un passaggio necessario per l'ingegnerizzazione delle funzionalità? Cosa è probabile che accada se salto questo passaggio?