如何处理98%的列值为null的数据集?

我想在服务器宕机之前预测其宕机时间。为了实现这一目标,我从不同的数据源收集了大量数据。

其中一个数据源是指标数据,包含CPU时间、CPU百分比、内存使用等。然而,这个数据集中许多列的值都是null。我的意思是,许多列中有98%的值是null。

在将数据应用于预测算法之前,可以使用哪些数据准备技术来处理数据?

任何帮助我都会非常感激。


回答:

如果我处于你的情况,我的首选方案将是忽略这个数据源。缺失数据过多,无法成为任何机器学习算法的相关信息来源。

尽管如此,如果你仍然想使用这个数据源,你将不得不填补这些空白。仅凭2%的可用数据来推断缺失数据几乎是不可能的,但是当你谈到超过90%的数据缺失时,我建议你可以考虑非负矩阵分解(NMF)这里

这种算法的几个版本在R中已实现,另外,为了在推断如此大量的缺失数据时获得更好的结果,你可以阅读这篇论文,它使用了时间序列信息——这可能是你的情况——与NMF结合以获得更好的结果。我对高达95%的缺失数据进行了一些测试,结果还不错,因此,如前所述,你可以丢弃一些数据,使缺失数据仅为80%或90%,然后对时间序列应用NMF。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注