1. 程式人生 > >R語言之樸素貝葉斯演算法應用

R語言之樸素貝葉斯演算法應用

樸素貝葉斯演算法在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