在F#中使用机器学习的资源

时间:2011-11-09 16:21:49

标签: .net f# functional-programming machine-learning

我使用Matlab作为原型设计工具学习了机器学习课程。由于我沉迷于F#,我想继续我在F#的机器学习研究。

我可能希望将F#用于原型设计和生产,因此机器学习框架将是一个很好的开始。否则,我可以从一系列库开始:

  • 高度优化的线性代数库
  • 统计资料包
  • 可视化库(允许绘制图表和图表并与之交互......)
  • 并行计算工具箱(类似于Matlab并行计算工具箱)

最重要的资源(对我而言)是书籍,关于机器学习的博客文章和在线课程,使用函数式编程语言(F#/ OCaml / Haskell ......)。

有人可以推荐这些资源吗?感谢。


修改

这是基于以下答案的摘要:

机器学习框架:

  • Infer.NET:用于在具有良好F#支持的图形模型中进行贝叶斯推理的.NET框架。
  • WekaSharper:围绕流行数据挖掘框架Weka的F#包装器。
  • Microsoft Sho:在.NET平台上进行数据分析(包括矩阵运算,优化和可视化)的持续环境开发。

相关图书馆:

阅读清单:

欢迎任何其他指示或建议。

4 个答案:

答案 0 :(得分:18)

没有一个地方可以在F#和机器学习上寻找资源,但这里有一些可能非常有用的链接:

还有一些人正在研究相关主题的个人页面:

  • Jurgen van Gael(曾在机器学习方面获得博士学位)为Math.NET库做出了贡献,您可以阅读his experience here

  • 在MSDN上编写数字计算章节的Yin Zhu(并且是一名对机器学习感兴趣的博士生)有很多excellent articles on his blog

答案 1 :(得分:8)

除了Tomas提到的内容之外,我大约一年前在Infer.NET花了一些时间,发现连续图形模型非常好。我知道它在去年的图书馆范围和F#支持方面都有了很大的改进。我建议检查一下,看看它是否有你需要的东西。

答案 2 :(得分:5)

Hal Daume在OCaml和Haskell中实现了许多机器学习算法。详细信息请参阅Machine learning in OCaml or Haskell?

中的答案

作为MSDN上Numerical Computing in F#书籍章节的一面,我还想推荐Weka的Wrapper,WekaSharper。它允许您使用F#友好界面在Weka中调用机器学习算法。

我写了一篇文章Why F# is the language for data mining,它反映了我在F#中编写类似alpha / prototype的数据挖掘包时的想法。 libml可在线获取。但是代码大约是两年前我开始使用F#时编写的,从那以后我没有时间维护它。

答案 3 :(得分:1)

APress将出版一本名为“Alpha”的书,即将发布:面向.NET开发人员的机器学习项目。 http://www.apress.com/9781430267676

目前现有的内容似乎是介绍性的,但很容易学习,其代码示例主要是F#。