News for hackers. Stuff that matters.
Re:Tools to get started in machine learning by FrojoS on Thursday September 06, 2012 @03:54PM (#4485877)
Andrew Ng, in his machine learning class [1] urges people do use Matlab instead of Python, because in his experience people develop faster with Matlab than wit any other tool/language.

Personally, I am experienced with Matlab but not so much with Python, so I am not able to judge. I definitely hate the fact that Matlab is proprietary and partly closed source. Also, I think Python syntax is much more pretty while Matlab is not even designed to be a real language. But alas, it comes with very powerful functionality out of the box.

Note, that the OP mentioned in the introduction that he had no access to Matlab over his employer or university and hence dismissed it.

[1] https://www.coursera.org/ml (one of the first videos)

Re:Tools to get started in machine learning by 0ren on Thursday September 06, 2012 @05:19PM (#4486312)
Some good points for comparison:

http://www.scipy.org/NumPy_for_Matlab_Users

IMHO, it's best to prototype in Octave and then build in python. I find that the Matlab/Octave syntax is too focused on linear algebra, so it's better for small prototypes (and for people coming from non-SW fields). For big projects, I prefer the 0-based arrays, more than one function per file, and all the rest of the python goodies. I estimate that 70% of my time is usually spend preparing the data (e.g. parsing xml, or some other files, etc), for which I find python more suitable.

In fact, I usually work with them side by side, testing ideas in Octave, then implementing these pieces into a large python project.

Edit: this has also been discussed here before, e.g.

http://news.ycombinator.com/item?id=363096

http://news.ycombinator.com/item?id=689183

Re:Tools to get started in machine learning by iskander on Thursday September 06, 2012 @04:54PM (#4486179)
>Also, I think Python syntax is much more pretty while Matlab is not even designed to be a real language.

If you're only coding the core of an algorithm (rather than a full-featured library with lots of plumbing), and your logic fits naturally into Matlab's native array operators, then using Matlab is a joy.

Re:Tools to get started in machine learning by wookietrader on Friday September 07, 2012 @02:48PM (#4490575)
> Andrew Ng, in his machine learning class [1] urges people do use Matlab instead of Python, because in his experience people develop faster with Matlab than wit any other tool/language.

Never trust academics when it comes to programming. :)

Seriously, Matlab might be a tiny bit better for scientific programming than Python. But: if you start building an eco system around your machine learning code (distributed evaluation of models, email reporting of results, web reporting of results, online tracking of training progress, data base related things, web services for other people, proper documentation, ...) you are happy if you chose python.

Also, there is theano for python which has auto diff, transparent GPU/CPU use and symbolic optimization. It makes your life easy if you are using complicated models.

Re:Tools to get started in machine learning by otoburb on Thursday September 06, 2012 @04:17PM (#4486011)
It's too bad the OP didn't find Octave, which is an opensource Matlab clone that was also used in Andrew Ng's ML course.
Re:Tools to get started in machine learning by 0ren on Thursday September 06, 2012 @05:01PM (#4486216)
I am not sure that Octave preforms as fast as MatLab; for example, I think MatLab does a better job in parallelizing non-vectorized code.
Re:Tools to get started in machine learning by mmaul on Thursday September 06, 2012 @04:51PM (#4486167)
If you have taken Andrew Ng's Machine class the handwriting recognition system that is mentioned in the course was implemented in Lush. I think the original code is is even included in the demos distributed with Lush.