Kaggle(住宅価格に関するヒューマンアナログのカーネル:Advance Regression Techniques)での住宅価格競争の解決策を経験していて、この部分に出会いました:
# 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])
歪んだ分布を正規分布に変換する必要があるかどうかはわかりません。誰かが詳細に説明できますか:
- なぜこれがここで行われているのですか?またはこれはどのように役立ちますか?
- これは機能のスケーリングとどう違うのですか?
- これは機能エンジニアリングに必要なステップですか?この手順をスキップするとどうなりますか?