如何决定使用哪个决策树分类器?

机器算法验证 大车 威卡 经验法则
2022-03-26 12:47:51

我对在 weka 中为我的应用程序使用哪种决策树算法感到困惑。我有 5 个实际输入变量和 2 个类。在各种在线教程中,J48 (C 4.5) 似乎是首选算法。是否有任何经验法则/提示/技巧来决定应该使用哪种树算法?

Weka 决策树选择

1个回答

从 J4.8 开始,因为它是训练最快的并且通常会产生良好的结果。它的输出也是人类可读的,因此你可以看看它是否有意义。它有树可视化工具来帮助理解。它是最常用的数据挖掘算法之一。

如果 J4.8 没有给你足够好的解决方案,请尝试其他算法。

随机森林可能会为您提供更好的解决方案,但它不是人类可读的,并且不如 J4.8 快(由于正在训练多棵树)。

如果您想了解树算法如何更好地工作,我建议您遵循以下策略。

  1. 阅读有关 J4.8 及其培训方式的信息。大多数树算法使用 CART、ID3、C4.5、C5.0 的变体。它们在概念上非常相似。
  2. 之后阅读有关提升和集成方法的信息。
  3. 阅读有关随机森林的信息。他们使用上述方法的想法。
  4. 在这些算法之后阅读其他算法。例如, NBTree在叶子上使用朴素贝叶斯。LMT使用“用于构建‘逻辑模型树’的分类器,它们是在叶子处具有逻辑回归函数的分类树。”

还有一些问题需要考虑选择算法。

  • 我发现有些算法比其他算法更需要内存。我使用了 480 万个实例数据库,KDD99我可以用 4GB ram 训练 j4.8,但不能用随机森林训练很多其他算法,(神经网络、SVM 等)

  • 其他一些树分类器可能无法处理您的属性或您的班级规模。例如ADTree只支持两个类问题。某些算法可能不支持日期属性等。