有些数据集中,很多特征都有大量的缺失值

如果一些特征的缺失值数量是一致的,那么这些特征可能是重复特征或者是关联特别大的.

代码如下:

########################### Let's find nan groups in V columns#这里是重点#######################
nans_groups = {}
nans_df = pd.concat([train_df, test_df]).isna()#显示每列中是否有null值
# print("nans_df=",nans_df)i_cols = ['V'+str(i) for i in range(1,340)]#所有的相似列名for col in i_cols:cur_group = nans_df[col].sum()#统计该列中的null数量,然后把null数量当做key值if cur_group>0:try:#如果key对应的列表存在nans_groups[cur_group].append(col)#字典,key是cur_group,value是nans_groups[cur_group](类型是list)except:#如果key对应的列表不存在nans_groups[cur_group]=[col]for n_group,n_members in nans_groups.items():print("n_group=",n_group)#打印的是null数量print("n_members=",n_members)print("------------------------------------------------------------")

进行KS检验,检查train和test的某个特定特征的数据的分布是否一致(因为上面的代码仅仅是检测null数量一致而已,null数量一致并不代表分布就一致,所以下面进行重复加检查)

########################### Let's check p values ###########################
features_check = []for col in test_group:features_check.append(ks_2samp(train_df[col], test_df[col])[1])#比较train和test中同一个属性的概率分布是否一致features_check = pd.Series(features_check, index=test_group).sort_values()
print(features_check)

用这些同分布的特征进行建模

########################### Lest try model with these features
if MAKE_MODEL_TEST:remove_features = [col for col in remove_features if col not in test_group]test_predictions = make_test_predictions(train_df, test_df, TARGET, lgb_params)print(metrics.roc_auc_score(test_predictions[TARGET], test_predictions['prediction']))remove_features += test_group

[2]中提到一个观点:

NAN一致的特征都来自同一个数据源

Reference:

[1]https://www.kaggle.com/kyakovlev/ieee-v-columns-pv

[2]https://www.kaggle.com/c/ieee-fraud-detection/discussion/105130#latest-625590

海量特征按照缺失值null/NAN数量异同进行分组归类相关推荐

  1. fillna填充某一列_pandas学习笔记 -了解数据集基本情况,提取数据,缺失值NULL的判断,删除和补充(dropna,fillna的用法)...

    part1 了解数据集基本情况 当我们面对一个很大的数据集的时候,如何快速得到他的行数与列数呢? 举个栗子,我们读取一个nhanes数据集,我们加上一个.shape,输出的结果就是他的行数和列数了. ...

  2. R语言中的特殊值 NA NULL NaN Inf

    这几个都是R语言中的特殊值,都是R的保留字, NA:Not available  表示缺失值   用 is.na() 来判断是否为缺失值 NULL:表示空值,即没有内容  用 is.null() 来判 ...

  3. pandas使用replace函数将所有的无穷大值np.inf替换为缺失值np.nan、使用pandas的fillna函数用经验固定值填充缺失值np.nan

    pandas使用replace函数将所有的无穷大值np.inf替换为缺失值np.nan(replace all infinities with a missing value).使用pandas的fi ...

  4. 【数据竞赛】99%情况下都有效的特征筛选策略--Null Importance。

    作者:杰少 Null Importance特征筛选 简介 目前数据量越来越大,数据特征维度也越来越高,这不仅对我们的计算存储带来了较大的挑战,与此同时,还会对模型的效果带来较大的损益. 如何既能节省内 ...

  5. Javascript 中的非空判断 undefined,null, NaN的区别

    JS 数据类型 在介绍这三个之间的差别之前, 先来看一下JS  的数据类型. 在 Java ,C这样的语言中, 使用一个变量之前,需要先定义这个变量并指定它的数据类型,是整型,字符串型,.... 但是 ...

  6. xarray的DataArray查看nan数量

    def len_of_nan_in_xarray(xr_data,data_name):#标出nan位置并转为一维location = np.isnan(np.array(xr_data[data_n ...

  7. 完全解析:使用Faiss进行海量特征的相似度匹配

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 作者丨Gemfield@知乎 来源丨https://zhuanlan.zhihu.com/p/210 ...

  8. Python Pandas DataFrame 删除缺失值 None Nan drop dropna 替换缺失值 fillna 重复值删除 duplicate 数值替换 replace apply

    一.获取缺失值. 二.剔除缺失值. 三.缺失值补全. 四.重复值剔除(按照行和列). 五.数值转换. 原始数据展示.数据下载链接 https://download.csdn.net/download/ ...

  9. 特征工程——缺失值显示和填充(集中趋势(众数、平均数、中位数)、缺失值矩阵图、条形图、集中趋势填充)

    一.引言 在数据挖掘过程中我们会发现由于各种原因都会存在缺少信息,数据不完整.产生的原因多种多样,主要分为机械原因和人为原因. 二.集中趋势 (1)众数:出现次数最多的变量值(M0):不易受极端值的影 ...

最新文章

  1. where()函数的用法
  2. Flot使用文档(转)
  3. 如何在Windows 10上限制Wi​​ndows Update的下载带宽
  4. ip变更 mysql无法启动_ubuntu mysql 更改IP导致mysql无法启动
  5. 安装Microsoft Visual Studio 2008的时候,经常会出现Microsoft Visual Studio Web创作组件安装失败的情况
  6. mysql开启中继日志,MySQL复制应用中继日志解析
  7. 2008社工新书《黑客社会工程学攻击》
  8. PHP扩展部署之最佳实践
  9. 第九次作业(杨辉三角)
  10. scrapy 使用无忧代理IP 需要填写无忧代理IP提供的API订单号(请到用户中心获取) 这个是要钱吗??...
  11. Mac操作系统-软件安装
  12. 爱奇艺千亿级数据查询服务实践
  13. android app wifi密码,无广告查看wifi密码的软件-WiFi密码查看清爽版app下载V999安卓版-西西软件下载...
  14. Neural-Motifs 源码解读(4):变量名缩写
  15. 【建议收藏系列】爆肝3w字带你理解什么叫运维~
  16. BGP的通告和选路规则
  17. 16.体测成绩判定(c函数调用)
  18. 【高等数学】一元函数微积分学
  19. 07年时写给刚入职的同事的一封信
  20. 区块链技术遇上元宇宙如鱼得水 三鼎发力开启元宇宙时代新篇章 Tycoon Zone新秀锐起 势不可挡

热门文章

  1. MySql 事务+异常处理+异常抛出
  2. 关于Response.redirect和Response.End出现线程中止异常的处理
  3. 解字符串不能超过8000的方法及交叉表的处理
  4. 安全手册(初稿)[转]
  5. CTF加解密/编码常用在线网址
  6. CG-CTF-Web-bypass again
  7. oracle 运营维护_oracle运维(持续更新)
  8. python读取文件夹下所有图片_python 读取单文件夹中的图片文件信息保存到csv文件中...
  9. java实验1_Java程序实验1
  10. 使用await实现多接口并行调用