Machine Learning
Machine Learning
OF INDIA)
Department of CSE
(Emerging Technologies)
(DATA SCIENCE,IOT,CYBER SECURITY)
B.TECH(R-20 Regulation)
(III YEAR – II SEM)
(2022-2023)
EMERGING TECHNOLOGIES
Vision
Mission
The department of CSE (Emerging Technologies) is committed to:
To offer highest Professional and Academic Standards in terms of Personal growth and
satisfaction.
Make the society as the hub of emerging technologies and thereby capture
opportunities in new age technologies.
To create a benchmark in the areas of Research, Education and Public Outreach.
To provide students a platform where independent learning and scientific study are
encouraged with emphasis on latest engineering techniques.
QUALITY POLICY
To pursue continual improvement of teaching learning process of Undergraduate and
PostGraduateprogramsin Engineering &Managementvigorously.
To provide state of art infrastructure and expertise to impart the quality education and
research environment to students for a complete learning experiences.
To offer quality relevant and cost effective programmes to produce engineers as per
requirements of the industry need.
EMERGING TECHNOLOGIES
Vision
v “To be at the forefront of Emerging Technologies and to evolve as a Centre of Excellence in Research,
Learning and Consultancy to foster the students into globally competent professionals useful to the
Society.”
Mission
The department of CSE (Emerging Technologies) is committed to:
v To offer highest Professional and Academic Standards in terms of Personal growth and satisfaction.
v Make the society as the hub of emerging technologies and thereby capture opportunities in new age
technologies.
v To create a benchmark in the areas of Research, Education and Public Outreach.
v To provide students a platform where independent learning and scientific study are encouraged with
emphasis on latest engineering techniques.
QUALITY POLICY
v To pursue continual improvement of teaching learning process of Undergraduate and
PostGraduateprogramsin Engineering &Managementvigorously.
INDEX
S.NO List of programs Page no
1. Write a python program to import and export data using 40
Pandas library functions.
2. Demonstrate various data pre-processing techniques for a given 44
dataset.
3. Implement Dimensionality reduction using Principle 56
Component Analysis (PCA) method.
4. Write a Python program to demonstrate various Data 51
Visualization Techniques.
5. Implement Simple and Multiple Linear Regression Models. 60
6. Develop Logistic Regression Model for a given dataset. 66
7. Develop Decision Tree Classification model for a given dataset 69
and use it to classify a new sample.
8. Implement Naïve Bayes Classification in Python 74
9. Build KNN Classification model for a given dataset. 77
10. Build Artificial Neural Network model with back propagation 81
on a given dataset.
11. a) Implement Random forest ensemble method on a given 85
dataset.
b) Implement Boosting ensemble method on a given dataset.
Theory/Description:
• Python Libraries
There are a lot of reasons why Python is popular among developers and one of them is that it
has an amazingly large collection of libraries that users can work with. In this Python Library,
we will discuss Python Standard library and different libraries offered by Python Programming
Language: scipy, numpy, etc.
We know that a module is a file with some Python code, and a package is a directory for sub
packages and modules. A Python library is a reusable chunk of code that you may want to
include in your programs/ projects. Here, a ‗library‘ loosely describes a collection of core
modules. Essentially, then, a library is a collection of modules. A package is a library that can
be installed using a package manager like npm.
To display a list of all available modules, use the following command in the Python console:
>>> help('modules')
• List of important Python Libraries
o Python Libraries for Data Collection
§ Beautiful Soup
§ Scrapy
§ Selenium
o Python Libraries for Data Cleaning and Manipulation
§ Pandas
§ PyOD
§ NumPy
§ Scipy
§ Spacy
o Python Libraries for Data Visualization
§ Matplotlib
§ Seaborn
§ Bokeh
o Python Libraries for Modeling
§ Scikit-learn
§ TensorFlow
§ PyTorch
The math module is a standard module in Python and is always available. To use
mathematical functions under this module, you have to import the module using import
math. It gives access tothe underlying C library functions. This module does not support
complex datatypes. The cmath module is the complex counterpart.
Program-1
Program-2
Program-3
Program-4
Program-5
Program-6
NumPy is an open source library available in Python that aids in mathematical, scientific,
engineering, and data science programming. NumPy is an incredible library to perform
mathematical and statistical operations. It works perfectly well for multi-dimensional arrays
and matrices multiplication
For any scientific project, NumPy is the tool to know. It has been built to work with the
N- dimensional array, linear algebra, random number, Fourier transform, etc. It can be
integrated to C/C++ and Fortran.
NumPy is a programming language that deals with multi-dimensional arrays and matrices.
On top of the arrays and matrices, NumPy supports a large number of mathematical
operations.
NumPy is memory efficiency, meaning it can handle the vast amount of data more accessible
than any other library. Besides, NumPy is very convenient to work with, especially for matrix
multiplication and reshaping. On top of that, NumPy is fast. In fact, TensorFlow and Scikit
learn to use NumPy array to compute the matrix multiplication in the back end.
It is a table of elements (usually numbers), all of the same type, indexed by a tuple of
positive integers.
In NumPy dimensions are called axes. The number of axes is rank.
NumPy’s array class is called ndarray. It is also known by the alias array.
We use python numpy array instead of a list because of the below three reasons:
1. Less Memory
2. Fast
3. Convenient
• Numpy Functions
Numpy arrays carry attributes around with them. The most important
ones are: ndim: The number of axes or rank of the array
shape: A tuple containing the length in each
dimensionsize: The total number of elements
Program-1
Program-2
• Built-in Methods
Many standard numerical functions are available as methods out of the box:
Program-3
SciPy contains varieties of sub packages which help to solve the most common issue
related to Scientific Computation.
SciPy is the most used Scientific library only second to GNU Scientific Library for
C/C++ or Matlab's.
Easy to use and understand as well as fast computational power.
It can operate on an array of NumPy library.
Numpy VS SciPyNumpy:
SciPy:
Program-1
The most common problem in linear algebra is eigenvalues and eigenvector which can
be easily solved using eig() function.
Now lets we find the Eigenvalue of (X) and correspond eigenvector of a two-
dimensional square matrix.
Program-2
Exercise programs:
1. consider a list datatype then reshape it into 2d,3d matrix using numpy
2. genrate random matrices using numpy
3. find the determinant of a matrix using scipy
4. find eigenvalue and eigenvector of a matrix using scipy
• Pandas Library
The primary two components of pandas are the Series and DataFrame.
A Series is essentially a column, and a DataFrame is a multi-dimensional table made
up of a collection of Series.
DataFrames and Series are quite similar in that many operations that you can do
with one you can do with the other, such as filling in null values and calculating
the mean.
With CSV files all you need is a single line to load in the data:
df =
pd.read_csv('purchases.csv') df
Another fast and useful attribute is .shape, which outputs just a tuple of (rows, columns):
movies_df.shape
Note that .shape has no parentheses and is a simple tuple of format (rows, columns). So
we have 1000 rows and 11 columns in our movies DataFrame.
You'll be going to .shape a lot when cleaning and transforming data. For example, you
might filter some rows based on some criteria and then want to know quickly how many
rows were removed.
Program-1
We haven't defined an index in our example, but we see two columns in our output: The right column
contains our data, whereas the left column contains the index. Pandas created a default index starting with 0
going to 5, which is the length of the data minus 1.
Program-2
We can directly access the index and the values of our Series S:
Program-3
So far our Series have not been very different to ndarrays of Numpy. This changes, as soon as we start
defining Series objects with individual indices:
Program-4
Program-5
A big advantage to NumPy arrays is obvious from the previous example: We can use arbitrary indices.
If we add two series with the same indices, we get a new series with the same index and the correponding
values will be added:
fruits = ['apples', 'oranges', 'cherries', 'pears']
O U TP U T:
apples 37
oranges 46
cherries 83
pears 42
dtype: int64
sum of S: 115
Program-6
The indices do not have to be the same for the Series addition. The index will be the "union" of both indices.
If an index doesn't occur in both Series, the value for this Series will be NaN:
fruits = ['peaches', 'oranges', 'cherries', 'pears']
fruits2 = ['raspberries', 'oranges', 'cherries', 'pears']
O U TP U T:
cherries 83.0
oranges 46.0
peaches NaN
pears 42.0
raspberries NaN
dtype: float64
Program-7
In principle, the indices can be completely different, as in the following example. We have two indices. One is
the Turkish translation of the English fruit names:
fruits = ['apples', 'oranges', 'cherries', 'pears']
O U TP U T:
apples NaN
armut NaN
cherries NaN
elma NaN
kiraz NaN
oranges NaN
pears NaN
portakal NaN
dtype: float64
Program-8
Indexing
It's possible to access single values of a Series.
print(S['apples'])
O U TP U T:
20
• Matplotlib Library
plot(x-axis values, y-axis values) — plots a simple line graph with x-axis values
against y-axis values
show() — displays the graph
title(―stringǁ) — set the title of the plot as specified by the string
xlabel(―stringǁ) — set the label for x-axis as specified by the string
ylabel(―stringǁ) — set the label for y-axis as specified by the string
figure() — used to control a figure level attributes
subplot(nrows, ncols, index) — Add a subplot to the current figure
suptitle(―stringǁ) — It adds a common title to the figure specified by the string
subplots(nrows, ncols, figsize) — a convenient way to create subplots, in a single call.
It returns a tuple of a figure and number of axes.
set_title(―stringǁ) — an axes level method used to set the title of subplots in a figure
bar(categorical variables, values, color) — used to create vertical bar graphs
barh(categorical variables, values, color) — used to create horizontal bar graphs
legend(loc) — used to make legend of the graph
xticks(index, categorical variables) — Get or set the current tick locations and labels
of the x-axis
pie(value, categorical variables) — used to create a pie chart
hist(values, number of bins) — used to create a histogram
xlim(start value, end value) — used to set the limit of values of the x-axis
ylim(start value, end value) — used to set the limit of values of the y-axis
scatter(x-axis values, y-axis values) — plots a scatter plot with x-axis values against
y-axis values
axes() — adds an axes to the current figure
set_xlabel(―stringǁ) — axes level method used to set the x-label of the plot specified
as a string
set_ylabel(―stringǁ) — axes level method used to set the y-label of the plot specified
as a string
scatter3D(x-axis values, y-axis values) — plots a three-dimensional scatter plot with
x-axis values against y-axis values
plot3D(x-axis values, y-axis values) — plots a three-dimensional line graph with x-
axis values against y-axis values
Here we import Matplotlib‘s Pyplot module and Numpy library as most of the
data that we will be working with will be in the form of arrays only.
Program-1
We pass two arrays as our input arguments to Pyplot‘s plot() method and use show() method to
invoke the required plot. Here note that the first array appears on the x-axis and second array appears
on the y-axis of the plot. Now that our first plot is ready, let us add the title, and name x-axis and y-
axis using methods title(), xlabel() and ylabel() respectively.
Program-2
Program-3
We can also specify the size of the figure using method figure()and passing the values as a
tuple of the length of rows and columns to the argument figsize
Program-4
With every X and Y argument, you can also pass an optional third argument in the formof a string which
indicates the colour and line type of the plot. The default format is b- which means a solid blue line. In the
figure below we use go which means green circles.Likewise, we can make many such combinations to format
our plot.
Program-1
Method-I
Program-2
Method-II:
Method-III:
b) Write a python program to compute Mean, Median, Mode, Variance, Standard Deviation using
Datasets
• Measures of spread
These functions calculate a measure of how much the population or sample tends to
deviate from the typical or average values.
pstdev() Population standard deviation of data.
pvariance() Population variance of data.
stdev() Sample standard deviation of data.
variance() Sample variance of data.
Program-1
Program-2
Program-3
Program-4
Program-5
c) Write a python program to compute reshaping the data, Filtering the data , merging the data and
handling the missing values in datasets.
Program-2
Method:II
Assigning the data:
Program-3
Program-1
Program-2
Program-3
Merge data:
Merge operation is used to merge raw data and into the desired format.
Syntax:
pd.merge( data_frame1,data_frame2, on="field ")
Program-4
Program-5
Program-6
Program-2
In order to check null values in Pandas DataFrame, we use isnull() function this function return dataframe of
Boolean values which are True for NaN values.
Program-7
Program-3
In order to check null values in Pandas Dataframe, we use notnull() function this function return dataframe of
Boolean values which are False for NaN values.
Program-4
Program-5
Program-6
Program-7
Method-I
Drop Columns with Missing Values
Program-8
Method-II
fillna() manages and let the user replace NaN values with some value of their own
Program-9
Program-10
Program-11
Program-12
Program-13
Code:
missing_value = ["n/a","na","--"]
data1=pd.read_csv(r'E:\mldatasets\Machine_Learning_Data_Preprocessing_Python-
master\Sample_real_estate_data.csv', na_values = missing_value)
df = data1
Program-1
Reshaping the data:
Method-I
TASK 1
Write a python program to import and export data using Pandas library functions.
Program:
a. Importing data(CSV)
b. Importing data(EXCEL)
TASK 2
Demonstrate various data pre-processing techniques for a given dataset.
Program:
TASK 3
Implement Dimensionality reduction using Principle Component Analysis (PCA) method.
Program:
Observations:
- x1 and x2 do not seem correlated
- x1 seems very correlated with both x3 and x4
- x2 seems somewhat correlated with both x3 and x4
- x3 and x4 seem very correlated
TASK 5:
Implement Simple and Multiple Linear Regression Models.
Program:
TASK 6:
Develop Logistic Regression Model for a given dataset.
Program:
Task 7:
Develop Decision Tree Classification model for a given dataset and use it to classify a new sample.
Program:
outlook
overcast
b'yes'
rain
wind
b'strong'
b'no'
b'weak'
b'yes'
sunny
humidity
b'high'
b'no'
b'normal'
b'yes'
Task 8:
Implement Naive Bayes classification in python.
Program:
TASK 9
Build KNN Classification model for a given dataset.
Program:
Task 10
Build Artificial Neural Network model with back propagation on a given dataset.
Program:
[[ 0.66666667 1. ]
[ 0.33333333 0.55555556]
[ 1. 0.66666667]]
Actual Output:
[[ 0.92]
[ 0.86]
[ 0.89]]
Predicted Output:
[[ 0.89559591]
[ 0.88142069]
[ 0.8928407 ]]
Task 11
a) Implement Random forest ensemble method on a given dataset.
b) Implement Boosting ensemble method on a given dataset.
Program:
a) Implement Random forest ensemble method on a given dataset.
WEEK-12
Write a python program to implement K-Means clustering Algorithm.
Program: