gpt4 book ai didi

algorithm - Reptree (WEKA),只对数字属性的值进行一次排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:58:19 24 4
gpt4 key购买 nike

我正在使用 weka 的 Reptree 算法。该算法没有详细文档,只有:

快速决策树学习器。使用信息增益/方差减少构建决策/回归树,并使用减少错误修剪(带回溯)对其进行修剪。仅对数字属性的值排序一次。缺失值通过将相应的实例分成几部分来处理(即如 C4.5 中所示)。

任何人都可以解释一下,“只对数字属性的值进行一次排序”是什么意思。

我正在尝试重新实现这个算法,但仍然没有得到接近的结果。

谢谢

卢博米尔

最佳答案

我最近一直在寻找关于 Weka 的 RepTree 的相同答案,偶然发现了这篇文章,我无法在网上找到足够的答案,所以我打开了源代码并投入其中。

“只对数字属性的值进行一次排序。”意味着该算法在运行开始时对数据集中的所有数字字段进行一次排序,然后使用排序后的列表计算每个树节点中的正确拆分。

通过阅读源代码,我大致了解了该算法的工作原理:

1) 对于非数字(离散)的分类,它使用具有减少错误修剪的常规决策树[ http://www.stat.cmu.edu/~ryantibs/datamining/lectures/23-tree.pdf]它最大化熵值,你可以在weka.core.ContingencyTables下的源代码中看到确切的方法实现 - entropyConditionedOnRows(double[][] matrix)

2) 对于numeric 值的分类,变化在于它最小化了总方差。

此外,对我来说,弄清楚输出树非常令人困惑,特别是在数字分类中,这个叶输出是什么意思:

years_since >= 9.03 : 4.64 (8/0.68) [8/6.76]

1)在非数值(离散)分类中,':'后的第一个数字是树的分类值,()括号中的第一个数字是正确分类实例的数量从该叶子下的训练集中,第二个数字是在叶子下但具有不同分类值的实例数量,而在 [] 括号中,第一个数字是来自修剪集的正确分类的数量,第二个数是错误的分类。[ http://weka.8497.n7.nabble.com/about-REPtree-td15188.html]

2) 在numeric 分类中,这个输出意味着别的东西。 ':' 之后的第一个数字是属于该叶子的训练集中样本的平均值 (x_mean),() 括号中的第一个数字是属于该叶子的值的权重 -k- (权重表示我从代码中得出的样本数),而第二个值是样本的方差,表示 sum_i_from_1_to_k((x_i-x_mean)^2)/k。在 [] 括号中,第一个是属于该叶子的修剪 -L- 集中的样本数量,而第二个数字是相对于训练集中的 x_mean 的方差,意思是 sum_i_from_1_to_L((y_i-x_mean)^2 )/大号

希望对你有帮助

关于algorithm - Reptree (WEKA),只对数字属性的值进行一次排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com