Estaba analizando una solución de la competencia de precios de la vivienda en Kaggle ( Kernel de Human Analog's sobre precios de la vivienda : técnicas de regresión anticipada ) y encontré esta 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])
No estoy seguro de cuál es la necesidad de convertir una distribución sesgada en una distribución normal. Por favor, alguien puede explicar en detalle:
- ¿Por qué se hace esto aquí? o ¿Cómo es útil esto?
- ¿En qué se diferencia esto del escalado de características?
- ¿Es este un paso necesario para la ingeniería de características? ¿Qué es probable que suceda si me salto este paso?