Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

February 24, 2011

Machine Learning for .Net

Filed under: .Net,Machine Learning — Patrick Durusau @ 8:06 pm

Machine Learning for .Net

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:

  1. 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:

    1. var kmeans = new KMeans();
    2. 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)

  2. Hierarchical Clustering – In progress!
  3. Planning

    Currently planning/hoping to do the following:

    1. Boosting/Bagging
    2. Hierarchical Clustering
    3. Naïve Bayes Classifier
    4. Collaborative filtering algorithms (suggest a product, friend etc.)
    5. Latent Semantic Analysis (for better searching of text etc.)
    6. Support Vector Machines (more powerful classifier)
    7. Principal Component Analysis – Aids in dimensionality reduction which should allow/facilitate learning from images
    8. *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.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress