R語言之樸素貝葉斯演算法應用
阿新 • • 發佈:2019-01-25
樸素貝葉斯演算法在R語言中的應用,對應klaR包中的NaiveBayes()方法。問題描述:主要通過樸素貝葉斯演算法對於測試資料集中的nmkat屬性值進行預測,我們使用的資料是KKNN包中的自帶資料miete資料。主要對於該資料進行劃分:1/3為測試資料,2/3為訓練資料,通過對於資料的觀察,預測測試資料中的nmkat對應的值。
載入包
#樸素貝葉斯演算法
library(klaR)
nb1=NaiveBayes(nmkat~.,data_train)
劃分資料集
data_train=getdata(miete[,c(-1,-3,-12)],sub_train$ID_unit) data_test=getdata(miete[,c(-1,-3,-12)],-sub_train$ID_unit)
test_nb=NaiveBayes(data_train[,-12],data_train[,12])
預測
predice_nb=predict(nb1,data_test)
predice_nb
table(data_test$nmkat,predice_nb$class)
評估error_nb=sum(as.numeric(as.numeric(predice_nb$class)!=as.numeric(data_test$nmkat)))/nrow(data_test)
error_nb
1-error_nb
準確率:<span style="color:#FF0000;">結果:</span> <pre name="code" class="html"> 1 2 3 4 5 1 37 26 8 0 4 2 20 30 23 8 5 3 9 11 21 21 4 4 3 2 15 28 16 5 0 1 2 8 60
> error_nb
[1] 0.5138122
> 1-error_nb
[1] 0.4861878