|
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:
pros: first-class linear algebra support, good libraries, decent visualization tools cons: awkward language outside of core focus
pros: unbeatable statistical support, great visualization tools and libraries cons: awkward language, matrix tools are less natural
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? |
|
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. 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
|