# 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

would be on next Saturday then. While this is loading,

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

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.:)

👋 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.🙂

deep learning project ki series bnaea

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

Nice video

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.