8
Nov

# K Means Clustering | K Means Clustering Algorithm | Intellipaat

Hey guys, welcome to this session by
Intellipaat. K means clustering is an unsupervised Machine Learning algorithm
where the aim is to group similar data points in a single cluster. In
today’s session, we are going to learn comprehensively about K means clustering.
Now before we start with the session, do subscribe to our channel to get notified
about our upcoming videos, and also if you are interested in an end-to-end
certification course for Data Science, then Intellipaat provides just the right
course for you. Now let’s go through the agenda for today’s session. First, we will
start off with a quick introduction to K-means and then we will understand the
maths behind k-means clustering. After that, we will look into the process flow
of K-means. Going ahead, we will learn how to implement K-means with R. Now
without much delay, let’s start off with today’s session. So, this is basically how
the K-means algorithm works. So now, what happened in the K-means is you saw that
there were four clusters, but who decides those four clusters, I mean, how can
we be sure that four clusters are optimum; the
algorithm could have given us two, three, four, ten, or even hundreds of clusters. So
what happens in K-means is that we initialize some random cluster
some random cluster centers or in other centers, or, in other words, we are the people who will give
the number of clusters. Let’s say I want them to be
four. So, it is me who tells the K-means algorithm that I want to divide this
into four clusters. So, K-means algorithm takes this input where the K value or
the cluster value is four. Now, what it does is it randomly creates four centers.
So, one, two, three, and four. So, these four centers could be anywhere. So let’s say
the K-means algorithm has four centers, then it randomly selects four centers. Now, once the K-means
algorithm randomly selects four centers, the next step is to assign all the
records which are closest to the nearest cluster center. So, we have, let’s say, C1, C2, C3, and C4. So let’s
say we have record 1. So if record 1 is closest to C1, then
it will be assigned to C1. If record 2 was closest to C3,
then it will be assigned to C3. Similarly, if record 3 is closest to C4,
then it will be assigned to C4. This distance measure is basically the
Euclidean distance. So, Euclidean distance is the distance matrix which is used
to calculate the distance between the data points and the cluster centers. So,
we have given the cluster size to be 4. After that, the K-means algorithm
randomly assigned four centers, and then the next step would be to assign these
150 records to the center number which is closest to it. So, once this is done, we
will get something like this. Consider we have one more
cluster over here. So, we have 4 cluster centers, and the
data points have been assigned to those 4 cluster centers. Now, what happens is since the K-means algorithm
initially gave these centers randomly, what it does is, it takes in this cluster
and it finds out the mean value of this cluster or the mean value of all of
these data points, and that mean value becomes the cluster center. Similarly, for
cluster number 2, it takes the mean value of all of the data points and
that mean value becomes the center. Similarly, for cluster number 3, it
takes the mean of all of the data points and that mean value becomes the center,
and similarly for the cluster number 4, it takes the mean of all of the
data points and that mean value becomes the center. So now, we have updated the center values. So again for each of these center values, those records will be assigned to each
of these updated center values. So again the distance will be calculated. So let’s
see the center value. It shifted from here to here. Now again what will happen
is for each of the record, it will calculate the distance between the data
point and the center, and again similarly those data points will be assigned to
these clusters. Just a quick info guys: If you are
interested in doing an end-to-end Data Science course, then Intellipaat provides
you with the Data Science Architect Master’s Program in association with IBM.
This will not only help you in mastering Data Science but also gain an in-depth
experience. Do check out the course details in the description mentioned below. So
now, let’s get back to the session. Now this process will go on until
all the records are set to each of the clusters, or in other words, no record basically moves to another cluster. So let’s say for the first three
iterations, there is this data point which was in cluster 1. In iteration
2, it went to cluster 3. In iteration 3, it went to cluster 4, but
in the next iteration, all of the data points were in the same places.
None of the data points moved. So this is where the K-means algorithm
stops, and this is what is known as converging of the K-means algorithm. So,
this is how the K-means algorithm works, and this is how it clusters the data. Is it confusing? How much of it were you able to follow? Responses please! Is it clear to everyone? So it’s 70% clear is it Anuj. Repeat
it again. Sure, Ok. So, in K-means algorithm, the K
basically stands for the number of clusters, and that number of clusters is
given by the user. So, let’s say I want to make three clusters. So, I’ll set the K
value to be 3. Now, I’ve given the K value to the clustering algorithm and
the K-mean takes it and it randomly assigns three cluster points. So
initially this cluster point is random, so it just places this random point
anywhere. These are the random center points, and the K-means takes in only three
center points because it is me who has told the K-means algorithm that I want
only three center points. Now, in the next step,
K-means algorithm will look at all of the data points, and it will calculate
the distance of these data points from the center points. So let’s say this is
my data value over here, and I will calculate the distance of this data
point from this center value, this data point from this center value, and this
data point from this center value. So, whichever distance would be the minimum,
this data point would be assigned to that cluster center. Similarly, I will
take in this data point and I will check the distance between these three center
points, and whichever distance is minimum I will assign this data point to that
particular center. Now once this is done, we will get three
clusters. But the problem with the initial clusters is that the center points
were random. So now, what the K-means algorithm does is it takes the mean of
all of the data points and it assigns that mean to be the center point of this
clustering algorithm of this cluster 1. Similarly, it takes the mean of all of
the data points and sets that mean to be the center of this cluster 2 and again
it takes the mean of all of the data points in cluster 3 and sets that mean
value to be the center point of this cluster. So again, we have updated the
center values. Now after updating the center values, we would again have to
assign these data points to the nearest cluster centers. So let’s say this data
point center was updated to over here, in that case again
we’ll calculate the distance of this data point to the new center point, this
data point to the new center point, this data point to the new center point, and
wherever the distance is minimum, this data point would be allocated to that
center point. It happens again and all of the data points are again
assigned to the three updated center points. So again, we have three new
clusters again what we’ll do is calculate the mean for each of those
three new clusters and set those means to be the center points. Again, we’ll
check if any of the data points are moving or not. So if they’re moving, again
this process will be repeated until and unless there doesn’t exist any data point which doesn’t move to any other cluster, that
is when we’ll see that the K-means clustering algorithm is converging, and
that is when the K-means algorithm will stop. So, this is how the K-means
algorithm works. So you can actually take one or two minutes and read this flow chart. It will help you guys out.
So everyone, a quick response please, through the math and this. Was it clear? Okay, all right. So now, we will head on to
the demo part. So you will have to load up this library of animation which
basically helps us to look at the visualization of how these clusters are
forming. So, I will have to install this package first, so let me
install this package. Wait just a couple of
minutes till this pack is installed. So now after this session what we’ll do
is, since you guys were asking on imputation, we will basically look at two
packages which are available in R for imputation. So, one
package is missForest and another is Hmisc. So we’ll be using these two
packages and we’ll do a bit of imputation as well. So tomorrow
I wouldn’t be available, so tomorrow we will not have a class. So, the next class
can I ask a question? We should have three
clusters or four clusters, how would you arrive at that parameter?
So again, there is something known as a scree plot that we will do it in
the R coding part. So, there is a way to identify the optimal number of clusters,
and there is something known as Lu method, and we’ll look at that in the practical
session. Another question, I have to leave the class now. So,
apart from this K-means are we covering anything else today. As I said,
I’ll be covering the imputation since you guys had asked me to cover
imputation, so again since K-means is a small topic so I thought I’ll cover
imputation as well so again that will take around half an hour. It’s just two
simple packages so the B who will be recorded anyway so you can go through
the e recorded video yeah I’ll do that thank you yeah right
so we have loaded up the package now let me use the library function button what
is that it braces on in prediction is how we can work with the missing values
so let’s see if you have some missing values in data how can we replace it
with a missing value it’s someone from the batch had asked me to take a session
on imputation oh it’s me but the word okay yeah so
it’ll be just a short session on imputation with just two basic packages
will you cover that after k-means yeah all right just a quick info guys
if you are interested in doing an end-to-end data science course then in
telepods provides you with the data science architect master’s program in
association with IBM this will not only help you in mastering data sense but
also gain an in-depth experience do check out the post details in the
description mentioned below so now let’s get back to the session so now what
we’ll do is we will create two sets of data points so this run F function
basically gives us 50 values between the range of 0 and 1 so let me just bring
this up right so these are 50 values between the range of 0 and 1 and every
time I use this function I’ll get random set of 50 values between 0 and 1 so I
will be storing one such set in X the next such set in white let me print x
and y over here one even once you know why why we are doing the x and y like we
have like any generation what is the use of XML so we are just creating a random
dataset which comprises of these two columns x and y that is pretty much it
what are the use of the library of animation animation package helps us to
visualize the k-means I mean how the data points are being clustered okay so
we have x and y so with the help of c bind i bind them in to a single object
and store that into data so view of data and this is what we have over here so we
have X values and we are y values over here now what I’m so as I had already
told you k-means algorithm these key peaks in the data set and the input is
the number of clusters I want to have so I will take this data and I want to
divide this data into four clusters so this is the function to do the item so
key means the stakes in two parameters first as the dataset which I want to
separate into clusters next is the cluster value or in other words into how
many clusters I want to divide this dataset so I want to divide this dataset
into four clusters that pretty much at two parameters and I will store that in
key M now this key means dot an e function comes from the animation
package so again or the parameters are the same first is the data set next is
the number of clusters I’ll hit on enter let me click on plots let me actually
stop this first and load it up again right I will clear this up so as you can
see over here there are four cluster centers because because I have assigned
the number of cluster centers to be four and these have these are being updated
at each iteration these are being updated and also the data points are
being assigned to the new cluster centers so once the once the refers to
each reaches when no other data point or goes into any other cluster that is when
this converges so over here this algorithm has converged and this is how
it has clustered this dataset into these four clusters over here right so I had
given the key value to be four so it randomly took four centers and then it
kept on converging and it finally gave us these four clusters now all of the
math which we saw other so we can get all of that with these attributes from
the game object which we’ve created so let’s look at each of them so key M
dollar cluster so this basically indicates the into which cluster the
first record has been put into so the first record has been
– forth cluster second record has been put into second cluster third record has
been put into sin plus tofu record has been put into fourth cluster it so this
is how these 50 data points have been clustered into these respective clusters
so this is how you can see which data record has been clustered has been put
into which cluster and then you have km dollar centers so these are basically
the mean values so these final mean values which you see so this center
point so if we take this as cluster one then for this the mean value would be
this again if we take this as cluster two then let’s say the mean value of the
center point would be this the mean value of the center point would be this
and the mean value of the center point would be this after that we have all of
the math over here so we have the total sum of squares so this is basically the
value before building the algorithm it was nine point three four now let me
look at total within SS so after we built the k-means algorithm this nine
point three for reduced to one point nine five
so obviously the rest of the deviation is present in between SS so initially it
was nine point three four after we build the algorithm it came down to one point
nine five and this is the dissimilarity which is present between these four
clusters again the scheme dollar size tells us the number of data elements
belonging to each cluster so first cluster has eleven data points second
cluster has twelve third cluster has 15 and the fourth cluster has twelve so
this was a basic example where we took a random data set now we will perform the
same operation on the IRS data set so now again what you need to keep in mind
s when you’re building this ki means algorithm it works only on numerical
data so let us have a Klan this view of iris so this as our dataset
over here now we can apply the k-means algorithm only on numerical columns so
as we saw in this excel file we did all of those calculations only on the
numerical values there was no calculation with respect to the species
column so that is what we’ll be doing over here so we will apply this k-means
algorithm on top of only these four columns and we will remove out the fifth
column and let’s see initially I set the number of clusters to be three now let
me see how this converges so for that I will use the key means dot any function
and I will pass in the same parameters first is the data set next is the number
of clusters I want to divide this dataset into and I want to divide this
dataset into three clusters let me delete this now I’ll hit enter so these
three values are the initial assignment initial run the center’s and this is how
it is converging you see that the center points are changing and you also see
that the data points are being reassigned to the new cluster centers so
now finally this algorithm has converged and this is what we have over here so
these are the three cluster centers and this is how the 150 data points have
been grouped into these three clusters now we will look at the rest of the
parameters so let’s do that km dollar cluster so let me have a
glance at this so we see that almost the 38 39 40 41 42 43 44 45 6 7 8 9 10 you
see that the first 50 records have been clustered into cluster number 3 so this
basically means the all of the setosa species have been
grouped into one cluster now let me zoom this so it basically seems that these
values so these values seem to belong to the Satoshi our species so all of these
have been grouped into clusters mber let’s see this is three and the
clustering for the rest of the species which is versicolor
and over Jenica we see that there is a bit of mix up so a bit of virginica and
OC color is present in cluster two similarly a bit of OC color and
rajinikant in cluster number one so this is how you know a k-means algorithm
helps you to understand the similarities between different properties and then
we’ll look at km dollar centers so yes how do we get which one I mean that in a
graph which is the cluster number one to other so you’d have to check these
corresponding values over here so let’s see the sepal length is five point nine
should have to check the sepal length over here so again since this is a 2d
graph you will get only two values so we also have petal length and petal width
over here so the problem with this package or this function which were
using us if let’s say there are around ten numerical columns even for those ten
numerical columns we can visualize only with respect to two numerical columns
all right just a quick info guys if you are interested in doing an end-to-end
data sense course then in telepods provides you with the data sense
architect master’s program in association with IBM this will not only
help you in mastering data sense but also gain an in-depth experience do
check out the post details in the description mentioned below so now let’s
get back to the session so this game means not any it helps you to understand
visually only with respect to two columns so you should have to manually
check it then you’d have to compare these values with these three Center
points over here normally k-means can we give you four empty dataset like all we
can give a new jewel for individual column also
when a plane you can give it to individual numerical columns or all the
numerical columns but you cannot apply a k-means algorithm on top of a
categorical column so let’s say if you want to understand distribution of this
sepal length column only the sepal length column then maybe you initially
start with three clusters and you want to see how those three clusters are
there with respect to only sepal length column so maybe some records were let’s
say sepal length azaab less than four they’ve got one cluster where sepal
length is between four to five they go into one cluster and where sepal length
is greater than five that we’re going to throw at last up right so again that
depends on your purpose so if you want to understand with respect to all of the
data then you’ll apply all of your columns if you want to understand the
clustering with respect to one particular column then you’ll feed only
that column when we are applying and their data could dataset it’s taking
only two columns I’d know so as I said this which you see this is how your
k-means dot Annie shows you but then again it takes in all of the four
columns it’s just that it does not show the rest of the columns so even if there
are ten numerical columns and you’re applying k-means on top of the stand
numerical columns the visualization will be something like this when you do it
with k-means not Annie because there’ll be one on X and one on I but the others
you cannot see because this is a 2d graph but then again if you check at the
attributes then those attributes will tell you everything so let’s take this
first cluster so when you take this first cluster you get the mean values of
these all the four columns which we’ve used right so for the first cluster the
mean value of the sepal length is five point nine mean value of sepal width as
two point seven but the length is four point three and petal width is one point
four similarly for cluster two these are the four mean
values for cluster three these are the four mean values so given a semi males
are the final values after the k-means algorithm has converged right is that
clear right so again we have total SS so this was before we applied the algorithm
so of the 681 this is basically the same so I had B’s be written down these
values in the excel sheets 681 point three seven zero six so this is the
original value before you build the algorithm now k-means dollar within SS
so that’s six so 39:23 and fifteen book will actually build four clusters over
there okay so let’s see let’s actually look at the total within SS right so
total within SS seventy eight and this was 681 so when we add up these three
well get 78 and the difference is stored in between SS so when you add 602 plus
78 you will get 681 so the lower the value of witnesses the opinion or the
better is the clustering or you can see there is greater similarity inside the
clusters and the higher the value of this between SS you can say that the
greater is the dissimilarity between the clusters so you can check all of these
attributes and then you have km dollar size which will tell you how many data
points have gone to these clusters cluster one has 62 records cluster two
has 38 records and Class III has 50 records so this is what the k-means
algorithm does but now still one question remains
which is how do we find the optimal number of clusters so as sanjeev
hallelujah the optimal number of clusters it can be found by something
known as an elbow method so let’s go ahead and do that so now I will store
thus only the four columns though for numerical columns of the IRS data
set into my data let me have a glance of this view of my
data so these are our four columns now what I will do is I will set a key Max
value so what we are doing this we will take this dataset and we will iterate
this through a pillar number of clusters so first we will divide this data set
into just one cluster after that well group this data set into two clusters
and then into three and then into four so it will start from one and then we’ll
keep on grouping them into 20 and we’ll try to understand from 1 to 20 which is
the optimal number of clusters to group this data set into so this is K Max
value so at max I will just say that I want 20 clusters so I’ve also defined
the key max value now I will define two more variable switches twss switches
total within sum of square and the ratio so initially or this repeat function
just gives me a repeated values so I am repeating this zero key max times so key
max is 20 so I will just get a thus twss object where I have 20 zeros similarly I
will have this ratio object which has which will have 20 zeros let me create
these two objects TW as a ratio so this is pretty much it so I have taken 2
objects and I’ve stood 2000 ‘the of those objects now I will start a for
loop and this for loop will go from 1 to 20 so for I and 1 is 2 K max 1 to 20 and
what I am doing is I am building a k-means algorithm 20 times so building
the scheme means algorithm on top of this my data and the number of centers
so in the first iteration the of centers or the number of clusters
will be one and this n start which you see I had told you guys that initially
the cluster centers are randomly assigned so when you set the n start to
be equal to ten it will take ten such random scenarios so in one random
scenario you know there is a random assignment of clusters in case two there
is a random assignment of clusters in case three there is a random assignment
of clusters so all of those all ten cases where ever you will get the
maximum clustering value will go with that so this is what this n starred star
in start o as fir and then we have I to dot max so this ITER dot max is the
number of iterations or the maximum number of iterations
I want this k-means algorithm to go through so this is a very high value so
I’ve given this a very high value just to make sure that my our compiler
doesn’t tell me that you know the number of high iterations are not enough for me
to converge this key means algorithm but then again normally this is actually a
very high value so for this data set has just 150 roots so eight max it will
require around ten iterations so I have built the k-means algorithm after doing
that I will take this total within SS so we know how to calculate this total
witnesses so this is the total or sum of squares with respect to the clusters and
I will get this total within SS for each of the clustering scenario so when there
is one cluster I will take that and store it in twss one when there when I
am dividing the data into two clusters I will take this value and store it in p
WS s2 and I am dividing the data in three clusters I will take this Tod dot
witnesses and store that into AWS s3 now again I will calculate the ratio so this
is the ratio between yep so this is the ratio or but I am dividing the between
SS upon totaled SS so now we need to make sure that this value
as close to one as possible so I will copy all of this and I will paste it
I’ll hit enter so any doubts with respect to this code what we are doing
any problem in understanding this code can you react plane and start so okay
what I will do is I will okay I show this so initially what happens us if I
build a k-means algorithm these cluster centers are defined randomly but that
will happen only once so when so there are there is random assignment of these
cluster centers and then after that the k-means algorithm goes ahead and divide
this into three optimal clusters but when I said the N start value then it
will have multiple cases so in okay let me open up paint I’ll be better
explaining further so well do well so yeah one two three so this is our first
scenario where these are the random assignment one two three this is the
random assignment and then we have one two three this is the random assignment
so this n start basically gives one since I’m so busy of around 1 million
such assignments and all of these 1 million such assignments I will choose
that one which will give me the optimal value right so this is what the N start
stands for okay I got thank you right what is the difference between k-means
okay so ki mean just gives us all of the attributes came in dot and you can
visualize it so this came in dot an e is a part of the animation package and when
you use this you can be sure is how it is clustering tearing data set
name criterion to include all the best a um Sai Kumar soo are you using the elbow
method for this yeah we are using album method I have referred this one from
other video okay like this will give you the min this will give you very easily
the best way run okay so this has the elbow function predefined in it visit
yeah yeah okay so we okay okay right so what we are basically doing is we are
manually calculating the elbow value and then printing it out but then why you
need to go yeah yeah so yeah um we have build a for loop and now I will make the
plot so in this plot what I’m doing this on the x-axis I will print all of the
clusters so from 1 to 20 and on the y-axis I will print the PWS s which is
basically total witnesses and the type of the plot is B and then we have X lab
in while up so it says Biscay X level and why label I’ll hit enter
let me zoom this so we have the total within sum of squares and we have the
number of clusters over here so this elbow plot basically tells us how the
total within sum of squares is decreasing by as we go ahead and
increase the number of clusters right so initially when we divided the dataset
into just one cluster this was very high but then again the theme of the k-means
algorithm needs to reduce this value so when we divided this into two clusters
it came down to around 100 something when we divided the data set into three
clusters it came down to around 90 or something but then again you can’t just
go go ahead and keep dividing this data set into these number of clusters so
that class value would be the optimum from the
dividing well not decrease this TW SS into a you know into a significant value
so here we see that from one to do there is a significant decrease in twss over
here there’s not as significant as this but still there is a decrease from here
to here it is significant enough from here to here it is okay so one two three
four right so after this we see that it doesn’t change much so from this what
you can figure out this three four five so maybe four or five clusters would be
the optimum value for your dataset for you to divide your this dataset right so
this is how you can find out the optimal number of clusters for this dataset and
this is called an elbow plot because if you look at this graph so this is how
your elbow looks when you put it on a table so that is why it is called as an
elbow plot right so this is this is pretty much the entire concept behind
k-means the math the theory and this is the practical any doubts with us make one second could you explain that
manual I understood a bit but if you bet it I mean I can do everything
sure let me zoom this so first we took the dataset
oh no not the grappler I mean the cool part
this one the for loop in it yeah okay so I’ll start from this so basically the
key max when I said it to be 20 what I’m seeing is I will start dividing the data
set from 1 to 20 so first I’ll divide the data set into one cluster into 2 3 4
and go on till 20 and in this for loop I will start from up so I’ll take I which
goes on from one and go still key max so key max is base key 20 so the fur look
will start at 1 and go till 20 and what is it will do once
what is the RDP method will do there are ep
okay so let’s see our EP of 110 so this gives me 110 times so let’s say one
point five six I need this five times so our EP repeats a value so first
parameter is the value which I want to repeat next parameter is the value of
how many times I want to repeat this so I want to repeat zero twenty times again
here I want to repeat zero twenty times and I’m doing this because I will
restore these values into this object right since this for loop runs 20 times
I would have to store 20 within SS values right so you see this I have 20
total within SS values and that is why I have to initialize 2004 so good who knew yourself please yeah alright so
in this for loop the schools from one to twenty and I’ll build the schemings
algorithm and the number of senders it starts at one so initially I’ll be
building one cluster and number of start a stencil number of start as basically
the number of random initializations so in the first initialization the cluster
centers could be assigned like this in the second initialization the cluster
centers could be assigned like this in the third they could be a sign like this
in the fourth one could be here one could be here and one could be at far
away corner right so this is a total random initialization of the cluster
centers and we will do that maybe a million times Hogan versus manual so we
can set it how many times as we want yeah so this is instructive and then we
have I tuition max so I attrition Max’s number of the maximum number of times I
want this algorithm to ITER it so that k-means converges normally since this is
a very very small data set so 150 entries is a very small data set and it
will not take more than ten iterations to converses data set so let’s see if
you have a data set around maybe one la cruz then that is the case where you
would have to need these many iterations to converge the k-means algorithm on top
of the data set so we’ve built the algorithm after building the algorithm
we will take the total within SS value and store it in twss which I’ve created
over here similarly I will get the ratio between SS and total SS and I’ll store
it in ratio so this is how I can manually create you know I can manually
create 20 clusters and get the twss values for 20 of those clusters so once
I get that I will go ahead and build the plot so on the x axis I am mapping the
number of clusters on the y axis I am the total within sum of squares and the
label for x-axis is number of clusters in the label for y-axis twss in the
color which you see by just blue and this is the code then why you a
calculation we are not using good so I would have to manually see what does
happening so this basically tells me that this ratio value it gets soup again
so this is 10 power minus 15 and this is here so this is 10 power minus 1 so we
see that on this ratio value so the idea behind ratio is it needs to get to
closer to 1 so the closer to 1 you know the better
is your clustering so you’re not using this yeah we are getting everything in
our own a ton now that means this model is not good right um
what are you talking about and we know suppose that super this is e power minus
15 is P 1 into 10 bar minus 15 right so this is 10 power minus 15 this is 7 into
10 bar minus 1 so this will be 0.7 this is 8 into 10 power minus 1 so it will be
zero point 8 so this is 9 into 10 power minus 1 so this will be zero point nine
right so this is e minus 0 1 so this Biscay standard nine point seven 6 into
10 power minus 1 so imputation in simple terms is so basically substituting the
missing values so that’s pretty much what in petitioners so again even for
this we will work with the money money are you doing only that oh I know just
working with the missing values that’s it ok that means like using me know
medium yes that will do with the HMI AC package and will use
miss forest packets to impute the values with random forest algorithm so there
are other packages as well I’ll Drive the num so there are mines package and
the amelia package so they’re like multiple packages you can also use these
two for the imputation purpose so my isn’t Amelia so the algorithm
which they uses predictive main matching so again so um we have this data set so
let’s say there are some missing values now to compute those normally the
easiest way to treat those missing values would be to delete all of those
missing values even though it’s the easiest but it s not really recommended
because you will lose out on some really important data and to remove all of
those records for you have missing values all you have to do is use the any
not omit function and pass in your dataset and it will remove all of the
records where any values are present a flirt the next simplest would be to
replace these missing values with mean median and mode and then we have
advanced packages as as we have miss forests we have the mice package and we
have the amelia package so when to D slash well look at the Miss forest
package from so let me load this up library of Miss forests and the
algorithm which missed forests abusers of random forests that was very obvious
with the name so we’ll be using the random forest algorithm to include the
values and as we had seen in the previous session so random forest
algorithm is used for both numerical values as well as categorical values now
this miss forest function of this package also has the prod any this prod
and it stands for produce any and with the help of this I can introduce missing
values into the original data set so this original data set has no missing
values now I will go ahead and introduce 30% missing values into this original
data set so this plot any function takes in two parameters first is the original
log data set next is the percentage of any value shall have to
introduce in the dataset so number of any and I’ll set that to be 0.3 now let
me have a glance of this view of I restored em I s so this is a dataset
with 30 percent missing values so now if I look at the structure of this so
structure of iris dot M is come crying better look at the summary of this so
summary of iris dot M is and we see that sepal length column there are 51 any
value sepal width 44 any values parallel 45 parallel petal width 40 and species
45 so when you when you come below this you will get 30% missing values in total
so we have introduced the missing values now this is just a one-line function all
we have to do is use the miss forest function and so here we have introduced
of missing values now it’s time to impute those missing values so all we
have to do is you see Miss forest function and pass in this dataset which
has the missing values so now what it basically does us so as we saw in the
random forest algorithm it so let’s see if I want to impute this value with the
Smurfs forest function so let’s see this then this would be our dependent
variable and the rest would be the independent variables so what will do is
it will learn from the rest of the records so we dig this case so it has
been plated as 4.9 and it learns that the rest of the records have these
values similarly oh it sees that it has 4 points X and the rest of the records
have values so the rest of the 149 records
would be a training leader and this would be your test data and you would be
predicting the values on this so basically consider this 149 records
to be our training data and this one record to be a test data and your model
learns on these kinda predicts this any value over here similarly if you
operating this value then again this would be a dependent variable and the
rest all of the columns would be our independent variables again if we’re
taking this the rest of the 1.9 records would be our independent or would be the
training data this would be your test data and again if I want to predict the
species then this would be my dependent variable and the rest of the columns
would be the independent variables and all of this this function takes care of
itself so all we have to do is pass in this data frame with the missing values
and we’ll store this in a new object so this hydration is basically the number
of iterations to get the final values and you have it an iris M now let me
show the data set with the imputed values sorry so we need to extract iris
dot m dollar we have this X M so we would have to glance this dollar X M and
this gives our data set which has the value which basically has the imputed
values so this is our original data set with missing values
so this ne has been inflated as four point seven nine then we have this any
value which has been in fitted as versicolor but we actually know that
this should be set to sir but it has been incorrectly in fitted as you see
color right so again we have these three any values this for any values actually
who vo in record number 11 and always have been classified like this
right so one is bunny bunny no I mean little bit faster and we do is a bit
like okay I’m not sure so is it Q is there a lag or well we can see only in
this you can see kanji oh the other one is nap that’s the only one I can’t do
any other thing you can see only which one this D does it so now I’m on the
imputation tab so do you see the imputation tab others for you as well is
it others could you respond please so is it a B were these you can see is it yes
then site would be a problem on your end I guess so you could maybe check your
internet connection right um yep so I was comparing these missing values with
these imputed values and this is how the imputation has been done but then again
we see that in the process of imputation there is a bit of error now to get the
error in imputation we have this mix error function which takes in three
parameters first parameter is the imputed data set second parameter is the
data set with missing values third parameter is the original data set with
no missing values and when you give this three parameters you will basically get
two results over here let me check them out so this Pfc it stands for the error
n imputation when it comes to categorical
values and this nrms e stands for error in imputation when it comes to numerical
values so in this dataset there are um a thirteen percent error in the imputation
of categorical values and there is a twenty one percent error in the
imputation of numerical values so this is basically you can how you can find
out the error in imputation so this was the promise forest package now we also
have the HMIS C package so sorry for that like I miss them they mostly what
what this one could you please warn of would make up what is it no only equal
to because maybe maybe do miss that but this is the one I only object this what
is the point so initially we have this data set with
no missing values here with okay so others is it fine if I explain from the
beginning okay yeah then I’ll do that so let me close these two tabs so we have
this original IRS dataset which has no missing values right so this is a
perfectly good data set now if I want to introduce missing values into this
dataset then I can use the prod any function so prod any basically stands
for produce any and this function is a part of the miss forest package so my
first task is to load the miss forest package now this miss forest package
gives me B broad any function and this again takes in two parameters first
parameter is the DITA frame into which I want to introduce the missing values the
second parameter is the percentage of missing values I want to introduce
this data frame so no any or the number of and so basically the stakes in the
percentage so I want to introduce 30 percent of missing values into this data
frame and I will store that result in iris dot miss answer now you know it is
matter here is my dog one like why normally anywhere I mean whatever the
data set is there we need to treat all the missing values why we are giving
point like we want to treat every missing value gives some median mode or
mean anything out of these three we will I am NOT treating the missing values I
am introducing missing values over here so what I’m doing is this is my original
dataset right so there are no missing values let me show that so some of as
that any iris dollar sepal length so there are no missing values in this
column again let me do that for sepal width again no missing values for petal
length no missing values again if we do it for petal width and species as well
there would be no missing values at all in this entire data set now just for the
demo purpose what I am doing this I am introducing 30% missing values randomly
into this data set right so this 30% is totally random so randomly I am
introducing 30% missing values into this data set and to do that I will use the
prod any function so this prod any function takes in the original data set
and introduces up so again this percentage is defined us so if I want to
introduce hundred-person missing values I can even do that so for now what I am
doing is I am introducing 30% missing values into this data set with the help
of this 0.3 value now let me have a glance at this view of IR s dot mess so
these any values which you see so they totally comprised of 30%
right so basically it’s 150 records into 1 2 3 4 5 so 150 into 5 you have total
750 values so 0 0.3 into 750 so there will be 225 such values where there are
missing values right so this is what the prod any function does from all of the
values so there are 150 into 1 2 3 4 5 so there are 750 values in total or of
those 750 values 225 of them will be having any values does it here so we are
not imputing we are just introducing missing values yes so original data set
this is our data set with missing values now to impute these values as I said the
easiest option would be to just delete those records with the missing values
but then again it as a a very wrong thing to do because we’ll be losing out
on Lord of features and to delete the values all we have to do is any dot omit
and then pass in the data set and all those records wherever any values are
present all those records would be omitted yeah so that is one step which
we should always avoid next would be to change or impute those values with mean
median and mode so that is another easy method third we would be to impute these
values with machine learning algorithms so we can throw in there are different
packages which provide different machine learning functions with them
so that we can impute these values so this miss forest package comprises of
the miss forest function we imputes these missing values with the
help of the random forest function and as we already know random forest
algorithm can be used for both regression and classification purpose
and that is why we can impute both numerical values as well as categorical
values with the help of this miss forest function so how it beastly works is
let’s say if I want to impute this value then these are breasts of the one
foreigner and records would be the training data it learns from the rest of
the 149 records and it will predict over here so again in this case the sepal
length would be the dependent variable and these four would be the independent
variables and the model will be random forests so again if I want to predict
this species value over here so this sixth record would be a test set the
rest of the 149 records would be the training set and again this time the
dependent variable would be the species column and the independent variables
would be these four columns so this is how or the random forest algorithm would
be implemented on top of this and all of this is taken care by this Miss forest
function so all we have to do is use this Miss forest function pass in this
data frame with the missing values and I will store that in this iris imp object
so these five iterations are basically the number of iterations taken to get
that final low imputation values so now if you want to look at the final data
with imputed values this iris dot so this object which you just created it
contains this X M attribute so this attribute has the final data frame with
imputed values and this time I’m storing it in iris forest one let me have a
glance at it view of iris forest 1 so this is the data set with missing values
this is the data set with imputed values and the imputation has been
done with random forest algorithm so you see this any over here this has been
imputed as five point zero zero nine again these three any values it has been
imputed as setosa citizen setosa right so again every time we are used
this will get different so the first time when I built this we had versicolor
in one of those imputations right so again we have to set a seed value so if
we use the seed value then we’ll get the same result every time right
but again they’ll be some cases where there is a bit of error in this
imputation and to get that error in imputation we will be using the mix
adder function and the speaks in three parameters first parameter as the data
is the data frame which sorry the final data frame with the imputed values
second parameter as the data frame with missing values third parameter is the
original data frame with no missing values for it so this iris dot M dollar
xim p is the final data set with m fitted values this is a data set with
missing values and the serf original data set now let me print out iris dot e
r r and thus gives me two values so this PFC is the error in imputing the
categorical values and this NR MSE is the so this is the error in imputing the
continuous values so this tells us that there is four percent error when we were
imputing the categorical values and there is sixteen percent error when we
are imputing the continuous values so this is pretty much how you can work
with the Miss forest so the basic algorithm behind this miss
forest function is random forest and all of these imputations are being done with
the help of the random forest algorithm I have two questions case itself a new Rando algorithm miss
forest that time the error was different they were higher than when you ran the
second time now in episode where we can optimize this also like you know because
it could be still possible even once I run it that would be high if I run the
second time they would be lower which one should I take it up so that I can so
as learned during model building so died you know so that again there’ll be
always random values so it up so every time so let’s see if we do not set a
seed and we build a model so that with respect to that model will get different
predictions the second time I build the model predict values
I’ll get different predictions so every time we have you this yes in the second
you ran it was less so ideally I should have chosen the second time rather than
the first time but if I use a seed function then obviously I would have
gone with the higher error imputation values rather than the second time and
it came up as lower so is it a process that I should run it is three four times so in this case what you can converse
run this functions maybe four or five times and take values from all of those
four five eight assess but then again this would be too time-consuming and but
you’d have to do it so maybe you’ll get five data sets like this and you would
have to manually check you know what is the similarity between those data sets
and what is the difference between those data sets so again that that or would
become manual work over there right so with respect to this package this is
pretty much what it does so again so the reduction in error you’d have to
manually do it you’d have to build it maybe five times 10 times 15 times and
compare all of those data and understand of you know where the
imputation is wrong and you would maybe try to give it a right value by yourself
sure now in reality you’re you have you had a data frame which had no missing
values then you introduced the missing values and then you had this comparison
and then you got the error but in reality I don’t have an ideal I always
get a data set which has already the in missing values in it now in that
particular case how do I yes so when it comes to imputation there are actually
two categories one is known as missing at random second is known as not missing
at random so this case what we did is missing at random
right so these packages are basically where we are assuming that these miles
so these values are missing at random but then again let’s see we have a
census data set and we are collecting so there is one column where we are also
collecting the salary of a person now in that case let’s see all the high-profile
emily’s maybe the so let’s say there are around 100 high-profile emily’s and are
those hundred the high-profile Emily’s 70 of them do not disclose their
salaries so in that case there’ll be 70 any
values so for this we would actually have to require the domain knowledge so
what we’ll do is compare the rest of the 30 records so wherever let’s see we also
have the person category upper the person occupation and there’s let’s see
or level such as Emily now with respect to all of those 30 entries we will
compare the salary of all of those Emily’s and we will get an or maybe an
average value out of that and with respect to that average value we will
try to predict the salary of the rest of the Emily’s who have not disclosed the
salaries so when it comes to not missing it
random cases then we would have to require the domain knowledge so this is
for a case were you know this is for missing at random
right so if there is a the data is not missing at random then your domain
knowledge is which plays the most important part the thing I should do an
imputation or I should just let out that parameter completely is there some upper
limit where I can do an imputation like 30% 40% 50% if I’m 50% missing values in
that I shouldn’t do imputation is there any issue so although you have questions
what do you mean by fifty against if you left out of their 160 records which I am
a force equal length I have missing values 100 sure I still
this parameter for my further modeling or I should let it go so is there some
upper limit in saying how much should be imputed how much should I not do it I’m
not really so this again would come down to okay so if I knew when it comes to
real time industry you have an observation window and you have a
performance window so if you have included a column into your observation
windows observation window compressor follow the independent variables so
sepal length is there in the observation window then it is important what the
problem is there are missing values so now even if there are around 70 percent
missing values the 10% which are there they are contributing something which is
important to the model and that is why you have that column so let’s say are
these 150 records there are only 15 records in this column which do not have
any values but then again we have this column only because at least those fifth
dean contribute something significant so in that case again it comes down to
domain knowledge on how you are able to or impute the rest of the 135 entries of
this column h-help like let’s take off this irish example now if I have a sheep
in length out of the 150 I have 50 records where there is a value now the
remaining 100 has to impute shall we in saying there it is so let’s see if I want to impute this
sepal length value now again so the sepal length is related to the sepal
width the sepal length must be somehow related to petal length and this would
also be related to petal width and species right so all of these columns
they are equally dependent on each other and there is some sort of relation
between them that is why we have them in our data set and as I had explained with
respect to the Miss forest I mean how it works so let’s say if I want to impute
this value now what it will do is this will deep this as the defendants
variable and these four as the independent variables so what will do is
it will read this record and it learns at if it is 3 and is 0.2 setosa this
will be a value if it this is the case then this will be the value if this is
the case then this will give a value and it up it internally calculates a perfect
case where there’s a record with no any values here and you get an average sort
of result in sepal length and that will be your final result right again so as I
said omitting a record as bad but omitting an entire column is even worse
you can’t just I mean if you are not able to remove the info if you are not
able to you know remove the missing values you can’t just go ahead and
remove that entire column you to find out bees by which you can impute
those missing values so again for our normally of classes offer academic
purposes what we do is we go ahead and just omit the omit that column or omit
those records because that is just the easier way to do the same thing you only
serve the recourse that’s the reason why I am more into understand not really
so that omitting would be different so again so okay so there are two cases
first is the case where maybe let’s consider this is what are a final data
set second is the case where we’ll consider this is a final data set right
so if this is our final data set then we will then we would have to assume that
all of these columns are equally important but if this is not our final
data set and we have to still do the data manipulation part then we can go
ahead and remove those columns which are you know which are not as significant as
the rest of the columns so it also depends on which part of it stage of the
data science lifecycle Yaron alright so let’s see if it if you got just if you
got the data set just right now it’s extremely wrong there’s not your final
data set and maybe you’ve got 50 columns or those 50 columns 30 of those have
missing values then you’ll try to understand how those 30 which add
significance and which do not have significance maybe from those 30 you
will remove 15 and keep the 15 but then I can do is 15 our missing values so
then you’ll have to find out how can you impute those missing values in those 15
columns so this is basically the entire process
okay but nine states but may I have two questions one before yeah
we are very you say it like we are using this fall is a random forest package of
that okay I mean things do we apply mean the tree
imputing the missing values for any I mean by performing random forest model
or any other model before that we can do suppose consider I don’t know do under
suppose I can say one date I said I don’t know what type of algorithm and
should walk on it but then misty values can I use that before a new model or
only for animal I am not able to get Q so any model or just random forests let
me explain really suppose now I have got one draw
day does it right now yeah yeah in this I can see so many in Avengers no I don’t
know what is the mean to understand the data you do I need to understand clearly
data like visual expert in the data and then this model will shoot like lost
equation or plus addition tree or linear regression with some other model now I
need to treat those missing levels again will again so machine you will go ahead
and build the machine learning algorithms only when your data is tidy
so this is not a tidy data so it is an extremely bad idea to go ahead and build
the machine learning algorithms on top of this yeah that’s what that I
understood Bonnie but I mean before that only I should create the missing value I
mean include them service years so that now that my question is here comes now
actually we are using these miss college as a random function instead so can I
use this this package only when I apply V for random forest or can I use it for
some other so it says that you’re doing the imputation with the help of the
random for algorithm right you do that and then you
get the dataset so you get a dataset which is proper on top of the data set
you can do anything right the purpose of imputation is to get but idd does it
where we have imputed this values with the least amount of error for assad’s
imputation has got nothing to do with the models which you built which we will
later on second portion is ah now we are creating the missing values like what
logic is falling like anyway normally mostly in any method any leverage I feel
like it will go with either mean more a median sir
maybe the package will be different but it should follow this logic itself this
is a crime okay again you’d have to rephrase the question
I mean any package which we are using on I mean by default each one but these all
will follow some logic behind that right I may either mean one or mean median or
mode any of this little um no right so for this miss forest it is using the
random forest algorithm it is not imputing the values with mean median or
mode but right now we will use a HMAC package here will be imputing the
columns with mean median and mode right so again now there are two other
packages there is mais package and there is Emilia package so the mice package
actually computes values with something known as predictive mean matching and
the Emilia package it includes values there is a creation approximation
algorithm so it does it work right right so I mean different or packages you have
or different or you know you value and this again it basically comes down to
your final games sometimes Queen would be the eigen value sometimes median
would be the ideal value sometimes using random for us would be the ideal value understand
I mean Mike was I mean no he said it’s going with random polish how old that
random polish Polish didn’t put any theoretical part could be explained but
I can understand this one easily okay so thatís what I was telling you guys so
random forest normally what we do is we have the training set we have the
testing set we the random forest algorithm learns from the training set
and it predicts the values on top of the test set your clear till here it yeah
yeah and that is what happens over you so let’s see if I want to predict this
value so this record will be taken as your test set and the rest of the 149
records would be your training set so this random forest algorithm learns from
these 149 records and it will be at the value which will be predicting it would
be on top of this record and over here the dependent variable would be sepal
length and the independent variables would be sepal width petal length petal
width and species similarly if you want to predict this value over here then the
sixth record would be your test set the rest of the 149 records would be a
training set and species would be your dependent variable and these four
columns would be your independent variables so that one out this yeah so
that was how this function works now I thought like some other logical I mean
it’s immediately implementing in the inner side Venables Clasico yes so what
we are doing is we are imputing the values with the help of random forests
that was pretty much what this function does
that’s right so next we have the HMI a c package i will load this now again this
time I will introduce 25% missing values into the data set so again this is
totally random so view of iris dot M is this needs to
be capital B over here iris start mi ass and we have introduced
25 percent missing values now the sketch my SC package comprises of the impute
function and with the help of this impute function we can actually impute
individual columns of the data frame so for each column I can use a you know or
different imputation methods so what I’m doing this for the first column sepal
length I am imputing those values with mean for
second column with the sepal width i will impute those values with just a
random value for the third column I’ll be using median right so have different
methods and we can impute the different columns with different methods so we
have that dataset and now also this width function basically takes in one
original dataset and we will do some sort of manipulation on top of this
original data set so our positional data set is this and from this data set I
want to impute this sepal length column with the mean so this is basically mean
of this column so these any values which you see those will be imputed with the
mean of the sepal length column so let’s take this 8th and 10th record we have
any values I’ll hit enter view of iris dot nurse now let’s look at 8 and 10 so
you see that five point seven five five point seven five so this is basically
the mean of this column so wherever there were missing values present in
this column they were imputed with mean now in the second column I will impute
those values with a random number so we have two and four over here and I will
be booting those with a random value so
this time no this is random and I will store the result back to sepal width
over here view of iris dodd murse so we have two we have four so we see
that every for every record wherever there was any we have random values so
this was imputed with three and this was imputed with 2.5 so this is basically a
random assignment of values over here and then for the third column will this
one be vo I this one is dollars if not simple with exhibit that common only the
yes dollar sepal width and this is what we have over here so all of the 150 we
are storing okay and then leave is doing simple and quality durability all I have
stored this so initially I had imputed the sepal length column with the mean
values and stored the result back to sepal length right i imputed these
values and stored it back to sepal length similarly I had imputed the
values and second column and stored them back to sepal width now I’ll do the same
thing I’ll impute the values in the third column and I will store it back to
the petal length column so this time the method is medium now let’s see what
other missing values over you so we have 6 and we have 10 let’s see what the
median is view of iris dot nurse so six and then iris taller petal length
oh this was supposed to be petal width sorry
Oh petal wealth TP h wi t th right view of iris dot m is right so this time we
have six and we have ten so we see that the median value is 1.3 and it has been
imputed with that median value over here so wherever there was any it has been
imputed with the median value so these are two such packages so miss forest of
the imputation is done with the random forest algorithm hm is he provides you
the impute function and you can impute of every individual column with
different methods you can also check out the other packages so yeah this is
premature to imputation so normally missing it random letters not a much of
an issue so the problem comes when it is not missing at random so that is where
you would have to do more of the manual work understand the dataset properly to
reduce the value um what do you mean by reducing the value money how do we get
to know like when we should mean that again
that again is so so you know what you are trying to do again there is no rule
of thumb for these sort of questions no mom only eye when we are out lies we
will go for we’re in Venice um again so there are a lot of factors
which come in so you’d have to understand the data first and then on
the basis of the pocket so so let’s see there are categorical columns if there
is a categorical column then mean median mood those wouldn’t even work right so
you have categorical columns then you would obviously have to go with
or those algorithms which are used for classification purposes and the fits of
numerical value then maybe or you have a call to take which is the burst for
sometimes so let’s say so or the data is not scattered from the mean so all of
the des so let’s say there are 150 data entries and all of those data entries
are closer to the mean if that is the case you’ll take the mean value and if
there is a case where all the data entries are closer to the median then
you take the median value and so you’d have to do all of that analysis so by
practical values obviously you cannot use mean median mode or the baby you can
cut you can’t even use linear regression on top of that you have to use some
classification algorithm or or some algorithm which works for both
classification as well as regression but normally which one is the industry do I
mean it’s the which packages the uses but to create missing value doing good analysis so my Spock you just used a lot
because it provides a I mean different methods so maybe you can just read up on
that right so what this basically does is so as we saw with Miss Forrest we’re
just one key so this mice package gives you multiple imputations so in one
imputation we’ll get certain values and second imputation we’ll get certain
values and third imputation we’ll get certain values right
so this mice package basically gives you multiple you know multiple imputations
of the same data set with missing values and then maybe you can take an average
of that or you can find out where the problem is so mices one such package so
maybe you can go through this tutorial by our next video we’d work for both or categorical and
relevant that depends on the method which you give so if the method SP mm
then it has pre cumin matching which works for categorical columns it
basically depends on which method you’re using so any other questions yeah water I mean
who do you mean could tell like one or two more packages with you indict and
run for that um so this is what we have solution imputation in our H imputation
as best this is what we have over here this gives out the same result so my is
Amelia of Miss Forrest HM is si mi these are what you have so I am mais package
it also gives you certain data sets which have pre-built missing values so I
will load this package once library of mice so data of so thus mice package
also gives you these data sets which have some missing values so you can go
ahead and walk on the view of boys right so you already have certain missing
values in these data sets so view of brand as ma right so again you have data
set where are the missing values me up so you have these missing values over
here right so the status it also gives you certain data sets which already have
missing values so you can go ahead and explore all of these right so I started anything with respect
to K means or what if covered with imputation these two packages normally
you after reading the missing values do we do a scaling as it for every you I
mean I’m not the I was telling maybe I will go for the video a minute
any adjusting guidance for that so some really did me no YouTube okay so tell me
what you understand by scaling like how much deviation was your like you keeping
everything constant for how much division me like that okay um okay let’s
again give me Cyrus D does it of iris now let me actually look at the help of
this right so here it is return that I mean you’d have to mute yourself piece
so there’s a lot of background noise right now so this gives us the
measurements in centimeters of the variables right so this is in
centimeters this is in centimeters and these two are also in centimeters so
you’d have to scale the values where the columns or the different columns are
present in different metrics right and again so let’s see if you’re building
the key means algorithm now when you’re building the key means algorithm you
have to make sure that the numerical columns which are passing in they are
normalized so let’s see if this was in centimeters this was in meters this was
in kilometers and this wasn’t maybe light-years right so then obviously the
k-means algorithm would give you extremely erroneous values so upscaling
comes in where you would have to convert all of the
volumes into one particular case or what scaling does is it basically converts
them without any unit so scaling you will subtract this with the mean and
divide this with the variance and when you do that the unit cancels out so
these values are converted into a converted between a set or a range of
values so and those range of values basically do not have a unit so this
column will have a range of values this column will have a range of values this
column will have a range of values and basically there is no unit and when
there is no unit obviously there is no distinction between these columns so
that is why you have to scale the values so because certain algorithms they are
you know so for them they are very scale specific so you have to make sure that
all of the columns belong to the same scale so that is why scaling is done
just a quick info guys if you are interested in doing an end-to-end data
science course then in telepods provides you with the data science architect
master’s program in association with IBM this will not only help you in mastering
data sense but also gain an in-depth experience do check out the course
details in the description mentioned below so this brings us to the end of
this video if you have any queries please do comment below we would love to
help you and also do subscribe to our channel so that you don’t miss out on
our upcoming videos

• Intellipaat says:

Guys, which technology you want to learn from Intellipaat? Comment down below and let us know so we can create in depth video tutorials for you.:)

• Intellipaat says:

👋 Guys everyday we upload high quality in depth tutorial on your requested topic/technology so kindly SUBSCRIBE to our channel👉( http://bit.ly/Intellipaat ) & also share with your connections on social media to help them grow in their career.🙂

• mohsin ali says:

deep learning project ki series bnaea

• Shagufta Firdause says:

Thank you very very much for this topic…please make video on this topic backpropagation, forwardpropagation

• Karthik Keyan says:

Nice video

• Shweta Redkar says:

Very good tutorial and informative. Please do deep learning CNN, RNN, and LSTM videos where MNIST or image classification dataset is not used. Use a structured dataset where there are n features and m rows. Thank you.