使用哪个机器学习库
cluster-analysis
machine-learning
svm
4
0

我正在寻找一个理想情况下具有以下功能的库:

  • 实现多维数据的分层聚类(理想情况下基于相似性或距离矩阵)
  • 实现支持向量机
  • 在C ++中
  • 有所记录(这似乎是最难的)

我希望使用C ++,因为我最熟悉该语言,但是如果库值得的话,我也将使用任何其他语言。我已经在Google上搜索并找到了一些内容,但是我真的没有时间尝试所有这些内容,因此我想听听其他人的经验。如果您对推荐的图书馆有一定的经验,请只回答。

PS:我也可以将不同的库用于集群和SVM。

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

好的,为了完整起见,我将发布最后的内容。我现在将scipy-cluster用于集群部分。这是我到目前为止发现的最通用的实现。我想我将在SVM部分使用libSVM (现在具有Python接口)。我正在使用Python,因为在C ++中确实找不到合适的分层聚类实现(C聚类库专用于微阵列,不支持多维数据)。

收藏
评论

通用机器学习库:

这两个类似于Weka。但是,他们要牢记效率。

1.鲨鱼(LGPL)

https://github.com/Shark-ML/Shark/

2.华夫饼(LGPL)

http://waffles.sourceforge.net/

SVM和其他线性分类器:

1.LibSVM(BSD风格)

2.LibLinear(BSD风格)

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

所有这些都使用C ++。

收藏
评论

它不是C ++,但您考虑使用R。特别是,请看一下CRAN的机器学习视图 ,该视图显示了上述许多库,包括Weka和libsvm。

收藏
评论

WEKA( http://www.cs.waikato.ac.nz/ml/weka/ )是一个出色的开源机器学习库,它满足您除C ++之外的大多数要求-它是用Java编写的。它的文档非常齐全,可以实现支持向量机和聚类,而我对此也有很好的经验。

收藏
评论

我只使用了很少的ML库,因此我很乐意推荐它们。 dlib ml当然是其中之一。

Sourceforge 在这里下载;和流血边缘检查:

hg clone http://hg.code.sf.net/p/dclib/code dclib-code

最初的图书馆创建者和现任维护者是戴维斯·金。

您的愿望清单与相关的dlib功能:

  • 良好的文档 :针对少数用户/开发人员的免费,开放源代码库,这可能就足够了;除了在五年的开发历史中不断完善的常规文档外,还有一个经常更新的Intro to dlib (一个低流量的论坛) ;以及大量优秀的示例 (至少包括一个用于SVM的示例 )。

  • C ++ :据我所知,在C ++中为100%。

  • 支持向量机算法:是;实际上,SVM模块一直是对该库的最新更新的重点。

  • 分层聚类算法:不开箱即用;但是,有用于k均值聚类的打包代码。显然,每种技术的结果都大相径庭,但是相似性度量的计算和随后的递归/迭代分区步骤是两者的核心,换句话说,层次聚类的计算引擎就在那里。要使现有的群集模块适应HC,将需要花费几行代码,但是考虑到您几乎是在数据表示级别上工作,这也不是主要的工作。

dlib ml还有其他几点建议。它是一个成熟的库(我相信它现在的版本是17.x,我相信是在2005年末发布了1.x版),但是它也仍在积极开发中,如回购日志所证明的(最新更新17.27是17) 2010年5月)和最后一次提交(2010年5月23日)。另外,它还包括其他很少的ML技术(例如,贝叶斯网络,内核方法等)。第三,dllib ml具有出色的“支持”库,用于矩阵计算和优化-两者都是许多ML技术的基本构建块。

在源代码中,我注意到dlib ml是根据BSL (Boost?)许可的, BSL是开放源代码许可证,尽管我对这种类型的许可证一无所知。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号