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

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

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

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

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


回答:

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

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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