Skip to main content

Why Python for Machine Learning


Python is the most commonly used programming language for Machine Learning.

Python is simple, elegant, consistent, and math-like. The clear syntax of python has earned it the name "executable pseudo code". Its English-like syntax makes coding simpler. 

The second reason for its popularity is availability of a number of freely available open source libraries. The scientific libraries like NumPy, and SciPy allow you to do vector and matrix operations. This makes the code even more readable and allows you to write code that looks like linear algebra.

Machine Learning is nothing but playing with datasets.

Python provides libraris to access data through csv files, webpages, etc. Through its data visualization libraries one can plot graphs of the available dataset both in 2D and 3D and handle most of the plots commonly available in the scientific world.  
Python provides us ease to process and manipulate text, which makes it ideal for processing non- numeric data.

Packages, Packages everywhere !

Python has a collection of various open source repositories which is developed by people (still in progress) which improves the efficiency and ease of coding. These libraries are due to collective efforts of lots of researchers developed over a huge period.  

Numeric computation library: NumPy
Deep Learning:
  • Open Source Machine Learning framework by Google:  Tensorflow
  • Scikit-learn 
  • Tensorflow+ scikit-learn: skflow 
  • Neural Networks in python with strong GPU acceleration: PyTorch
  • High level Neural networks API: Keras 
Work with images: opencv
Work with text - Natural Language Processing (NLP) / text analytics / parts of speech tagging:
 Data visualization: 
Tutorials on Machine Learning with Python:
Other platforms for Machine Learning:

MATLAB/Octave: 
MATLAB has a number of built-in features that make machine learning
easier. You can find a number of toolboxes for a given task. MATLAB is slow (execution time is slow). The main con of MATLAB is that it is not freely available. 


R:
Another great tool is R. It is an open source, free and made for data analysis. Similar to python it has English-like syntax, making it easy to write codes. Its a common tool used by tech companies while handling BigData. Similar to python, it can deal with matrices, vectors, lists, dataframes, etc. 

Comments

Popular posts from this blog

Git : Todo and not Todo : Part-2

Hello there! This is the second part to introduction to git. If you have not read the first part then please first go through that first, as proceeding along here without that introductory knowledge will not be really helpful.Here is a link TL;DR All the git commands that we will be talking about, now and later-: git init git clone git add git commit git status git remote git push git pull git fetch git branch git reset So, lately we learnt about Version Control Systems also abbreviated as VCS and got to know about git and how it is completely different from github and other VCS hosting websites. In this part we will be looking on the more practical part of using this wonderful tool and also why we should learn it very first in our development career. Later, I will also help you understand that git is just a small part of the entire development career that you aspire to make and why it should not be considered just more than a medium to share your code with...

Competitive Programming

Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Contestants are referred to as sport programmers. Competitive Programming mainly focuses on our ability to find efficient solutions to well-defined problems. Usually, a question arises - Why Competitive Programming? Many of the top tech companies like Google, Facebook hire people through a test which includes competitive programming. Also, participation in the ACM International Collegiate Programming Contest (ACM-ICPC) is a great opportunity to be seen by Apple, Facebook, Google, IBM and many other authorities in the IT sphere. These major companies are constantly keeping track of the participants to find talented employees. Having experience in competitive programming shows employers you can work in a team, solve complicated problems, work in stressful situations, manage time and deadl...

A beginners guide to NumPy

The previous post took you through the basics of machine learning using python with scikit-learn and tensorflow, this post will give you a brief introduction to Numpy. NumPy is a python package which stands for "Numeric Python". It enables you to do mathematical computations easily and effectively hence making coding simpler. http://www.numpy.org/ Installing via pip: After having python3 and pip installed, installing packages can be done using the following command on windows cmd. >>> python - m pip install -- user numpy scipy matplotlib ipython jupyter pandas --user   makes pip install packages in your home directory instead, which doesn't require any special privileges. Import Numpy: >>> import numpy as np Now we use np as a reference to numpy in the code. Numpy arrays: Create a numpy array of type np.ndarray: >>> A = np.array([[1,2,3],[4,5,6],[7,8,9]]) Create a numpy array containing ones/...

Git : To do and Not To do: Part- 1

Git is a version control system that helps to maintain versions of your work over time. The above line may seem a bit overwhelming to read at first, as there are words which most of us not really understand as of now. Just read along and I will help you in getting some idea of why git is a resource every developer has to be sound with and why it is a integral part of every developer's everyday life. A version control system :- We all have heard the saying that Rome was not built in a day and believe me, if it is not your college assignments , no great app was ever built in a day or at least without using a VCS( version control system). Every app has multiple sections. Every section require some skills that is used to develop it. A skill may come under a set of skill that a contributor has.  When we work alone or in a group with other developers, making any single project, it tends to happen that people take up sections that they are good at, as they believe that they can contri...