朴素贝叶斯分类器matlab
时间: 2023-10-16 11:19:42 浏览: 42
在 MATLAB 中,可以使用 Naive Bayes 分类器实现朴素贝叶斯分类。具体步骤如下:
1. 准备数据集
首先需要准备好数据集,例如一个文本分类问题,需要将文本转化为数值特征向量。
2. 划分训练集和测试集
将数据集按一定比例划分为训练集和测试集。
3. 训练模型
使用训练集训练 Naive Bayes 分类器,可以使用 fitcnb 函数实现。
4. 测试模型
使用测试集测试模型的准确率,可以使用 predict 函数预测测试集样本的分类结果,并与真实分类结果进行比较。
下面是一个简单的示例代码:
```matlab
% 1. 准备数据集
load fisheriris
X = meas(:,1:2);
Y = species;
% 2. 划分训练集和测试集
cv = cvpartition(Y,'HoldOut',0.3);
Xtrain = X(training(cv),:);
Ytrain = Y(training(cv));
Xtest = X(test(cv),:);
Ytest = Y(test(cv));
% 3. 训练模型
nb = fitcnb(Xtrain,Ytrain);
% 4. 测试模型
Ypred = predict(nb,Xtest);
accuracy = sum(Ypred==Ytest)/length(Ytest);
fprintf('Accuracy = %f\n',accuracy);
```
在这个示例中,我们使用鸢尾花数据集进行分类,将花萼长度和花萼宽度作为特征。首先将数据集按照 7:3 的比例划分为训练集和测试集,然后使用训练集训练 Naive Bayes 分类器,最后使用测试集测试模型的准确率。