Python for Machine Learning

Why Python for Machine Learning?

A 2018 GitHub study looked at contributors to repositories tagged with the “machine-learning” topic, and ranked the most common primary languages of the repositories. Python was the most common language among machine learning repositories and the second most common language on GitHub overall (2019).

Top Machine Learning Programming Languages on GitHub (2018)

Some of the reasons for its adoption and its fast growth are:

  • Accessible and has a smooth learning curve.

  • Very simple to read and write.

  • Efficient and reliable for many applications.

  • Healthy, active, and supportive community.

  • Vast ecosystem of libraries and tools.

Top Programming Languages on GitHub (2019)

Python has many awesome visualization packages and an amazing ecosystem of useful machine learning libraries such as:

  • Numpy: Numeric Python or Numpy is a Linear Algebra Library for Python with powerful data structures for efficient computation of multi-dimensional arrays and matrices.

  • Pandas: It is the most popular Python library which provides highly optimized performance for data analysis.

  • Matplotlib: It is a popular python plotting library used for creating basic graphs like line charts, bar charts, histograms, and many more.

  • Seaborn: Provides a high-level interface for creating attractive graphs.

  • Scikit-Learn: It is used for data mining, data analysis, and machine learning. Contains a wide range of machine learning algorithms like classification, regression, and clustering algorithms including support vector machines, random forests, gradient boosting, k-means.

  • Tensorflow: It is a free and open-source software library for dataflow and differentiable programming across a range of tasks. It is a symbolic math library, and is also used for machine learning applications such as neural networks.

  • PyTorch: It is an open-source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing, primarily developed by Facebook's AI Research lab.