我们有一个包含多个特征的数据集 ~400,其中所有特征都有一个直方图,如下图所示(仅抽样了几个)
我们的假设
我们认为这看起来像是一些分类数据,其中很少有特殊的负数,而其他时间为零。
因此,我们将每个特征视为值是否为零的类别,并创建了一个具有二进制值 0 或 1 的新列。我们对值是否是这个特殊的负数做了同样的事情。我们最后又多了一个专栏。
换句话说,我们做了同样的事情,就好像我们为每个属性 A、B 和 C 设置了三个类别,并且我们想用 one-hot-encoding 对它们进行编码。这里 A 为 0,B 是我们的特殊负值,C 是其他任何值。回想一下,在一种热编码中,您丢弃了三列之一,因为它是多余的。
测试我们假设的实验
第一个实验:只有原始数据的线性回归
第二次测试:二值化特征的线性回归(每个特征两列,我们有两倍的特征)
第三次测试:二值化特征加上原始特征的线性回归(每个特征2列加上原始结果是特征的三倍)
结果
结果是第一个实验的表现比预期的要差。
如果我们的理论是正确的,这些可以表示为类别,那么第二个实验在 RMSE 方面会表现得更好。事实上,第二个实验表现得更好。
令人惊讶的结果是,当将初始数据与我们的二值化数据(具有比原始数据多三倍的特征的增强数据集)相结合时,RMSE 甚至更低!
这是为什么?