当我们使用任何决策树算法并且我们的数据集由数值组成时。

我发现程序提供的结果将节点拆分为数据集中不存在的值

例:
分类结果


attrib2 attrib2> 3.761791861252009:groupB


在我的数据集中,attrib2没有值,如3.76179。
为什么会这样呢?

最佳答案

有几种选择属性的方法。而且并非所有人都选择数据集中的值。

一个普通的方法(虽然有点简单)是取平均值。 3.76179 ...可能是数据集中所有attrib2的平均值。

例如,如果您的数据集是一维的,并且由值-10, -9, .. -2, -1, 1, 2, ..9, 10组成,则很好的分割值将是0,即使它不在数据集中也是如此。

另一种可能性,尤其是在处理随机森林(几个决策树)时,是随机选择分裂值,其概率分布集中在中值附近。一些算法决定根据以平均值/中位数为中心的高斯进行拆分,其偏差等于数据集的标准偏差。

07-24 09:52