如何处理机器学习的缺失数据

数据挖掘 机器学习 缺失数据
2021-09-23 23:13:30

我正在尝试提出一个数据结构来预测湖中的水能见度。我有一些测量样本,但想将其他特征纳入方程式。

例如,我想获取事件过去 7 天的天气数据,例如雨量和温度。我从 BigQuery 获得了这些数据,似乎工作正常。但有时它找不到过去 7 天的所有数据。我将如何处理这种情况?什么是构建我的功能的好方法?我想是这样的:

dayofyear,temp,water_temp,temp-1,rain-1,dayofyear-1,temp-2,rain-2,dayofyear-2,....,temp-7,rain-7,dayofyear-7,visibility

虽然最后一个是我喜欢在某个时候预测的领域。

2个回答

处理缺失数据的主要方法有三种。

  1. Impute - 使用一些方法以合理的猜测填充缺失值。您可以在两个时间点之间进行插值,取所有时间点的平均值,或者使用各种其他技术,利用其他变量的共现来获得合理的估计。

  2. 忽略 - 一些方法可以忽略丢失的数据,根本不在模型中使用它

  3. 利用 - 对于数据不是随机缺失的情况,缺失本身可以是一个信息特征。您可以包含缺失值作为另一个数据点来模拟您的输出。

在这种情况下,插值似乎是有意义的:任何时候你错过了一天,取之前和之后的平均值。

顺便说一句,我认为您不必如此轻易地放弃丢失的天气值。有多种 R 包可以简化从 Weather Underground 等人获取任意位置的天气,只需几行代码。