Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resources for working with Machine Learning in F# [closed]

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:

  • Highly-optimized linear algebra library
  • Statistics package
  • Visualization library (which allows to draw and interact with charts, diagrams...)
  • Parallel computing toolbox (similar to Matlab parallel computing toolbox)

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:

  • Infer.NET: an .NET framework for Bayesian inference in graphical models with good F# support.
  • WekaSharper: a F# wrapper around the popular data mining framework Weka.
  • Microsoft Sho: a continuous environment development for data analysis (including matrix operations, optimization and visualization) on .NET platform.

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:

  • Numerical Computing: It is great for starting with Machine Learning in F# and introduces various tools and tips/tricks for working with these Math libraries in F#.
  • F# and Data Mining blog: It is also from Yin Zhu, the author of Numerical Computing chapter, highly recommended.
  • F# as a Octave/Matlab replacement for Machine Learning: Gustavo has just started a series of blog posts using F# as the development tool. It's great to see many libraries are plugged in together.
  • "Machine Learning in Action" 's samples in F#: Mathias has translated some samples from Python to F#. They are available in Github.
  • Hal Daume's homepage: Hal has written a number of Machine Learning libraries in OCaml. You would feel relieved if you were in doubt that functional programming was not suitable for Machine Learning.

Any other pointers or suggestions are also welcome.

like image 929
pad Avatar asked Nov 09 '11 16:11

pad


People also ask

Which resources help define a machine learning ML problem?

Resources by Machine Learning CategoryData Exploration (Resource1, Resource2, Resource3) Feature Selection (Resource1, Resource2) Dimensionality Reduction (Resource1, Resource2)

What library is required to support the development of machine learning models?

TensorFlow is one of the best library available for working with Machine Learning on Python. Offered by Google, TensorFlow makes ML model building easy for beginners and professionals alike.

Is F# good for machine learning?

F# excels at data science and machine learning.


2 Answers

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.

like image 51
Tomas Petricek Avatar answered Oct 08 '22 21:10

Tomas Petricek


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.

like image 29
Rick Minerich Avatar answered Oct 08 '22 19:10

Rick Minerich