我正在使用 Weka 的随机森林。我认为ID3算法用于找到每个级别的最佳拆分属性。但是在读了一点之后,我注意到 ID3 不能处理数字属性(例如需要 C4.5)。Weka 中的随机森林在将数字特征作为输入时确实没有问题……它们是如何处理的?
(另外一个小问题:Weka 仍然是您今天可以使用的东西,还是我需要为当前的研究切换工具?Weka 有时看起来有点“过时”......)
我正在使用 Weka 的随机森林。我认为ID3算法用于找到每个级别的最佳拆分属性。但是在读了一点之后,我注意到 ID3 不能处理数字属性(例如需要 C4.5)。Weka 中的随机森林在将数字特征作为输入时确实没有问题……它们是如何处理的?
(另外一个小问题:Weka 仍然是您今天可以使用的东西,还是我需要为当前的研究切换工具?Weka 有时看起来有点“过时”......)
Weka确实使用了自己的 C4.5 实现,名为 J48。
也就是说,它的 RandomForest 调用 RandomTree,它似乎是独立实现的,从未接触过 J48 代码。(据我所知,我通常不会在 Java 中工作,所以对它持保留态度。)除了显而易见的(RandomTree 子集功能可用)之外,我无法一眼看出是否存在实质性差异在每个节点上拆分)。
源码的模块树树文件夹的类层次结构
(点击查看J48、RandomForest、RandomTree等)