如何理解R语言分类算法中的朴素贝叶斯分类

本篇文章为大家展示了 如何理解R语言分类算法中的朴素贝叶斯分类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1.朴素贝叶斯分类原理解析
根据已知的先验概率P(A|B),利用贝叶斯公式P(B|A)=P(A|B)P(B)/P(A)求出后验概率P(B|A),即该样本属于某一类的概率,然后选择具有最大后验概率的类作为该样本所属的类.
也就是说,对于给出的待分类样本,求出在此样本出现条件下各个类别出现的概率,哪个最大,就认为此样本属于哪个类别.
其优势在于不怕噪声和无关变量,不足之处在于,它假设各个特征属性是无关的,而现实情况往往不是如此.
2.在R语言中的应用
朴素贝叶斯分类主要用到了klaR包里面的NaiveBayes(formula,data,...,subset,na,action=na.pass)函数。
3.以iris数据集为例进行判别分析
1)应用模型并观察结果

library(klaR) fit_Bayes1=NaiveBayes(Species~.,data_train) fit_Bayes1[1:length(fit_Bayes1)]

如何理解R语言分类算法中的朴素贝叶斯分类
如何理解R语言分类算法中的朴素贝叶斯分类


2)做出密度曲线
plot(fit_Bayes1)
如何理解R语言分类算法中的朴素贝叶斯分类
如何理解R语言分类算法中的朴素贝叶斯分类
如何理解R语言分类算法中的朴素贝叶斯分类
如何理解R语言分类算法中的朴素贝叶斯分类


3)预测分析并对模型进行评测

pre_Bayes1=predict(fit_Bayes1,data_test) pre_Bayes1

如何理解R语言分类算法中的朴素贝叶斯分类

table(data_test$Species,pre_Bayes1$class)
 error_Bayes1=sum(as.numeric(as.numeric(pre_Bayes1$class)!=as.numeric(data_test$Species)))/nrow(data_test); error_Bayes1

如何理解R语言分类算法中的朴素贝叶斯分类

上述内容就是 如何理解R语言分类算法中的朴素贝叶斯分类,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。