From the webpage:
This library is designed to assist in the use of common Machine Learning Algorithms in conjunction with the .NET platform. It is designed to include the most popular supervised and unsupervised learning algorithms while minimizing the friction involved with creating the predictive models.
Supervised Learning
Supervised learning is an approach in machine learning where the system is provided with labeled examples of a problem and the computer creates a model to predict future unlabeled examples. These classifiers are further divided into the following sets:
- Binary Classification – Predicting a Yes/No type value
- Multi-Class Classification – Predicting a value from a finite set (i.e. {A, B, C, D } or {1, 2, 3, 4})
- Regression – Predicting a continuous value (i.e. a number)
Unsupervised Learning
Unsupervised learning is an approach which involves learning about the shape of unlabeled data. This library currently contains:
- KMeans – Performs automatic grouping of data into K groups (specified a priori)
Labeling data is the same as for the supervised learning algorithms with the exception that these algorithms ignore the [Label] attribute:
- var kmeans = new KMeans
(); - var grouping =
kmeans.Generate(ListOfStudents, 2);Here the KMeans algorithm is grouping the ListOfStudents into two groups returning an array corresponding to the appropriate group for each student (in this case group 0 or group 1)
- Hierarchical Clustering – In progress!
Planning
Currently planning/hoping to do the following:
- Boosting/Bagging
- Hierarchical Clustering
- Naïve Bayes Classifier
- Collaborative filtering algorithms (suggest a product, friend etc.)
- Latent Semantic Analysis (for better searching of text etc.)
- Support Vector Machines (more powerful classifier)
- Principal Component Analysis – Aids in dimensionality reduction which should allow/facilitate learning from images
- *Maybe* – Common AI algorithms such as A*, Beam Search, Minimax etc.
So, if you are working in a .Net context, here is a chance to get in on the ground floor of a machine learning project.