请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

13万样本40个变量,90%的变量缺失值在48%以上,请问怎么办?

如题,其中因变量为1/0变量,等于1的有4万条。

有同事建议选某个变量不为空的行数,选完还剩7万条,此时各变量的缺失率就都在20%以下了。请问这样合理吗?被删除的6万行里也有1万条因变量为1的。

请问这个数据应该怎么办?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2021-10-04 02:52:21

其实我没有特别理解你的具体问题,但我大体理解就是,你的数据中存在大量缺失值。


关于数据中缺失值的处理,可以参考这个问答中列出的一些内容:https://coding.imooc.com/learn/questiondetail/G4daeRY493bXnWEp.html


13 w 的数据砍半,是否可以?只能说值得尝试,但我无法给出肯定的回答。对于有些应用来说,7 w 数据足够了,有些应用则不够。


从另外一个角度,也和你的这最终得到的 7w 数据,是否有偏有关。这就是缺失值产生的原因有关。有可能因为某一个特定原因产生了缺失值。比如病人数据中,监测血压的仪器是坏的,高压到一定程度就读不出数了,最终结果就是所有有缺失值的数据都是高血压患者,那么砍掉有缺失值的数据,剩下的数据就反映不出“高血压”这个条件。在这种情况下,你有 1000 万数据,剩下 999 万数据,也不能反映出高血压这个条件。用算法补缺失值也没有用,因为算法无法根据已有数据推出缺失值是异常的高压。(除非有其他指标和高压强关联。)


这就是机器学习本身复杂的地方,他是没有一定之规的。并且,在大多数真实应用中,单纯的从数据或者算法的角度考量,是不能发现很多问题的。而必须从领域的角度考量。到底为什么产生了这些缺失值?用算法补缺失值合理吗?还是扔掉缺失值就行?在这个应用下,到底多少数据够用?等等等等,这些问题都是强领域相关,甚至在同一个领域下,强任务相关的。


最后,一个很重要的点就是,去探究一下有没有可能获得缺失值更少的数据(而非陷入算法和数据处理中,和当前的数据较劲)。当然,这也是领域相关的,比如有些领域的有些数据拿到就是难的(医学领域很明显),那就没有办法;担忧的情况,可能只是你获得数据的算法或者设备稍作改良或者升级就可以,那就值得做。

这个投资,无论是时间上还是金钱上,很有可能比将大量时间和金钱花在数据分析和模型试验上要值。这本身也是数据为什么值钱的原因。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 波波老师,以下我发的这个问题在新提问里也发布了,但我怕您没注意到,所以在这里再写一遍,希望您能看到,打扰您了!
    
    我用python建逻辑回归(每条记录代表一个注册客户的各种信息)碰到如下问题:
    
    1、某两个自变量放入逻辑回归模型前和因变量是正向关系,放入模型后系数为负。请问这是别的那些进入模型的自变量组合影响的吗?它们是怎么影响的能告诉我吗?我一直没有搞懂…
    回复 有任何疑惑可以回复我~ 2021-10-06 22:19:34
  • 3.逻辑回归调好模型后,放入陌生数据集去score,这个陌生数据集里很多进入模型的变量缺失值都很多,这样score出的高分人群能用吗?score的时候对数据集的缺失值有要求吗?
    回复 有任何疑惑可以回复我~ 2021-10-06 22:20:02
  • 2、有个自变量叫country_US,是我把country变量(值是CN/JP/US/空,表示是公司为哪个国家建的网站,为哪个国家做打开语言都是那个国家的文字,方便那个国家的客户浏览网站并付款下单)做哑变量get_dummies得到的,country_US的值为1表示这个客户是在美国版的网站注册的。二分类因变量resp表示是否下单。实际上美国网站的注册客户下单特别多,是我们的销售重点,但是模型的结果country_US的系数是负的。就算在放入模型前,它和因变量的corr也是负相关,老板那里我不知道怎么解释…
    回复 有任何疑惑可以回复我~ 2021-10-06 22:21:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信