1. 程式人生 > >樸素貝葉斯分類器:MATLAB工具箱實現

樸素貝葉斯分類器:MATLAB工具箱實現

MATLAB工具箱的statistic toolbox中有naivebayes的類,可以直接使用。

使用預設的高斯分佈和混淆矩陣:

>> load fisheriris
>> O1 = fitNaiveBayes(meas,species); 
生成


其中,NClass是因變數的頻數,ClassLevels則是因變數類別,prior為類別的頻率。

NDims是特徵數量,

Dist是分佈名稱,為normal。

Params是各特徵對各因變數的引數估計。


<span style="font-family:Times New Roman;font-size:14px;">>> C1 = O1.predict(meas);
>> cMat1 = confusionmat(species,C1)

cMat1 =

    50     0     0
     0    47     3
     0     3    47</span>

獲得預測資料。

二、指定分佈函式

>> O2 = NaiveBayes.fit(meas,species,'dist',{'normal','kernel','normal','kernel'});
>> C2 = O2.predict(meas);
>> cMat = confusionmat(species, C2)

cMat =

    50     0     0
     0    47     3
     0     3    47

此處則指定四個特徵分別符合高斯、核密度平滑估計、高斯、核密度平滑估計分佈。