Why Python instead of Matlab and R?

Introduction

R. Erdem Uysal
2 min readApr 22, 2020

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 a 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 slightly better than Python
  • Linear algebra: Matlab better than Python
  • Programming constructs (loops, classes, etc.): Python better than Matlab
  • Machine Learning: Python a lot better than Matlab

References

  • TUT SGN-41007 Pattern Recognition and Machine Learning

--

--