观察数据的分布

在这里记录一些在学习,比赛中用到的 EDA 方法,当作备忘录吧…

1 缺失值

有些缺失值不是 nan,还可能是 -1, inf, ‘-’ 等特殊数字字符

对于 object
首先通过 Train_data.info() 查看有哪些 object
对特定的列 Train_data[col].value_counts() 查看值分布
若出现 ‘-’ 等特殊字符就看作缺失值,可先设置为 nan 或 ‘nan’ 好处理

Train_data[col].replace('-', np.nan, inplace=True)

然后绘图好观察缺失值分布情况

Train_missing = Train_data.isnull().sum()
Train_missing = Train_missing[Train_missing>0]
Train_missing.sort_values(inplace=True)
Train_missing.plot.bar()

测试集也做一遍

2 数据分布失衡

可以通过绘图查看数据的分布情况
对于取值很少,且分布严重失衡的进行删除

plt.figure(figsize=(15, 9))
cols = 6
rows = len(Train_data.columns)//cols+1
i = 1
for col in Train_data.columns:
    plt.subplot(rows, cols, i)
    sns.distplot(Train_data[col])
    i += 1
plt.tight_layout()

3 标签分布

做回归问题时,观察 label 的分布情况,要满足正态分布

sns.distplot(Train_data['price'])

然后使用对数变换,注意有没有 0,考虑加 1

Train_data['price'] = np.log(Train_data['price'])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值