首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >决策树归纳开源代码

决策树归纳开源代码
EN

Stack Overflow用户
提问于 2010-10-04 15:54:46
回答 3查看 4.8K关注 0票数 1

我正在为计算机视觉课程准备一个任务,其中包括在从图像中提取特征后训练一个简单的分类器。由于机器学习不是这里的主要主题,我不希望学生从头开始实现学习算法。因此,我不得不向他们推荐一些参考实现。我相信决策树分类器适用于此。

问题是这个类允许的语言种类相当多: C++,C#,Delphi。此外,我不希望学生花费大量时间来处理任何技术问题,如链接库。WEKA对于Java来说是很棒的。我们也可以对所有的包装器使用OpenCV,但是它很大很笨拙,而我想要一些简单和甜蜜的东西。

那么,您是否知道用于学习决策树的简单C++/C#/Delphi库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-05 14:35:01

我知道这样的库,我最近只用过其中的一个。这两个是WafflesTilburg-Based Memory Learner (TiMBL)。两者都是免费和开源的(分别是lgpl和GNU gpl )。此外,这两个库都是稳定、成熟的库。Waffles是由一个开发人员创建和维护的,而TiMBL我相信是一个学术项目(针对语言学领域)。

在这两个库中,我只使用了Waffles中的决策树模块(在类GDecisionTree中,请参阅文档here),因为它包含一组用于描述性统计的函数,以及用于诊断、可视化解决方案空间等的绘制函数。Library的作者(Mike Gashler)也包括了一组演示应用程序,尽管我不记得这些应用程序中是否有一个是决策树。

我使用过Waffles Library中的几个类(包括decision tree类),我当然可以推荐它。关于基于Tilburg的Memory Learner,我不能再多说了,因为我从来没有使用过它的决策树类。

票数 2
EN

Stack Overflow用户

发布于 2010-10-08 03:40:35

您看过Alglib中的“决策森林”实现吗?它是免费的,供学术使用。该网页声称支持C++/C#和(可能) Delphi。这不是一个决策树实现,但在许多问题上,random forests往往比单个决策树更好的分类器,而且它们不需要花费太多时间来训练。我的猜测是,很难找到跨多种语言的一致决策树实现,因为有太多不同类型的决策树算法。

如果Alglib库不是您所需要的,在Wikipedia文章中列出了许多其他的开源随机森林库。Cavaet: Alglib实现声称不是传统的随机森林。

票数 2
EN

Stack Overflow用户

发布于 2010-10-07 18:59:49

编程语言不是问题。很难找到每种语言的决策树实现。几乎不可能保证所有版本都是相同的实现。

因为决策树是一种黑盒方法。您可以将训练和测试数据写入标准文件(例如,Weka中的arff格式,opencv也有自己的格式)。并使用命令行调用树学习器和测试器。这样,所有的学生都有相同的决策树。否则,学生A使用好的树学习器,学生B使用不好的树学习器,当他们的结果不同时,你不知道这是来自于决策树的差异还是CV部分(例如特征处理)。在这种情况下,您将进入这样的情况,即您必须关心树学习者的详细信息/实现质量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3853490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档