Guide  Machine Learning with F#
F# is wellsuited to machine learning because of its efficient execution, succinct style, data access capabilities and scalability. F# has been successfully used by some of the most advanced machine learning teams in the world, including several groups at Microsoft Research.
Try F# has some introductory machine learning algorithms. Further resources related to different aspects of machine learning are below.
Related material also exists in other Guides. For detailed information, refer to the guides for:
This guide includes resources related to machine learning programming with F#. To contribute to this guide, log on to GitHub, edit this page and send a pull request.
Note that the resources listed below are provided only for educational purposes related to the F# programming language. The F# Software Foundation does not endorse or recommend any commercial products, processes, or services. Therefore, mention of commercial products, processes, or services should not be construed as an endorsement or recommendation.
Resources for Machine Learning
Tutorials and Introductions
Introductions to different machine learning algorithms with F#:
 FSML  A machine learning project in F#
 Gaussian process regression in F#
 KMeans clustering in F#
 Simplify data with SVD and Math.NET in F#
 Recommendation Engine using Math.NET, SVD and F#
 Setting up F# Interactive for Machine Learning with Large Datasets
 Random Forests in F#  first cut
 Nearest Neighbor Classification, Part 1
 Nearest Neighbor Classification, Part 2
 Decision Tree Classification in F#
 Naïve Bayes Classification
 Logistic Regression in F#
 Support Vector Machine in F#: getting there
 AdaBoost in F#
 Support Vector Machines in F#
 Kaggle/StackOverflow contest field notes
 F# Data Mining
 Parallel Programming in F#: Aggregating Data:
 Particle Swarm Optimization in F#
Machine Learning Packages
Several F# machine learning packages are available. Some are accessed through F#’s interoperability mechanisms to R, Python and Java. .NET packages can be found by searching on nuget.org. For example:

Accord.MachineLearning  Contains Support Vector Machines, Decision Trees, Naive Bayesian models, Kmeans, Gaussian Mixture models and general algorithms such as Ransac, Crossvalidation and GridSearch for machinelearning applications. This package is part of the Accord.NET Framework. See also First steps with Accord.NET SVM in F#

R Packages  All R packages can be accessed through the RProvider for F#. See, for example, F# Neural Networks with the RProvider and Deedle

Vulpes  A machine learning app using a deep belief network and connecting to the NVIDIA GPU unit using Alea.cuBase.

Ariadne  Library for fitting Gaussian process regression models.

Encog Machine Learning Framework  An advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train neural networks. See, for example, ENCOG Neural Network XOR example in F#

Numl  A machine learning library intended to ease the use of using standard modeling techniques for both prediction and clustering

DiffSharp  An automatic differentiation (AD) library for incorporating derivative calculations with minimal changes into existing code, providing exact and efficient gradients, Jacobians and Hessians for machine learning and optimization applications.

Hype  An experimental deep learning library, where you can perform optimization on compositional machine learning systems of many components, even when such components themselves internally perform optimization. Underlying computations are run by a BLAS/LAPACK backend (OpenBLAS by default).