用于 Apache Mahout 的 .net 模拟的机器学习库 [关闭]

Posted

技术标签:

【中文标题】用于 Apache Mahout 的 .net 模拟的机器学习库 [关闭]【英文标题】:Machine learning library for .net analog of Apache Mahout [closed] 【发布时间】:2011-09-22 13:06:11 【问题描述】:

有没有像 Mahout 这样的 .net 库。 您可以为机器学习推荐什么?

【问题讨论】:

【参考方案1】:

我不相信我熟悉任何类似于 Apache Mahout 构建在 .NET 之上的东西,但我相信您可以使用以下方法非常接近(实际能接近多远取决于具体情况你想做什么)。

Mahout 实际上是在 Apache Hadoop 之上实现的标准机器学习算法的集合,以允许它们扩展到大型数据集,因此要在 .NET 环境中获得相同的效果,您需要一个分布式计算解决方案(以及为了保持 Mahout 的精神,我会使用 Map/Reduce 实现)和机器学习库。然后您可以将学习任务的计算传递给您的 Map/Reduce 集群。

对于 Map/Reduce 实现,您有以下选项 - Qizmt,这是 MySpace 的 Map/Reduce 的开源实现;还有Hadoop.NET,这是对Hadoop从Java到C#的class-for-class、api-for-api端口的尝试;最后但并非最不重要的一点是,您可以通过streaming 的方式研究使用 Hadoop 本身。

对于机器学习,您有以下 .NET 库 - 对于普通贝叶斯推理,有微软自己的 Infer.NET;另一个简单的机器学习库是Machine Learning for .NET;最后,我所知道的最全面的 .NET 机器学习/数值库是 Accord.NET。

【讨论】:

【参考方案2】:

http://research.microsoft.com/en-us/um/cambridge/projects/infernet/

这不完全是您所要求的,但您可以为贝叶斯层次模型生成推理模型。有了这个,您可以设置许多机器学习任务。

【讨论】:

【参考方案3】:

在我的个人研究中,我使用 WEKA (Java) 和 VBWeka(任何 .NET 语言都可以访问)使用了一些东西。

在某些情况下,我修改了Erricsson Labs's Clustering API。

Google 还提供了一个 API (The Prediction API),可通过 RESTFUL API(与语言无关)访问,用于各种 ML 任务。

【讨论】:

【参考方案4】:

您可以将 IKVM 与 Apache OpenNLP 和 Weka 一起使用:

Introduction to using openNLP in .NET Projects

【讨论】:

【参考方案5】:

您可以尝试Numl,它包含有监督和无监督机器学习算法。

【讨论】:

以上是关于用于 Apache Mahout 的 .net 模拟的机器学习库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

mahout lucene 文档聚类howto?

0.6 中缺少 Apache Mahout Math VectorWritable?

Apache Mahout 性能问题

如何在实际项目中使用 mahout 随机森林?

Apache Mahout 中的矢量化

Mahout介绍和简单应用