编码连续直到超出范围的距离变量

数据挖掘 决策树 编码 一热编码
2022-02-17 22:35:10

我有一个distance连续的变量,直到“硬停止”,我们停止测量距离本身并将距离标记为“超出范围”。例子:

distances: 10.1, 11.3, 20.2, 36.5, 39.6, out_of_range, out_of_range

是否有一种最佳实践方法来编码直到某一点为止连续的数据?我考虑过设置:out_of_range = max(distances)以便将所有 out_of_range 数据设置为相同的值,但我不确定这是否会对 ML 模型产生影响,假设范围内距离较长的示例接近超出范围的示例。

这个 out_of_range 数据很有用,所以我不想只是从模型中删除它,但我希望能够在模型中区分 in_range 与 out_of_range 的示例。

对于上下文,我计划将此数据用作基于树的 ML 模型(例如 Random Forrest)的输入

1个回答

当您构建用于训练 ML 算法的特征时,您的数值特征几乎总是有上限和下限 - 有时比其他特征更明显。

但是,您正在处理的是一个类似于异常值的问题。您可以主要通过两种方式处理异常值:

  1. 定义上限/下限并用以下限制之一替换异常值:
    当您知道您不能/不关心超出此限制的值时,您将采用此方法。例如,一个人只能看到一段距离,而任何比该距离更远的东西都是不可见的,您没有任何其他理由了解更多细节。
  2. 删除具有异常值的数据点:
    有时,根据您的领域,您可以得出一个合理的结论,即这些异常值是错误数据捕获过程的结果。在这种情况下,完全丢弃这些数据点可能更有意义。

您可以猜到,这两种方法的选择取决于数据的性质和您正在处理的问题。