特征排查的总结

项目背景

小学三年级的正转正续班率比其他年级的要低很多,我们想排查一下原因,方法如下:用xgb输出一下特征的重要度,选取一些排名比较靠前的特征,我们将该特征在训练集和测试集上的分布进行可视化。

可视化代码

# 只看三年级英语
train_df3 = train_df.loc[(train_df['grade']==13)&(train_df['subject']==1)]
pred_df3 = pred_df.loc[(pred_df['grade']==13)&(pred_df['subject']==1)]
print(train_df3.shape)
print(pred_df3.shape)


for col in [ col for col in cols if col not in ['user_id','clazz_number']] :
    print(col,':')
    
    f=plt.figure(figsize=(22,5))

    f.add_subplot(1,3,1)
    
    ax = sns.lineplot(data= train_df3.loc[train_df3['label']==0,col].value_counts())
    ax.set_title('label=0, col={}'.format(col))
    
    f.add_subplot(1,3,2)

    ax = sns.lineplot(data= train_df3.loc[train_df3['label']==1,col].value_counts())
    ax.set_title('label=1, col={}'.format(col))

    
    f.add_subplot(1,3,3)

    ax = sns.lineplot(data= pred_df3[col].value_counts())
    ax.set_title('pred, col={}'.format(col))

特征可视化
发现特征异常的处理方法:
1.查看所有参与主表join的特征表的分区是否都有数据;
2.查看特征工程是否跟随业务变化而作出相关调整,例如疫情期间作业数量和学币发放数量会比往常多,这时我们需要统计发放学币总数取学币发放的比例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值