Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Jython/Python and ML

 
Greg Werner
Ranch Hand
Posts: 54
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What advantages would Python have over a more specific tool such as R or MATLAB/Octave in handling ML? I could read in data very quickly I imagine using Python, manipulate and/or clean it, and feed it into a nice classification algorithm, but in the long run lack of speed would kill me if I had to roll my own classification algorithms and I was working with any kind of real-life data set.
 
chris webster
Bartender
Posts: 2407
33
Linux Oracle Postgres Database Python Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This year's US Pycon had several talks about how people are using Python and specialist libraries such as scikit-learn for data analysis and ML:
 
Josh William
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I believe the reasons for choosing Python over R/Matlab/Octave for presenting machine learning within texts is more to do with availability and accessibility than technical capabilities or suitability of the languages/tools. All can do the job as far as the texts are concerned, but Python is more widely obtainable than commercial alternatives, is cross platform (though so are the others that are listed), and has more "conventional syntax" given other mainstream programming languages.

I have typically favoured Matlab over Python due to a lot of convenient built-in features of the program and widespread support of state of the art machine learning methods; but there are many features within Python that come in handy, particularly when developing larger machine learning applications, where data structures and design patterns take on a larger role.

Besides, once you know the underlying principles of the machine learning techniques you are interested in, I can't really see how using any of these tools/languages would cause any great disadvantage compared to another. The worst case would be that the technique requires extra work since it is not implemented/included within your chosen environment or is "less implemented" (i.e. there are less building blocks, which need to be first developed before bringing them together as a complete implementation).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic