Five software suggestions for Machine Learning
I talked about why we need machine learning in the previous post, but this thing sounds a bit tough to be solved in an afternoon with paper and a pencil, don’t you think?
I’d like to talk in this post about the available software to help solve machine learning problems. There are solutions to cater all different needs, so I will go through them briefly so you can familiarize with the one you need more as soon as possible!
There are several programs and languages that can handle different the different algorithms that we’ll review in the next posts:
– Matlab: This proprietary software is a standard in universities and businesses due to its versatility and power. Easy to use and learn, the code in this blog will be almost entirely written for this software. There are free alternatives to Matlab, being the most compatible and powerful Octave.
– R: The real open source alternative to Matlab in statistics. Not compatible with the former, R is very used in academia with very successful results. Lacks a good GUI, but it is a masterpiece.
– Python: Powerful, reliable (and free) libraries have been released specifically for scientific computations and machine learning (NumPy and scikit-learn are good examples). Efficient memory usage and competitive results and computation time makes Python very appealing for serious work to be later deployed even in the market.
– SAS-based: I’m not very familiar with this software family myself, I have to admit. But it is certainly mostly used in corporate environments due to its simplicity and visualization capabilities. Most of the visual results nowadays are generated with this software (and some variants).
– Julia: It shouldn’t be here yet, as it is not as powerful, well-known or even well-suited to machine learning at this moment. Nevertheless, it’s a very promising language, and its versatility and growth in the past months make me suggest this software. A really worthwhile idea.
Consequently, there is no perfect software for everyone, so you will have to choose. I work with Matlab due to its simplicity in its language, but I am actually considering moving partially to Python to avoid memory usage restrictions. Now it’s your time to try them and choose one to start programming!
We lose many things simply out of our fear of losing them.
Paulo Coelho, Brida