What do you mean by Machine Learning with Python?

What do you mean by Machine Learning with Python?

Hello Readers! In this article, we are going to deep dive into the concepts of Machine Learning with Python. You may have heard this term many times before and found it very fascinating. This term is not only fascinating but also very interesting to learn. 

So before understanding machine learning with python and how python is connected with Machine Learning, let’s discuss What is Machine Learning?

Let’s get started!

ml1.PNG

The term Machine Learning was given by Arthur Samual in 1959. If we look at the history, we understand that it is a very old term. However, these days, machine learning with Python is growing faster and faster.

What is Machine Learning?

For understanding ML, let’s consider an example of a little kid. Try to visualize the Machine Learning term as a little kid. The little kid always tries to explore the world around himself and always tries to explore new things. At the start, he faces many difficulties. But, with experience, he becomes better at understanding and exploring new things. 

The same thing happens with Machine Learning. We need to provide lots of data by using some programs or models. There are multiple models available in Machine Learning. The simple meaning of Machine Learning is it is a technology in which Machines learn from past experience by using huge amounts of data. 

Difference between Traditional Programming and Machine Learning

Traditional Programming:

traditional.PNG

In traditional programming, we need to provide Input and some Rules to the program. According to input and rules, we get output at the end.

Machine Learning:

machine.PNG

In the Machine Learning model, we need to provide input as well as output. According to this, the model generates some rules for us. So in the future, if we provide some new kind of input then according to rules generated by the model it provides accurate output to us. Basically, this concept comes under Supervised Learning. Soon we are going to look at Supervised Learning in detail. So the Machine Learning approach provides more flexibility as compared to the Traditional Programming approach as it works on past experiences. 

Some basic terms related to Machine Learning:

Feature: Features are nothing but Input that we provide to our model. It is also known as Independent variables.

Target: Targets means Output. It is also known as a label and dependent variables.

Basically, there are three types of Machine Learning. let’s look at them one by one:

  • Supervised Machine Learning

In this type, we need to provide input as well output to the model. Model is nothing but a program. It tries to find some kind of relationship between input and output. And if we provide new data then it gives us accurate output according to past experience. Supervised Machine Learning algorithm works under the supervisor or teacher. 

Further, there are two main categories of Supervised Learning:

  • Regression
  • Classification

Let us look at them one by one. 

Regression:

Regression provides output in continuous form. For understanding, this concept let’s consider an example of House Price Prediction. For predicting prices we provide some features like Number of Bedrooms, Area, Number of floors, and many more and according to all these features output is provided by the model in terms of continuous values. Output(Target)totally depends on our features(Independent Variables). This means there is a relationship between Input and Output. 

In the above case, the Price depends on the Features we provided. So in order to estimate the relationship between these two terms following expression is used:

Y=b + cX

Y: It is considered as an Output variable or Dependent variable. In the above example price can be denoted as Y.

X: It is an Input variable or Independent variable. In the above example Number of Bedrooms, Area, Number of floors can be denoted as X. 

b is bias and c is the slope. 

Let’s consider some important terms with the help of a graph.

graph.PNG

In the above graph, blue dots represent data points known as actual value and the green line is considered as Line Of Best Fit. Consider points on the line are known as predicted values. and the red line represents the distance between the actual value and the predicted value. For better accuracy, it is important that the distance between actual and predicted value must be minimum. 

Classification:

Classification technique provides output in the form of categories. Consider this example: Classification of Cat and Dog. If you need to classify between these both, you need to give features that distinguish Cat and Dog. You need to provide an output which is cat and which is a dog. After training, if you provide any new data then it will correctly provide you the output whether the new object is a cat or dog. 

  • Unsupervised Machine Learning:

In this type of Machine Learning, we only provide Input to the model and it gives us output by finding some pattern in given data. There is no supervisor or teacher for the unsupervised machine learning algorithm. 

There are mainly two categories of unsupervised machine learning: 

Clustering and Association. In clustering, we classify the objects by creating clusters according to their similarities. Consider an example: There are different animals like Cat, Dog, and Cow. We will create a separate cluster for each type of animal and when new data comes (containing a particular animal) by finding a pattern, the algorithm assigns a particular cluster to that data.

  • Reinforcement Learning:

This works on the principle of Punishment and Reward. Here the concept of Agent and Environment is used. In this type of learning, agents need to learn everything from their surrounding environment. 

Let’s move towards the important part. How is python connected to machine learning?

Why Python?

Maybe some of you are thinking about why we need to use python instead of other languages like C, C++, and Java. The strongest reason for using Python for Machine Learning is that python contains lots of Machine Learning available. This makes python a special language for Machine Learning. There are various benefits of using python and it is a very easy language to understand.

Let’s look at some of the commonly used Python Libraries. 

Python Libraries:

1. NumPy: 

Numpy stands for Numerical Python and is used for scientific computing. It is a mostly used library in Machine Learning. Numpy is basically helpful to handle Multidimensional Array. There are various functions available in NumPy to perform mathematical and logical operations. It also performs an operation related to linear algebra. 

2. Scikit Learn:

This library is mainly useful for data mining and data analysis. This is the open-source and commercially usable library. It is built on NumPy, SciPy, and matplotlib. We can take the help of Scikit learn while performing operations related to supervised and unsupervised learning.

3. TensorFlow:

It is also an open-source library for numerical operations. TensorFlow provides multiple levels of abstraction. It provides more flexibility and control. It is mainly used for deep learning. Also supports the functionality of powerful add-on libraries. 

4. Keras:

It is also mainly used for deep learning. It allows fast prototyping. It supports features like simple and extensible API, multiple platforms, and backend, with high scalability.

5. PyTorch:

It is very easy to use the python library. It has strong GPU support and implemented various deep learning algorithms. PyTorch supports Computer Vision and Natural Language Processing. 

DataFrames:

It is the main object in pandas used to represent data in tabular or excel spreadsheet. It is a two-dimensional data structure. It is made up of data, rows, and columns. Can be created by loading data sets from CSV files or Excel files. 

Following are some operation we can perform with DataFrame:

  1. Selection of Columns: We can select columns by calling their column name
  2. Selection of Rows: For selecting row iloc[] function is used.
  3. Indexing: For indexing .loc and .iloc indexers are used.
  4. Checking Null values: isnull() and notnull() functions are used for checking the null values. 

Visualization Libraries:

1.Matplotlib:

It is a 2-D plotting and mostly used library in python helpful for data visualization. it can be used in python and Ipython shell, python script, and jupyter notebook. matplotlib helps to create bar charts, plots, pie charts, scatter plots, and histograms. 

2. Seaborn:

It is based on Matplotlib, Numpy, and Pandas data structure. It contains various plotting functions which operate on the data frame and array. mainly used for creating statistical graphs. It is also useful to create bar charts, plots, pie charts, scatter plots, and histograms, etc.

3. Plotly:

It is an open-source data visualization library used in python. It provides multiple unique chart types like histograms, scatter plots, bar charts, 3-D charts, plots, boxplots, and error bars. Plotly provides extra facility of contour plots. 

4. Altair:

This library is used for statistical data visualization used to understand data and its meaning. Displays visualization in live Jupyter Notebook and JupyterLab.It also used to create plots like bar charts, plots, pie charts, scatter plots, histograms, power spectra, and error charts. 

5. Geoplotlib:

This library is an open-source library and helps us create geographical maps and requires Numpy and Pyglet. This library provides the facility to create geographical maps. It also provides an implementation of dot map, spatial maps, and shapefiles.

So these are some of the most important libraries used in machine learning for Numerical operations as well as for visualization. 

Thank you for reading! We hope that you have now understood the concept of Machine Learning with Python comprehensively.