Ask HN: How-to Implement Machine Learning?
Ok, here's the deal. I'm taking a machine learning class using primarily Bishop's text. Awesome book. Awesome class.
How do you all suggest I implement the material though? In class we use MATLAB, but I'm slightly hesitant because I want to create some cool web applications.
O'Reilly's book Collective Intelligence uses Python, which I don't know, but I would learn it if it would be worth it.
Would I also have to learn Django?
Any insight would be greatly appreciated.
11 comments
[ 3.7 ms ] story [ 36.9 ms ] threadI've read the O'Reilly Collective Intelligence book, and Python was a nice fit for expressing the ideas in there. That book would definitely get you started with practical uses of ML quickly. I'm not sure any of it is that cutting edge though in the academic sense.
Also just finished On Intelligence by Jeff Hawkins last week. Good read. I plan to check out his company's ML ideas when I get some free time - they have free software for download too:
http://www.numenta.com/for-developers/software.php
Many languages have modules you can just use. And of course you could just write your native implementation of an algorithm in you language of choice.
Actually, nowadays some of the databases come with data mining algorithms built-in -- I know Oracle and SQL Server have this functionality.
So basically, lots of options.
http://lucene.apache.org/mahout/
You can glean some good idea from there. Hadoop has a bunch of python libraries if you want to go that route and write it yourself.
" In class we use MATLAB, but I'm slightly hesitant because I want to create some cool web applications."
It shouldn't really mater, just write a Thrift Service and you can call MATLAB from whatever your favorite language is.
At the very least, make sure your solution can easily and efficiently work with linear algebra, a plotting tool, and some basic statistics functions.
I'm a product manager, but was a Java & Perl programmer previously. I didn't know Python before I read this book. But the concepts are presented so clearly, the examples use web APIs, and the spark of creativity each chapter brings too great, that I could not resist the urge to fire up iPython on my Mac and play with some of the algorithms.
The book's examples are all command-line driven. But I've also converted a few of the examples into web projects to help me explore the possibilities more efficiently and demo/prototype some things for my company. Python works perfectly well as a CGI web application and you don't need the overhead of Django for learning and taking examples from this book to the next level.
I've since read several data mining and machine learning books, and must say that none come close to the breadth, programming detail, and hands-on ease presented in this book.
The book has created a rich opportunity to learn and explore concepts such as collaborative filtering, clustering, optimization, decision trees, and text mining with Bayesian classification.
Python is easy to read and learn.