Live data from Hacker News

Tools to get started in machine learning

k2company.com

31–37 of 37 posts

Re: Tools to get started in machine learning

#31

If you're using a Mac, please don't install all of this individually. Instead, install the Scipy Superpack: http://fonnesbeck.github.com/ScipySuperpack/

The superpack is a great one-click option. For staying up to date, I find a package manager (like macports or homebrew) more effective for managing my python packages.

Re: Tools to get started in machine learning

#33
post #22

>I found the syntax baffling, the documentation copious, but written for mathematicians instead of hackers I'm always surprised how much people hate the syntax of R. I primarily work in Python, but I use R once or twice a week... and the syntax seems very clean to me. Can someone give mee an example of what you dislike with R's syntax? I'm even more surprised to hear complaints about the documentation in R. The help…

(Author here) - I don't have any specific examples, but I was learning R and Python at the same time. I found Python to be very practical and easy to learn. When learning R, I kept getting tripped up. Maybe it isn't that R was harder, but that I had a head start on Python. And as for documentation, R was certainly very complete, but once again, I found it harder. I think because R is written by, and probably for, pro…

R does have some weirdness (it took me ages to understand the index and slice notations), but it is very expressive.

I'm not a mathematician, and I've been programming Python for 15 years, but I'd always pick R for its stated problem domain given a choice.

I highly recommend "The Art Of R Programming" for learning R as a programming language. The statistical side of things are then easier to layer on top of that.

Re: Tools to get started in machine learning

#34

Does anyone have any experience with Octave and how it compares to the Python setup that OP suggests? What are the benefits/pitfalls?

Octave sits at an awkward half-way point between MATLAB and Python/R/Julia/etc. You get the shitty syntax of MATLAB at not quite MATLAB's speed and miss out on support as well as various incompatible toolboxes. So unless you have hard dependencies or lots of MATLAB code sitting around, Octave isn't that attractive an option.

It's great for matrix/vector maths, though. If that's all you do -- go for it. Everything over and above that is a royal pain in MATLAB and, conversely, in Octave.

Re: Tools to get started in machine learning

#35
post #4

Solid summary of some powerful tools, no wonder python is the new default for academic data analysis.

Word. Given Cython, Jython, etc.... this list keeps going (I use Weka in Python).

Can I get your email address? Check my profile for mine please. Thank you!

Re: Tools to get started in machine learning

#36
post #6

Solid summary of some powerful tools, no wonder python is the new default for academic data analysis.

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 Matl…

> 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.

Post reply on HN