用于 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 模拟的机器学习库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章