用于Apache Mahout的.net模拟的机器学习库

时间:2011-06-25 09:21:30

标签: c# java machine-learning data-mining

像Mahout这样的.net库吗? 你可以推荐什么机器学习?

5 个答案:

答案 0 :(得分:7)

我不相信我熟悉基于.NET的Apache Mahout构建类似的东西,但我相信你可以使用以下方法得到非常接近(你实际得到的接近程度取决于具体的细节)你想做什么)。

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

在我的个人研究中,我使用WEKA(Java)和VBWeka(可以使用任何.NET语言)进行了一些操作。

有一段时间,我用Erricsson Labs's Clustering API进行了修改。

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

答案 3 :(得分:0)

您可以使用与Open OpenLLP和Weka一起使用的IKVM:

Introduction to using openNLP in .NET Projects

答案 4 :(得分:0)

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