大家好,我現在用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 關注
- 1334 瀏覽
添加回答
舉報
0/150
提交
取消