在机器学习中,模型更容易从具有正态分布特性的数据中学习到有用特征。但我们经常会发现有些特征存在长尾分布,对于这种偏态分布数据,需要进行特殊的处理,本文首先观察特征分布情况,然后以量化的方式评估数据偏态程度从而挑选出偏态数据,最后对偏态数据进行对数化处理,对比处理前后的特征分布。
通过箱线图观察不同特征的分布情况
# 查看特征的数据倾斜情况
# 丢弃y值
all_features = df_train.drop(['label'], axis=1)
# 找出所有的数值型变量
numeric_dtypes = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
numeric = []
for i in df_data.columns:
if df_data[i].dtype in numeric_dtypes:
numeric.a