Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Machine learning library for .net analog of Apache Mahout [closed]

Are there libraries for .net like Mahout. What you can recommend for machine learning?

like image 888
John Avatar asked Jun 25 '11 09:06

John


3 Answers

I don't believe I'm familiar with anything similar to Apache Mahout build on top of .NET, but I believe you could use the following approach to get pretty close (how close you can actually get depends on the specifics of what you're trying to do).

Mahout is in fact a collection of standard machine learning algorithms implemented on top of Apache Hadoop to allow them scale to large data sets, so to get the same effect in a .NET environment you'll need a distributed computation solution (and to keep with the spirit of Mahout, I'd use Map/Reduce implementation), and a machine learning library. Then you can pass the computation of the learning tasks to your Map/Reduce cluster.

For the Map/Reduce implementations you have the following options - there is Qizmt, which is an open source implementation of Map/Reduce by MySpace; there is also Hadoop.NET which is an attempt in class-for-class, api-for-api port of Hadoop from Java to C#; and last, but not least, you could look into using Hadoop itself by the way of streaming.

For machine learning you have the following .NET libraries - for plain Bayesian inference there is Microsoft's own Infer.NET; another simple machine learning library is Machine Learning for .NET; and finally the most well rounded machine learning/numerics library for .NET that I'm aware of is Accord.NET.

like image 144
Drag0nR3b0rn Avatar answered Nov 09 '22 10:11

Drag0nR3b0rn


http://research.microsoft.com/en-us/um/cambridge/projects/infernet/

This is Not completely what you have asked for but you can generate inference models for baysian hierarchical models. With this you can setup many machine learning task.

like image 34
Andreas Avatar answered Nov 09 '22 11:11

Andreas


In my research n personal stuff, I've played with a couple of things using WEKA (Java) and VBWeka (accessible to any .NET language).

One some occassions, I've tinkered with Erricsson Labs's Clustering API.

Google also offers an API (The Prediction API) that might be accessible via RESTFUL API (language agnostic), for various ML tasks.

like image 22
JWL Avatar answered Nov 09 '22 10:11

JWL