当我们使用任何决策树算法并且我们的数据集由数值组成时。
我发现程序提供的结果将节点拆分为数据集中不存在的值
例:
分类结果
attrib2 attrib2> 3.761791861252009:groupB
在我的数据集中,attrib2没有值,如3.76179。
为什么会这样呢?
最佳答案
有几种选择属性的方法。而且并非所有人都选择数据集中的值。
一个普通的方法(虽然有点简单)是取平均值。 3.76179 ...可能是数据集中所有attrib2的平均值。
例如,如果您的数据集是一维的,并且由值-10, -9, .. -2, -1, 1, 2, ..9, 10
组成,则很好的分割值将是0
,即使它不在数据集中也是如此。
另一种可能性,尤其是在处理随机森林(几个决策树)时,是随机选择分裂值,其概率分布集中在中值附近。一些算法决定根据以平均值/中位数为中心的高斯进行拆分,其偏差等于数据集的标准偏差。