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

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

【问题讨论】:

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


    【解决方案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,它包含有监督和无监督机器学习算法。

            【讨论】:

              猜你喜欢
              • 2010-10-23
              • 2010-12-10
              • 2013-09-29
              • 2011-03-13
              • 1970-01-01
              • 1970-01-01
              • 2011-02-24
              • 2011-10-13
              • 2017-12-25
              相关资源
              最近更新 更多