我正在处理一个涉及大量 NA 的问题。大众如何解决这个问题?在管道输入大众格式之前,我是否应该尝试用 colmeans 或类似的东西来估算 NA?
Vowpal Wabbit 如何处理 NA 或缺失值?
机器算法验证
预测模型
vowpal-wabbit
2022-03-15 07:37:31
1个回答
详细说明我的答案:
假设您的数据的第一行是:
y, v1, v2, v3
10, 5, NA, 3
该行的 VW 字符串编码为:
10 |v1:4 v2:NA v3:3
正如您可能发现v2:NA
的那样不适用于大众,因为冒号后面的部分需要是数字。
一个简单的解决方案是:NA
在您的 VW 字符串中找到,并将其替换为_NA
:
10 |v1:4 v2_NA v3:3
这在大众汽车中可以正常工作,因为它会在内部重新编码v2_NA
为v2_NA:1
.
这将允许模型了解当 v2 为 NA 时会发生什么,以及这与已知情况有何不同。
您可以估算中位数,但这可能是一个更好的主意:
- 为每个变量计算一个“NA 标志”,当它是 NA 时为 1,当它不是时为 0。
- 从您的大众培训文件中省略 NA 变量。
- 在您的数据集上进行训练,省略 NA 并包括标志。
这将让大众建立一个模型,为 NA 变量预测一件事,当它存在时预测另一件事。
其它你可能感兴趣的问题