weka - 关于Weka中的RandomTree

标签 weka data-mining

当我观察到 RandomTree 配置中的 minNum 字段时,我正在玩 weka。我阅读了描述“叶子中实例的最小总重量”的描述。 然而,我并不能真正理解它的意思。

我试过这个数字,我意识到当我增加它时,由此生成的树的大小会减小。我无法理解为什么会这样。

任何帮助/引用将不胜感激。

最佳答案

这与叶节点上的最小实例数有关(在决策树中通常默认为 2,如 J48)。您将此参数设置得越高,树的通用性就越高,因为具有许多实例数量较少的叶子会产生过于细化的树结构。

下面是 iris 数据集的两个示例,显示了 -M 选项如何影响结果树的大小:

$ weka weka.classifiers.trees.RandomTree -t iris.arff -i

petallength < 2.45 : Iris-setosa (50/0)
petallength >= 2.45
|   petalwidth < 1.75
|   |   petallength < 4.95
|   |   |   petalwidth < 1.65 : Iris-versicolor (47/0)
|   |   |   petalwidth >= 1.65 : Iris-virginica (1/0)
|   |   petallength >= 4.95
|   |   |   petalwidth < 1.55 : Iris-virginica (3/0)
|   |   |   petalwidth >= 1.55
|   |   |   |   sepallength < 6.95 : Iris-versicolor (2/0)
|   |   |   |   sepallength >= 6.95 : Iris-virginica (1/0)
|   petalwidth >= 1.75
|   |   petallength < 4.85
|   |   |   sepallength < 5.95 : Iris-versicolor (1/0)
|   |   |   sepallength >= 5.95 : Iris-virginica (2/0)
|   |   petallength >= 4.85 : Iris-virginica (43/0)

Size of the tree : 17

$ weka weka.classifiers.trees.RandomTree -M 6 -t iris.arff -i

petallength < 2.45 : Iris-setosa (50/0)
petallength >= 2.45
|   petalwidth < 1.75
|   |   petallength < 4.95
|   |   |   petalwidth < 1.65 : Iris-versicolor (47/0)
|   |   |   petalwidth >= 1.65 : Iris-virginica (1/0)
|   |   petallength >= 4.95 : Iris-virginica (6/2)
|   petalwidth >= 1.75
|   |   petallength < 4.85 : Iris-virginica (3/1)
|   |   petallength >= 4.85 : Iris-virginica (43/0)

Size of the tree : 11

作为旁注,随机树依赖于装袋,这意味着存在属性的二次抽样(随机选择 K 以在每个节点处进行拆分);然而,与 REPTree 相反,它没有修剪(就像在 RandomForest 中一样),因此您最终可能会得到非常嘈杂的树。

关于weka - 关于Weka中的RandomTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4845812/

相关文章:

machine-learning - 使用 SVM 进行分类和回归之间的差异

algorithm - 计算聚类系数

python - Python 中的 DBSCAN : Unexpected result

java - Weka - 如何在 Java 中使用分类器

machine-learning - 元过滤分类器和手动过滤分类器给出不同的结果

java - Weka 抛出 "UnassignedDatasetException"

machine-learning - 使用weka检测产品类别

python - 如何在python中的sklearn中获取GridSearchCV中的选定特征

java - java用于医疗诊断和数据挖掘的开源项目

algorithm - 大量图集中指导常见子结构的挖掘