我在我的数据集中有一个名为的特征distances,其范围从 200 到 12000(或多或少)。由于其他功能的值低于 50,我需要在distances.
我想到的第一件事就是对其进行规范化,例如将此特征保持在 0 到 10 的范围内。但是通过这种方法,我可能有很多不同的价值,这可能会产生太多的分裂。
我考虑的另一种方法是制作范围。例如
From 0 to 1000 => 1
From 1000 to 3000 => 2
From 3000 to 6000 => 3
From 6000 to 12000 => 4
//Or +6000 => 4
我相信这种方法会更好,因为决策三将只有 4 个分支用于此拆分。
现在我的问题:
将我们自己的范围分配给此类功能的正确方法是正确的方法,还是只是标准化然后使用某种算法为我们设置范围更好?
如果我们是应该决定范围的人,我的例子是否正确?组的范围应该是恒定的,或者至少是范围和分配的单位之间的关系是线性的。
像这样的东西:
From 0 to 3000 => 1
From 3000 to 6000 => 2
From 6000 to 9000 => 3
From 9000 to 12000 => 4
//Or +9000 => 4
我采用第一种方法的原因是因为distances得到的观察值较低而不是较高值。因此,我试图在 4 个类别中的每一个类别中获得一个具有相似观察量的平衡特征。
使用第二种方法时,几乎所有的观测值都属于 1 型或 2 型,因为大多数观测值distances都少于 5000 个单位。但是我不确定这是否是我在回归决策树中应该关注的问题。