大家好,我现在用R语言实现贝叶斯结构学习。按照Bayesan Networks in R书上的代码复制:arcs(ug, ignore.cycles = TRUE) = matrix(c("MECH", "VECT", "MECH", "ALG", "VECT", "MECH", "VECT", "ALG", "ALG", "MECH", "ALG", "VECT", "ALG", "ANL", "ALG", "STAT", "ANL", "ALG", "ANL", "STAT", "STAT", "ALG", "STAT", "ANL"), ncol = 2, byrow = TRUE, dimnames = list(c(), c("from", "to")))运行之后报错为:Error in `arcs<-`(`*tmp*`, ignore.cycles = TRUE, value = c("MECH", "MECH", : unused argument (ignore.cycles = TRUE)请问是为什么?感谢解答
2 回答
达令说
TA贡献1821条经验 获得超6个赞
在python scikit-learn中(20180808更新):
朴素贝叶斯是一类比较简单的算法,scikit-learn中朴素贝叶斯类库的使用也比较简单。相对于决策树,KNN之类的算法,朴素贝叶斯需要关注的参数是比较少的,这样也比较容易掌握。在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和BernoulliNB。
其中GaussianNB就是先验为高斯分布的朴素贝叶斯,MultinomialNB就是先验为多项式分布的朴素贝叶斯,而BernoulliNB就是先验为伯努利分布的朴素贝叶斯。
这三个类适用的分类场景各不相同,一般来说,如果样本特征的分布大部分是连续值,使用GaussianNB会比较好。如果如果样本特征的分大部分是多元离散值,使用MultinomialNB比较合适。而如果样本特征是二元离散值或者很稀疏的多元离散值,应该使用BernoulliNB。
- 2 回答
- 0 关注
- 1264 浏览
添加回答
举报
0/150
提交
取消