Why Python instead of Matlab and R in Machine Learning?
Machine learning has become an important tool for a vast of scientific and engineering disciplines and there are a lot of environments and tools to use when applying machine learning solutions, but which one to choose? Python, R, or Matlab? Let’s make a quick comparison between these and discuss the advantages of each one.
Why Python?
Python is becoming an increasingly central tool for data science. This was not always the case, ten years ago everyone was using Matlab instead of Python. However, due to high prices, licensing issues, and the rapid development of Python, scientific Python started to gain its user community. Nowadays, Python rapidly becoming the default programming language for practical machine learning applications. Python’s strength is in its simple syntax, readability, variability, and huge community. There are 2 versions: Python 2.7 and 3.6. however, version 2.x will not be supported anymore.
Alternatives to Python in Science
“Matlab is made for mathematicians, R for statisticians and Python for
programmers.”
Essential Modules of Python
- NumPy: The fundamental package for scientific computing and matrix/numerical analysis
- SciPy: Scientific computing utilities (linear algebra, FFT, signal/image processing…)
- scikit-learn: Machine learning
- scikit-image: Image processing
- OpenCV: Open Source Computer Vision Library
- Matplotlib: Plotting and visualization
- Seaborn: Statistical data visualization
- Pandas: Data analysis and manipulation
- Tensorflow, Keras, PyTorch: Deep Learning
- PyCharm: Editor
- Jupyter Notebook: Notebook format editor
- Spyder: Scientific Python Development Environment (Comes with Anaconda)
Things to Come
- The editor and the environment: Matlab is slightly better than Python
- Linear algebra: Matlab is better than Python
- Programming constructs (loops, classes, etc.): Python better than Matlab
- Machine Learning: Python is a lot better than Matlab
References
- [1] TUT SGN-41007 Pattern Recognition and Machine Learning Course