Tutorial 49- How To Apply Naive Bayes' Classifier On Text Data (NLP)- Machine Learning
Вставка
- Опубліковано 23 лип 2024
- The Naive Bayes classifier is a simple classifier that classifies based on probabilities of events. It is the applied commonly to text classification. Though it is a simple algorithm, it performs well in many text classification problems. Other Pros include less training time and less training data.
Please join as a member in my channel to get additional benefits like materials in Data Science, live streaming for Members and many more
/ @krishnaik06
Please do subscribe my other channel too
/ @krishnaikhindi
If you want to Give donation to support my channel, below is the Gpay id
GPay: krishnaik06@okicici
Connect with me here:
Twitter: / krishnaik06
Facebook: / krishnaik06
instagram: / krishnaik06
eagerly waiting for NLP series... btw your work is amazing. Thank you!
The calculation of conditional probabilities are wrong. P(x2|y=yes) = 2/2 not 2/4. There are 2 yes values, hence denominator is 2. Out of 2 yes values, both have x2 and so numerator is 2.
Thanks bro, you are right :)
@@aryantyagi2189 🧐
no. food =4
food/yes ,, =2
p(food/yes)=2/4.... i think its right
@@santhiyaA-sz8db no man it's conditional probability ,when P(A/B) you go look for the portion of A is true when B is true not overall
it was good content, thanks for making such video, its really nice to learn thing like this
thank you sir ur videos has helped me a lot and i can't thank u enough for the great work that u r doing
Superb explanation. Thanks a lot Krish
Hi Sir, isn't p(x2 | y=yes) = 2/2= 1? not 2/4? (9:02)
because p(food=1 | y=yes) = p(food=1, y=1)/ p(y=1) = ( 2/5 ) / (2/5) = 1
@shawn chung yes,i think so ,
because p(x2) given that yes will be 2/2(we have two yes and both are having x2=1) not 2/4.
please correct me if my assumption is wrong.
@@uttamchoudhary5229
Actually it will be p(x2 | y=yes) = no. of words (x2) / total no. of words in Class Y = Yes
no. of words (x2) in yes class= 2
total no. of words in Class( Y = Yes) = 5
So it should be = (2/5) = 0.4
@@ppsheth91 There are only 3 unique words where Class( y = yes ). It should be 2/3
Hello Krish,
Is likelihood the same as the probability for discrete variables?
Here we are substituting the likelihood with the probability of the word in the Naive Bayes but when a continuous variable eg. income is an independent variable then we calculate the mean and sd to find the likelihood for that particular point in the distribution. So the confusion arises when we talk about categorical aka discrete variables we can interchange the terms probability and likelihood as it means the same. Kindly help
Your videos are really amazing. A quick note: P(1|yes) = 0.1 (10%) :)
Sir, I have a doubt. When we are calculating p(X2/y=yes), should it not be equal to p(X2 intersection y=yes) / p(yes) = 2/2?
yes , your explanation is correct
yes, you are correct
yeah you are correct, you can also see in this way that p(X2/y=yes) is basically -> number of times word X2 appear given output is 'yes'/ number of times 'yes' appear.
That's right. It should be 2/2 i.e. 1.
Yes you are correct.
Thank you sir... Great work sir... 👍👍👍👍🙏🙏🙏
Great content!
great content keep doing
Thank you sir, my concepts got cleared
Waiting for NLP series eagerly....
Sir at 9:02 it should be 2/2 and not 2/4. Because we have to consider only yes cases. Please clarify if I am wrong.
yes
you are right
i thought the same
yes even I think the same
Its correct. 2 times yes when food is present / total # of times food is present
yes i think the same , but in that case P(Bad | yes ) = 0 and so the whole term P(yes | sentence1) = 0 , so this should not happen
@@tanvishinde805 He's considering sent1 as an example and not that BOW matrix. In sent1 three words are present, so only those features would be considered to calculate the probability.
If sent has both delicious and bad words present then it won't give definitive o/p, which he should've explained.
@krish Naik, Thanks for the nice explanation. I have this doubt, why we always apply Multinomial NB for text classification, why not binomial or Gaussian NB. could you please explain ?
Hi krish, Your videos are really amazing and been following you since the start of my ML study.
can you upload the video about how to solve the problem of imbalanced datasets and also whenever the new word is present in unkown dataset i.e when probability becomes zero.?
thankyou!
Excellent explanation 👌
How did you calculate output column in BOW step? If we don't have that column then in that case how we will proceed?
GOOD CONTENT TY...
Nice explanation Krish. Can you explain
1.How do we solve new word (taste) is presented in the existed sentence (The food is Delicious).
2.What will happen Dataset is imbalanced.
You mentioned like will upload this two problems in next video .I did not find that video,please upload Krish. Thank you
I came across a concept called Laplace smoothing which helps how to deal when test data contains a new word which is not available in Training Data Set. This might help you.
8:24 p(the/yes) =number of times the==1 when o/p==1 also for p(food/yes)=2/2
you are right brother
great tutorial..
Thank you for this video. Can you please share videos for the implementation of these concepts using python also?
You're the best!
Thank you for the video. Do you have Tutorial 50. I mean the next part explaining what if when the data set is imbalanced. Where does Naiye Bayes fail ?
nice video as usual
For word 'bad' , will its conditional probability be zero and will make whole probability zero since 0*anything is 0 ?
Well explained :) Do you have python implementation of same example ? Naive bayes implementation without library ?
Really helpful❤
how can i find the next video, the youtube doesn't recommend :(. thank you for ur work, really clear
Sir how do we do it on Image data... if we have pixels as feature of our data set..how can we find the P(features/Class=k) ??
Sir, where is that next video related to the problems in the Naive Bayes theorem I really want that and don't want to lose the movement.
Sir I am unable to find ur naive bayes video after 49th one in machine learning.. Please upload it..
Thanks krish
Which input taken to predict the early reviewers by using navie bayes ??
well explained
great sir
Great Explanation sir when will you post Tutorial 50
on to deal with word which is not present in the training dataset
how to calculate when output is not there for other sentences?
Thanks
sir would you like to share tutorial 50 you were supposed to share and would you please arrange machine learning playlist according to order
I believe probability of No|Sentence-1 is zero due to the word delicious. So after normalization P(Yes|Sentence-1) is 100% and not 70-80. Please correct me if required.
you are correct
@@srinivasarukonda8768 YES, but if u calculate, P(The/yes)=1/2, P(Food/YES)=2/2, P(delicious/Yes)=2/2; Bcoz formulae for P(A/B)=P(A intersection B)/P(B) ; So the final answer will be 1/5. Can anybody confirm this?
@@pradeep611 P(Food/YES) IS 2/4
yes but why he used 0.03 and also it will be 0.1 not 0.01
There is a calculation mistake. 1/10= .1 and not .01 . That's why he got the wrong result initially.
Decimal power goes off as we do normalize. so results should be ok.
Sir very good video. Will it be possible to make video based on naive bayes using TF-IDF processed data
the is also stop words ?
Can you please explain how to predict same for new sentence
At 10:00 shouldn't we also take p( x4 | y=yes) ??
I am not able to find the next part about imbalanced dataset and how to deal with the drawback plz anyone can send the link ?? Also what if i have multi class dataset ??
beautiful
hi krish... in the example shown, you computed P(y=yes|sentence)..... shouldnt this sentence be a query sentence and not one of the training sentence?
thanks for this awesome tutorial. Hats off to you sir.
Would you please make video on Support Vector machines with its mathematical concepts...
Yes
thank you sir
I think P(x2 | Y=yes) should be 1 ... Same goes for the other cases x3. the sample space given y=yes should only count events where y=1.... Please Correct me if I am wrong....
I learn naive Bayes before also,,, but with the real life use case I understand ,,,,,I have a question Krish sir ,,,how you take the values in the table (like 0,1),,,pls clear my doubt ,,,
Could you please make a video on AB testing
We calculate the probability of xi given y=1 this means we filter by y=1 and then calculate the probability. So, P(x2/y=1)=2/2 etc
Can you please share the next part of this video ??
Which is the common tool for data science
sir....plz upload video on how to solve the problem when the naive Bayes is fail
Sir please tell how to implement it practically
Sir it would be greatful of you, if you make a video explaining the output of all clasifiers and regressors. I mean, SVM, naive bais, logistic all returns coefficients. Its hugely confusing similar in regression aswell. It will great if you address this. You are the last hope sir
Where did 0.03 come from? @10:50
Wrongly calculated the probabilities P(x1|yes) and others. Anyhow great content
sir what is written in tatoo in your hand??
Awesome video Krish, I feel the condition probability calculation is not correct. I've read some blogs and watched other videos there their method is different. and they all are the same, I referred AAIC, codebasis, and some blogs from analytics Vidhya and medium.
I wounder why last feature was not calulated or explained. what will be the probabilty of (Bad|yes)? Is it 0? If yes, the whole answer will become zero
I don't understand, how you choose this feature table.
sir according to me P(x2/y)= P( x2 ^ y)/P(y) , where P(x2^ y) = how many time x2 = 1 when out output is 1 = 2, and P(y) is how many times we are getting output as 1. Therefore P(x2/y) = 2/2= 1, nor 2/4. correct me if I am wrong
Yes..he is explaining wrong actually
please solve P(y=no/sentence) there is some problem in it
P(y=No|Sent1)=3/5 * 2/3 * 1/3 * 3/3 = 0.13 is this computation correct?
How to use this algoritham in digital marketing?
why is f4 /x4, "Bad" not taken for p(yes/sentence)
i want a video on this too ...How To Apply Decision Tree' Classifier On Text Data (NLP)- Machine Learning.. on naive bayes it is easy but on dt i was confused.. pls help maae baap
New Intro is awesome
Good video. Wrong calculations on p(x1|y=yes) though
The p(x=food| yes) =2/4 is correct?
But "yes" is apparent just 2 times not 4!!!! Or im wrong??
I don't understand why isn't the queries below are being addressed. Seems like the video was made hurryingly and all the calculation and concepts are messed up.
The video is good, but noticed few things :
1. "The" is also a stopword. 2. it's 25% and not 0.25%
EM algorithm?
Sir please also add code portion
Where is the next video ? I mean the next part of naive Bayes after this
can anyone send link of next video that mean 50
Gibbs algorithm?
dude amma see them all though i know nothing about programming
Sir, why are you not taking the probability of word 'bad', when you are computing the probability for yes.
He's only showing us Sentence1 which doesn't have the word 'bad'.
I am confused
First p(y=yes) is 0.1
second p(y=no) is 0
now after normalization, we get 1 for yes and 0 for No...
correct if i am wrong
can i get the code?
Can anyone help me finding the tutorial -50
What if any of the count =0
Boss..It is not Bayes theorem formula.But Everyone are saying the same.The end calculation giving us right Bayes theorem.
p(x1/y=yes) should be 2/2 =1
9:24 why P(Bad | Yes) is not considered in this calculation ?
We are calculating y=yes for the sentence 'The food is delicious' where after pre processing(strop words removal) the sentence becomes 'The food delicious' and the BOW is applied to get the feature matrix (chart ) shown in the video. Remember, BOW makes a feature matrix of all words in the data.Since we have 3 sentences and the word bad is also present, thus it will be there in the chart. however, when we are finding y= yes for sentence '"The food delicious" we wont include word ''bad' in the calculation as its not part of the sentence.
If u want to calculate y= yes for the second sentence 'The food is bad' which after preprocessing becomes ''The food bad' then we wont calculate the value of delicious. Hope this clears your doubt.
In case u are confused check out any UA-cam video for Bag of Words and stopwords removal.
@@MindScape322 oh yes! Thank you
Probability of the No will Be 0 because of delicious features probability is 0
where is tutorial 50?
9:30 guys it 0.1 not 0.01
BA student can become data scientist?
anyone.. but working hard is the key.
1/10 is 0.01? but everything else makes sense. ty for sharing man.
do videos in kannada also
queridão
good ()great) explanation but ... Calculation mistake !!!
did you forget to divided the term(p(y)*p(x1/y).....) by (p(x1)*p(x2)....)
No we don't have to consider the denominator part cuz its a constant and remains same for every factor