朴素贝叶斯分类器:MATLAB工具箱实现

时间:2021-07-12 10:07:55

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

使用默认的高斯分布和混淆矩阵:

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

朴素贝叶斯分类器:MATLAB工具箱实现

其中,NClass是因变量的频数,ClassLevels则是因变量类别,prior为类别的频率。

NDims是特征数量,

Dist是分布名称,为normal。

Params是各特征对各因变量的参数估计。

朴素贝叶斯分类器:MATLAB工具箱实现

<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

此处则指定四个特征分别符合高斯、核密度平滑估计、 高斯、核密度平滑估计分布。


更多详情,见MATLAB帮助文档:Naive Bayes classifier