Resources for working with Machine Learning in F#
I have learned a Machine Learning course using Matlab as a prototyping tool. Since I got addicted to F#, I would like to continue my Machine Learning study in F#.
I may want to use F# for both prototyping and production, so a Machine Learning framework would be a great start. Otherwise, I can start with a collection of libraries:
And the most important resources (to me) are books , blog posts and online courses regarding Machine Learning in a functional programming language (F#/OCaml/Haskell...).
Can anyone suggest these kinds of resource? Thanks.
EDIT:
This is a summary based on the answers below:
Machine Learning frameworks:
Related libraries:
Math.NET Numerics: internally using Intel MKL and AMD ACML for matrix operations and supporting statistics functions too.
Microsoft Solver Foundation: a good framework for linear programming and optimization tasks.
FSharpChart: a nice data visualization library in F#.
Reading list:
Any other pointers or suggestions are also welcome.
There isn't a single place to look for resources on F# and machine learning, but here are a couple of links that may be quite useful:
Numerical Computing section on MSDN is a good resource on using various numerical libraries from F#. The most advanced library that implements linear algebra and other algorithsm useful in machine learning is Math.NET Numerics.
Visualizing Data section on MSDN has some resources on charting in F#. The FSharpChart library is now maintained by Carl Nolan who regularly posts updates to his blog.
There are also a few personal pages of people who are working on relevant topics:
Jurgen van Gael (who did PhD in machine learning) contributed to the Math.NET library and you can read about his experience here.
Yin Zhu who wrote the Numerical Computing chapter on MSDN (and is a PhD student interested in machine learning) has quite a few excellent articles on his blog.
In addition to what Tomas mentioned, I spent some time with Infer.NET about a year ago and found it was pretty good for continuous graphical models. I know it's improved quite a lot over the last year in both the scope of the library and F# support. I suggest checking it out and seeing if it has what you need.
Hal Daume has implemented a lot of machine learning algorithms in OCaml and Haskell. Details see my answer in Machine learning in OCaml or Haskell?
As side from the Numerical Computing in F# book chapter on MSDN, I'd also like to recommend my Wrapper for Weka, WekaSharper. It allows you to call machine learning algorithms in Weka using an F#-friendly interface.
I wrote an article, Why F# is the language for data mining, which reflects my thinking when I finished writing a alpha/prototype-like data mining package in F#. libml is available online. But the code was written about two years ago when I started to use F#, and I didn't have time to maintain it since then.
链接地址: http://www.djcxy.com/p/80868.html上一篇: ST Monad ==代码味道?
下一篇: 在F#中使用机器学习的资源