I've been doing some experiments using "machine learning" on several projects and I would like to talk a bit about them. For now all I am coding in Python, but also I'll comment on some Java and C++ libraries.
A simple to use is FANN (Fast Artificial Neural Network). It also has ports for Python and other languages (PHP, Java, Perl, etc.. Although the Python version of Python did not work for me for some reason).
For Support Vector Machines I used LIBSVM (A Library for Support Vector Machines). In the website you can even find a number of recommendations for using SVMs. Other libraries supporting SVM are PyML and MLPy (but for some reason the compilation did not work on my machine, so I used LIBSVM).
A very interesting library implementing a Naive Bayes Classifier is Orange. I have not tested but it looks good, plus, it has good documentation and links to various datasets.
If you are interested in Reinforcement Learning, Tiles is a library in Python (also in C + + and Lisp) that allows you to "transform" the inputs to a value function represented by an array of tiles. In general, to represent a state in high resolution tiles are better than just simple states.
If you want a "decision tree" you can use this that is included and explained in the book "Collective Intelligence". I think that the algorithm used is based on ID3.
And finally, mahout. This is an Apache Foundation project. For now is out of my reach to test it. I do not have the infrastructure or the need to use it. It is based on Hadoop and mapreduce concepts. Very interesting.
PS: If you want more resources about machine learning, these are my delicious bookmarks on the topic.
Monday, 27 July 2009
Some Machine Learning Libraries
Posted by
Arturo Servin
at
16:29
3
comments
Labels: libraries, machine learning, open source
Thursday, 23 August 2007
Gnuwin32
This is an alternative to have some GNU applications (e.g. grep, gawk, ls, wget, etc.) in your windows machine without installing cygwin. It is not so powerful as Cygwin but it does the trick to install some applications to run some scripts. For me it has been useful to run some scripts with gawk and wget.
To get it, download from http://getgnuwin32.sourceforge.net/ It will probably redirect you to the download page of sourceforge. I will suggest downloading and installing all the packages instead of installing just the application that you need (e.g. wget). The package manager will then take care of any updates that your applications will need in the future.
After download and run the exec file, it will prompt asking for a destination to decompress the file. You can choose whatever you want. You will need to move it to someplace else later, so a good place may be “My Documents”. To install, follow the instructions. This is just a summary; if you want details you can check the readme file in the package.
1) Configure wget if you are behind a proxy. (use bin\wget.ini)
2) Edit and select your mirror in download.bat
3) If 1 and 2 worked, it will start to download stuff (all the applications pacakes)
4) After finishing the dowload run install.bat. It will start to decompress the packages
5) The following is optional, but I suggest to do it because it will be easy to work with the programs in gnuwin32
6) You will see now a folder “gnuwin32”. Now you can move the entire directory to “C:\Program Files”
7) After moving the entire gnuwin32 run “update-links.bat” to update any orphan link.
8) Copy the folder “Star Menu” inside gnuwin32 to the Start Menu of your windows desktop. When executed the shortcuts inside will automatically start a cmd in the path of gnuwin32.
9) That’s all. Enjoy.
There are some more optional things that you can do. Because I do not use them and they can “mix up” some original windows applications with the same name in the gnu package I will not explain them here. If you want to do it, check the readme file.
Packages in GNUWin32
Posted by
Arturo Servin
at
02:51
0
comments
Labels: gnu, open source, windows