朴素贝叶斯代码matlab
时间: 2024-10-15 11:05:57 浏览: 26
在MATLAB中实现朴素贝叶斯分类算法,通常会用到`fitcnb`函数,它是统计学习工具箱的一部分。下面是一个简单的例子说明如何使用该函数训练并测试一个朴素贝叶斯分类器:
```matlab
% 导入所需库
addpath('statistics Toolbox'); % 确保已安装统计学习工具箱
% 假设我们有数据集 'data.csv',包含特征变量X和目标变量y
load data.csv; % 替换为你的数据文件路径
% 划分数据集为训练集和测试集
cv = cvpartition(size(X,1),'HoldOut',0.7); % 70%的数据用于训练
idxTrain = training(cv);
idxTest = test(cv);
% 提取训练集和测试集数据
Xtrain = X(idxTrain,:);
Ytrain = y(idxTrain);
Xtest = X(idxTest,:);
Ytest = y(idxTest);
% 创建朴素贝叶斯分类器
nbModel = fitcnb(Xtrain,Ytrain);
% 预测测试集结果
Ypred = predict(nbModel,Xtest);
% 计算性能指标,如准确率
accuracy = sum(Ypred == Ytest) / numel(Ytest);
disp(['Accuracy: ', num2str(accuracy*100), '%']);
% 可视化预测结果
confMat = confusionmat(Ytest, Ypred);
disp(confMat);
阅读全文