The high level interpreted language Python has a plethora of extensions that can be added to it to customize the language to an individual’s needs. Such libraries are preprogrammed to do a specific task and therefore do not require any scratch programming. These libraries, when used in projects of Machine Learning, lower an immense load of coding humongous amounts of code and processing the said code while allowing for the programmer to focus on the data and the principle behind the said machine learning program.

Some of the widely utilized libraries with their functions are as mentioned below.

## Numpy

Numpy is a library of Python authored by Travis Oliphant and community project. Originally Python was not designed for Numeric Computation but it held great promise in the field. Therefore this library was developed to look towards the requirements of numeric computation. Numpy library contains the following packages:

- A powerful N-dimensional array object
- Sophisticated (broadcasting functions)
- Tools for the integration of C/C++ and Fortran code
- Linear algebra, Fourier transform along with random number capabilities.

Shown below are some simple examples of the library,

These commands can be used to find out the specifications.

Array creation is done like so:

## Pandas

Pandas is a high-level data manipulation library in Python developed by Wes McKinney which is based on the Numpy library. Pandas contains numerous packages but mostly it is utilized for its ‘Data Frame’. Data frame allows for the easy manipulation of tabular data in rows and columns. A simple example using a dictionary is stated below on the tabular manipulation of data via pandas,

Pandas is also able to read other databases like .csv files and .json files.

In case of Data- Handling Pandas is an extremely important library.

## Matplotlib

Matplotlib is a Python library originally authored by John D. Hunter and developed by Michael Droettboom, et al. Matplotlib is a library that includes helpful functions such as drawing 2D bar charts, graphs, histograms, error charts, scatter plots, etc. for the use of representing any such given info. This gives immense control over the desired type of outcome in a representation.

A simple plot using the Matplotlib library is shown below,

It has the ability to produce far much more complex graphs with proper code and databases such as,

And,

(The shown graphs are a result of comparison in the different criteria’s of Iris flower based on different aspects and different datasets).

## Scikit-learn

Scikit-learn is a free software machine learning Python library authored by David Cournapeau. Scikit-learn offers high-level tools for data mining and data analysis and is built on Numpy, Matplotlib, and SciPy. Due to this it features algorithms for regression, classification, clustering and also includes support vector, DBSCAN, random forests, etc. Therefore it is able to help out in the most important aspect of Machine Learning which is the ‘Learning’ part. This enables us to train the machine with the help of previous datasets to predict future data.

There are many libraries other than the ones shown here for machine learning in Python that contribute towards the goal to some extent.