我想在服务器宕机之前预测其宕机时间。为了实现这一目标,我从不同的数据源收集了大量数据。
其中一个数据源是指标数据,包含CPU时间、CPU百分比、内存使用等。然而,这个数据集中许多列的值都是null。我的意思是,许多列中有98%的值是null。
在将数据应用于预测算法之前,可以使用哪些数据准备技术来处理数据?
任何帮助我都会非常感激。
回答:
如果我处于你的情况,我的首选方案将是忽略这个数据源。缺失数据过多,无法成为任何机器学习算法的相关信息来源。
尽管如此,如果你仍然想使用这个数据源,你将不得不填补这些空白。仅凭2%的可用数据来推断缺失数据几乎是不可能的,但是当你谈到超过90%的数据缺失时,我建议你可以考虑非负矩阵分解(NMF)这里。
这种算法的几个版本在R中已实现,另外,为了在推断如此大量的缺失数据时获得更好的结果,你可以阅读这篇论文,它使用了时间序列信息——这可能是你的情况——与NMF结合以获得更好的结果。我对高达95%的缺失数据进行了一些测试,结果还不错,因此,如前所述,你可以丢弃一些数据,使缺失数据仅为80%或90%,然后对时间序列应用NMF。