2
1

It seems that there are three popular languages for high-level ML work. Each seems to have it's own plusses and minuses. I'm having a bit of a hard time choosing which one to emphasize. As I see it it breaks down this way:

  • matlab (or octave)

pros: first-class linear algebra support, good libraries, decent visualization tools

cons: awkward language outside of core focus

  • R

pros: unbeatable statistical support, great visualization tools and libraries

cons: awkward language, matrix tools are less natural

  • python (via scipy)

pros: good general purpose language, covers ML essentials well

cons: not as natural for matrix/stat stuff as R or Matlab

I already know python and it seems that python code would be the easiest of the three to migrate from prototyping to real production code but it's certainly not as nice as Matlab for linear algebra work or R for stats. I know there's not a "best" language but what's a good first choice?

asked Sep 25 '10 at 11:38

Miles%20Egan's gravatar image

Miles Egan
195479


One Answer:

For prototyping I'm very happy with python+scipy. The notation might be a bit unnatural for matrices at first, but once you get used to it there are no simple one-line operations in matlab that require more than a couple of lines of python+scipy. The main problem is performance, but this can be improved by dropping to C code when necessary using scipy.weave.inline.

answered Sep 25 '10 at 13:56

Alexandre%20Passos's gravatar image

Alexandre Passos ♦
2554154278421

I'm leaning in the direction of python myself. I already know the language well and prototyping in a good, general purpose language seems to have a lot of advantages.

(Sep 25 '10 at 14:36) Miles Egan
Your answer
toggle preview

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.