Naive Bayes Classification with R | Example with Steps
Provides steps for applying Naive Bayes Classification with R.
Machine Learning videos: goo.gl/WHHqWP
R code and data file: github.com/bkrai/Top-10-Machi...
Topics covered,
00:00 Introduction
00:27 Data
01:51 Visualization to understand variables
05:11 Data partition
06:09 What is Naive Bayes' model?
07:42 Naive Bayes' model in R and interpretation
10:43 Plot model
11:41 Prediction
12:56 Confusion matrix and misclassification error for training and test data
Naive Bayes Classification is an important tool related to analyzing big data or working in data science field.
Machine Learning videos: goo.gl/WHHqWP
Becoming Data Scientist: goo.gl/JWyyQc
Introductory R Videos: goo.gl/NZ55SJ
Deep Learning with TensorFlow: goo.gl/5VtSuC
Image Analysis & Classification: goo.gl/Md3fMi
Text mining: goo.gl/7FJGmd
Data Visualization: goo.gl/Q7Q2A8
Playlist: goo.gl/iwbhnE
R is a free software environment for statistical computing and graphics, and is widely used by both academia and industry. R software works on both Windows and Mac-OS. It was ranked no. 1 in a KDnuggets poll on top languages for analytics, data mining, and data science. RStudio is a user friendly environment for R that has become popular.
Пікірлер: 188
After watching most of your videos, I only can say that you're a great teacher, a good guide for the people who are struggling to understand concepts of Data science. Keeping sharing and blessing us.
@bkrai
5 жыл бұрын
Thanks for your comments!
Your videos are the best! Thank you for your efforts and passion for educating your fellow beings!
@bkrai
5 жыл бұрын
Thanks for your comments!
I have this to say. You are such a great teacher. Very apt and intuitive video. I must confess your videos are one of the best.
@bkrai
6 жыл бұрын
Thanks for your comments!
Your Naive Bayes video is soooo much better than what I receive during my graduate lectures.
@bkrai
4 жыл бұрын
Thanks for your feedback and comments!
Thank you so much, Dr Rai. For your clear and detailed explanation, that is really helpful!
@bkrai
4 жыл бұрын
You're most welcome!
Hello My name is Cleber and I'm from Brazil. Thank you very much for this excellent lesson (step by step). I couldn't find any video that explained me in detail, including making the prediction showing the probability. Stay in Peace.
@bkrai
10 ай бұрын
Thanks for comments!
Your videos couldn't be better & simpler! You help us alleviate from the fear of data science & machine learning! Thanks a ton sir! And bless us!!!
@bkrai
3 жыл бұрын
Glad to hear that!
@fazlanfaiz8395
2 жыл бұрын
hi do you have the data file
The demonstration & explanation of the viz. part is highly appreciable.
@bkrai
3 жыл бұрын
Thanks for comments!
Thank you Thank you Thank you so much Sir. I really don't have enough words to thank you. You have made this video because I had requested you. Why I didn't ever met a Professor like you who is extremely helping humble and kind towards their students. With due respect I'm thanking you for making this video.
Thank you for making this video it is extremely helpful!!
@bkrai
4 жыл бұрын
You're so welcome!
I have no words Really its amazing sir
@bkrai
5 жыл бұрын
Thanks for comments!
Thank u sir useful video
I'm enjoying your video every'time!!!
@bkrai
5 жыл бұрын
Thanks for comments!
روووووعة يسلمو .... Thaaaaanx alot
@bkrai
2 жыл бұрын
You are welcome!
Thank you very much for your helpful and insightful videos
@bkrai
4 жыл бұрын
You are very welcome!
Thanks for the video.. Very useful
@bkrai
5 жыл бұрын
Thanks for comments!
Thanks alot Most helpful for naive bayes Learned alot
@bkrai
4 жыл бұрын
Thanks for comments!
It helped me a lot. Thank you. Very powerful explanation.
@bkrai
5 жыл бұрын
Thanks for your comments!
@aulaalbalad4072
5 жыл бұрын
@@bkrai Absolutely. We are trying to analyze your video now.
@bkrai
5 жыл бұрын
Thanks!
Liked and subscribed because my guy, Bharatendra, is the truth! Thank you!
@bkrai
4 жыл бұрын
Thanks for comments!
I like it , thank you for sharing ….. enjoy your life
@bkrai
5 жыл бұрын
Thanks for comments!
I don't know who the hell unlike ur videos.... ur videos are always awesome
@bkrai
4 жыл бұрын
Thanks for your comments!
This was great, thank you.
@bkrai
3 жыл бұрын
You're very welcome!
Thank you so much, I really need that
@bkrai
4 жыл бұрын
Thanks for comments!
Thank you so much for the videos! I always follow your videos and learn something new. I have a quick question about the math. You use P(A) amd P(B) for demonstration, can you also write down the math for all 4 variables? Bayesian rule for P(A), P(B), P(C), P(D) in one or multiple formula? Thank you so much. Allen
I like your vidss. Thank you.
@bkrai
5 жыл бұрын
Thanks for comments!
Thank u
thank you.. sir, can we use naive bayes classification for sentimental youtube comments... if possible can you please upload a video on that..
Thanks for the video- just started learning with R so this is definitely useful for me! Qns: how did u train the data? Was it just by keying in those codes before u applies Naive bayes?
@bkrai
5 жыл бұрын
In line 32 when we develop a model, it is done after training.
Great work and detailed tutorial. It worked perfectly on different data i used. Please sir how to one predict a single data after using the model. The model was been trained and working well. How can we predict a single data into the model and see the outputs. I would love to have your email sir.
you save my life bro
@bkrai
3 жыл бұрын
Thanks for comments!
thanks!!! friend.
@bkrai
5 жыл бұрын
thanks for comments!
great ! i just subscribed boss
@bkrai
4 жыл бұрын
Thanks!
great !!!
@bkrai
4 жыл бұрын
Thanks!
you have been an inspiration for me to get into R world.. pls, let me know how to start to R with the basics to make a career in it. Hoping for ur positive reply.
@bkrai
4 жыл бұрын
You can start with following playlist: kzread.info/head/PL34t5iLfZddtII4ssT8FSUFP27fPYDEhY In addition, it will help to review statistical concepts: kzread.info/head/PL34t5iLfZdduw0BfhRbNXxi_Y3BGk2MoB
@theknowledgekart
4 жыл бұрын
@@bkrai Thanku so much sir
@bkrai
4 жыл бұрын
Welcome!
Many thanks sir for this video. A few quick questions though. #In the case where there exists a high correlation between independent variables (ie multicollinearity), how do I treat it to make it suitable for the application of Naive Bayes in the sense of classification ? #What characteristics must one look up for in a data to know the suitability of applying Naive Bayes ? # May you please explain what this code means "data %>% ......" in plotting the box and density charts ? Thanks once again for this video.
@bkrai
6 жыл бұрын
PCA can help with multicollinearity or you can go with ridge, lasso or elastic net regression. When developing classification model, generally you should try different methods and see which one works best with the data you have. Each data has it's own specific characteristics and it is not possible to know beforehand which method will perform better. For %>% explanation, see this link: kzread.info/dash/bejne/oJ12l6NxocSeaKw.html
@justiceasare232
6 жыл бұрын
Many thanks DR RAI
That's perfect example. It made really easy to understand! Could you please help us sharing python code for the same example.. Thanks in advance :)
@bkrai
5 жыл бұрын
I don't have python code now, but will explore during summer.
@kartheekprasanna2755
5 жыл бұрын
@@bkrai Thank you so much! That will be really helpful if you can share as soon as you can.. :)
Sir can we use naive bayes classification for sentiment analysis of tweets, could you please do a video based on that??
@bkrai
6 жыл бұрын
Thanks for the suggestion, I've added this to my list.
Sir, at 13:20, you are using the model and training data set to predict.when we have used the train data to model the data set, what is the reason to do prediction using the same train data on the model ?
@bkrai
3 жыл бұрын
We do it for both train and test data to make sure the results are consistent. If train data results in accuracy of 90% but the test data has only 20%, then we will know that we are doing over fitting.
Thank you very much. I believe there is an error at 6'43''. A and B are not independent. What is independent is the features B1, B2, ...Bn.
This is awesome. More samples would also improve the model performance wouldn't it? Could you please make a video on sentiment analysis?
@bkrai
3 жыл бұрын
You are right! Also here is the sentiment analysis video: kzread.info/dash/bejne/oaijusePgMu6Z7Q.html
@pemmasaniyashwanth2815
2 жыл бұрын
@@bkrai hello after compiler libraries it's telling there is no such packages . Please help me I am new to R
@bkrai
2 жыл бұрын
Make sure you also run library line after installing packages.
@pemmasaniyashwanth2815
2 жыл бұрын
@@bkrai can I know how to install those packages
which version of R studio you r using ?
GOOD DAY, SIR! i would like to ask how to train and test the data after sentiment analysis
Hello sir, question about this model. if you perform the naive_bayes function to predict a column and do not use all independent variable columns in the test data should you also exclude these columns when performing the prediction?
@bkrai
3 жыл бұрын
Use only those variables while developing the model that are also part of test data.
It was very helpful..sir,I have a question can we do clustering using naive Bayes..If yes, then how can we do it??
@bkrai
4 жыл бұрын
For clustering I would suggest these 6 videos: kzread.info/head/PL34t5iLfZddvMPAl1TzHJ_GjQcD3s6w_Z
Sir, Please make a video on Laplace smoothing in R software
@bkrai
4 жыл бұрын
Thanks, I've added it to my list.
Hi when i used your model to plot the density plot my graph was completely different , any solution please
Thank you so much for the videos! Dr. Rai, I tried this at different dataset. But I have a problem result on modelling. there is "# ... and 8 more tables". How can I show full of result?
@bkrai
2 жыл бұрын
Let me know code that you are referring to.
Sir, I would like to know whether we can consider the Submission Status as Dependent attribute for this above method. Whereas the attribute contains "Available profile", "Level 1", "Level 2", "Placed". Hiring process by the Recruitment team. Need to find which team is hiring best profile and classifying them into group as "Tier 1", ""Tier 2" and "Tier 3". Plz, suggest your opinion on this...
thanks sir, query= cross-validation why we need to check between admit and rank, you talked about frequency and i didn't understand ?please clarify..
@bkrai
6 жыл бұрын
They are factor variables. We should not have combinations of the two where frequency is zero. If it is zero or too small, we can probably combine rank-3 and rank-4 into one.
@kalyanasundaramsp8267
6 жыл бұрын
sir, firs hats-off to you for the swift response and now i understand the concept
Sir can you explain how to create a multiple output neural network in r using neuralnet package?
@bkrai
6 жыл бұрын
You can use following link for multiple outputs. This is much faster. kzread.info/dash/bejne/mphsk6eBYcqXkqg.html
Dr., one more question. I wish that in the classification on the test basis, I could set the threshold percentage to perform the classification. Example: There is a 70% chance of being in class 1 and 30% in class 2. I would like it to be classified as class 2 odds greater than 10%. How to set this threshold for classification. Is it in the predict function? Thanks!
@bkrai
4 жыл бұрын
You can try this link: kzread.info/dash/bejne/q6SDk6aJda6_dtI.html
sir, Do u have made any video on EFA, CFA and SEM for research purpose. If yes pls let me know. Thanks in advance.
@bkrai
3 жыл бұрын
Not at this time, but I've added them to my list.
In the box plot line (the whole pipelining) , I am getting an error stating ( Could not find function "+
@bkrai
3 жыл бұрын
You mentioned Could not find function "+
Sir,is there any general comment regarding,which is better classifier Naive bayes or logistic regression?
@bkrai
4 жыл бұрын
It depends on the data. It is better to try both and choose the one that gives higher accuracy.
hello sir thank you for all i have a question why did not use boruta package for signification feature
@bkrai
3 жыл бұрын
To avoid any confusion, this video just focuses in naive Bayes.
@harunbakirci1781
3 жыл бұрын
@@bkrai 👍👍👍👍 so do we have to
@bkrai
3 жыл бұрын
No harm in trying. If it helps to improve accuracy, then should use. If accuracy dosen't improve, then can be ignored.
@harunbakirci1781
3 жыл бұрын
@@bkrai thank you my teacher you are the best
@bkrai
3 жыл бұрын
You are very welcome!
Thanks in advance sir Could you please clear my query that in P1 & P2 I am getting same length of arguments. I have given test data to predict P2 but still getting same output as P1 & their by getting error at tab2 as " all arguments must have the same length ". Please rectify Thanks again.
@dhavalpatel1843
4 жыл бұрын
You should always pass the model as the first argument in predict function. The second parameter should be a data frame of predictor variables only. You can specify type=”prob” as an extra argument to get probabilities of every factor of y. Either type=”class” directly gives you the class of predicted values. By default type argument is set up differently for every R version.
Tq for this video it was good and easily understandable than others... Naive bayes classification method is applicable for fraud detection in creditcard transaction dataset because it contains 30 k rows of data with 30+ columns sir. Please reply me sir i have this confusion from long time...
@bkrai
4 жыл бұрын
Yes, it should work fine.
@divyadeivendran2219
4 жыл бұрын
@@bkrai Tq sir
Ive tried different data set but on the plot (Model) im getting an error of " Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' is a list, but does not have components 'x' and 'y' " what should i do?
@bkrai
3 жыл бұрын
Try to convert them to a data frame, because it says 'x' is a list.
Sir, I am getting an error , "variable lengths differ" can you please assist!!
@bkrai
4 жыл бұрын
In case it is due to missing values, then you can use thins link: kzread.info/dash/bejne/c6Jr0LKFepPMo8o.html
sir, I have a question. How can we improve our accuracy, if we come to know our model is bad ? #Thank_You_For_Your_Lecture.
@bkrai
3 жыл бұрын
Usually we try more than one model and select one that provides better accuracy.
where can i get the binary.csv file to practice ,let me know
@bkrai
4 жыл бұрын
See the link in the description area below this video.
hello sir. with the code that you use to partition the data, how does it partition? is it by random?
@bkrai
2 жыл бұрын
Yes it's random.
@evansumido6191
2 жыл бұрын
@@bkrai Thank you.
@bkrai
2 жыл бұрын
You are welcome!
Hi, Can we apply Naive Bayes on a data that has a class imbalance ? This data has a class imbalance . And this is not solved
@bkrai
4 жыл бұрын
Yes, it is better to address class imbalance first.
You have a wonderful talent to teach. You are one of the best that I have seen. When I execute the program I get the following error in the predict, “> p p head(cbind(p, train)) Error in cbind(p, train) : object 'p' not found” Can you provide a solution?
@chamilarupasinghe9186
5 жыл бұрын
Can you kindly send me the source code to crupasinghe.elite@gmail.com to troubleshoot my problem? Best, Chamila
Helo Sir, Can I kindly know the version of R software used in this vedio.
@bkrai
4 жыл бұрын
This video was done around Feb 2018. So whatever version was available at that time.
I want to predict KIDNEY disease using naive bayes classifier in Rstudio.So I want to know will your R script works for it or not? If not what should I do?
@bkrai
6 жыл бұрын
It depends on the data and type of variables you are using. Generally you should not try just one method, but several and then see which one does best.
hello sir, the video is very useful, thank you so much, can I know the version of R software we use to download bcoz presently I have version4.0 and in that pairs.panel package is not available so kindly inform me about the version of R software that has to be downloaded
@bkrai
4 жыл бұрын
I just downloaded 4.0 and then installed 'psych' again. Initially pairs.panels didn't run as you mentioned. However, after I ran library(psych) and retyped pairs.panels command, it worked fine.
@thejuhulikal6290
4 жыл бұрын
@@bkrai yes sir ..I too tried thank u so much sir
@thejuhulikal6290
4 жыл бұрын
sir i have some doubts regarding applying this model to my data set, can I get your email id for suggestions
@bkrai
4 жыл бұрын
Thanks for the update!
Hello sir, hope you are doing good! i am writing you because I came across a paper named Yagyanath Rimal ,with your naive bayes analysis as same as in this video. The journal name is INTERNATIONAL JOURNAL ON ORANGE TECHNOLOGIES (IJOT) with paper title Naïve Bayes Machine Learning Classification with R Programming: A case study of binary data sets, please go through if they have used your analysis with their name
@bkrai
3 жыл бұрын
Thanks, I'll look into it!
how to make the naives bayes model when the target is quantitative?
@bkrai
4 жыл бұрын
It is mainly used as a classifier with qualitative target. For quantitative target, try this: kzread.info/dash/bejne/kWesr7WbecfLYqw.html
sir i will provide dengue disease data set u predict the accuracy by naive bayes algorithm please
@bkrai
3 жыл бұрын
I saw this today. You can send data at seemabharat@gmail.com
Do you do any private tutoring?
@bkrai
5 жыл бұрын
If you have any query regarding any video here, you can always post it and I'll try my best to provide feedback.
hie sir!!! i ran this model and in the console it is not showing all the tables instead it says 2 more tables.How to view those tables as well???
@bkrai
5 жыл бұрын
You can maximize the console screen to see everything.
@bkrai
5 жыл бұрын
At what time point in the video are you referring to?
How can I install nativebayes library.
@aswaniap8293
5 жыл бұрын
First you want to enter the code given below: install.packages("naivebayes") library(naivebayes)
How to take a specific test? Example: I want to know the probability of gre = 545, gpa 3.50 and rank = 3.
@bkrai
4 жыл бұрын
On way is to use these lines: z
sir i m getting error in installing packages of naviebayes and psych
@bkrai
4 жыл бұрын
Check spelling of the package.
Sir, what am I doing wrong here? model= naive_bayes(admit~., data= train) p= predict(model, train, type = 'prob') Error in which((sapply(newdata[ind_factor], nlevels) != sapply(tables[ind_factor], : (list) object cannot be coerced to type 'integer'
@vinuvarsidh880
5 жыл бұрын
i get the same error dude.. can someone help us rectify the error!!
where can we get the dataset?
@bkrai
3 жыл бұрын
There is a link in the description below this video.
When I do classification, furing the test with a test sample everything suddenly becomes "FALSE" anyone have any idea?
Hola ,podría compartir la data?
@bkrai
Жыл бұрын
See link in description area.
Why did you convert from integer to factor?
@bkrai
5 жыл бұрын
Rank and admit are factor variables, so they need to be converted to factor.
@DanTaninecz
5 жыл бұрын
@@bkrai rank would seem to be categorical, and admit binary/dummy. I guess I'm missing something about how R defines factor variables. Does it just include these types of variables? Thanks!
@bkrai
5 жыл бұрын
When a variable such as admit has values like 0 and 1, it thinks it is a integer variable. Similarly rank has values such as 1, 2, 3, and 4. This is also treated as integer by default. In such situations we need to make changes where necessary.
Teacher, I tried to type follow you but still error. Why? 😢 can you tell me how to install package.
@bkrai
2 жыл бұрын
to install psych package, you can run install.packages('psych') You can follow similar process for other packages. After installing a package, you should run library line.
Amazing explanation. I still have one doubt. Shouldn't we pass test data as the required data in predict function?
@bkrai
4 жыл бұрын
That's what is done in line 52.
you should inform that those libraries had a lot of dependencies.
sir can you please explain the cross tabulation between admit and rank. what we want to observe cross tabulation?
@bkrai
3 жыл бұрын
Number in each cell should be 5 or more.
Hi Sir, this video is a great! But I can't seem to be able to plot(model), the histogram doesn't seem to show up
@bkrai
5 жыл бұрын
make sure there is enough space for a plot to show up in the 4th window.
Error in data[partition_data == 1, ] : object of type 'closure' is not subsettable getting this error here is the link to the code: - github.com/JordanTheDodger/NaiveBayes-in-R-Test- I looked on StackOverflow, it said I am trying to use some inbuilt function. Thanks in Advance. Looking forward to your reply
@bkrai
4 жыл бұрын
Link to the code doesn't work!
And then I want dataset for any one Tamil channel like star Vijay, suntv ,zee Tamil this is my humble request sir
@bkrai
6 жыл бұрын
Unfortunately I do not have data about Tamil channels.
@mathisinger5654
6 жыл бұрын
Bharatendra Rai k sir any sports channel