MATLAB数学建模——朴素贝叶斯分类

% 生成示例数据
% 我们生成两类数据,每类有两个样本。假设数据是二维的。
data = [1, 2; 1.5, 2.5; 5, 6; 6, 5.5]; % 4个二维样本
labels = [1; 1; 2; 2]; % 对应的类别标签,前两个属于类别1,后两个属于类别2

% 创建朴素贝叶斯分类器
Mdl = fitcnb(data, labels);

% 预测新数据点的类别
newData = [2, 3; 5, 5]; % 两个新样本点
predictedLabels = predict(Mdl, newData);

% 显示预测结果
disp('新数据点的预测类别:');
disp(predictedLabels);

% 可视化原始数据点和新数据点的分类结果
figure;
gscatter(data(:,1), data(:,2), labels, 'rb', 'ox');
hold on;

% 可视化新数据点
gscatter(newData(:,1), newData(:,2), predictedLabels, 'mg', 's', 100);

% 绘制分类边界
% 使用网格点来估计分类边界
[x, y] = meshgrid(min(data(:,1))-1:0.1:max(data(:,1))+1, min(data(:,2))-1:0.1:max(data(:,2))+1);
gridData = [x(:), y(:)];
gridLabels = predict(Mdl, gridData);
gscatter(gridData(:,1), gridData(:,2), gridLabels, [0.8 0.8 1; 1 0.8 0.8], '.');

% 标注图形
legend('类别 1', '类别 2', '预测: 类别 1', '预测: 类别 2', 'Location', 'Best');
xlabel('特征 1');
ylabel('特征 2');
title('朴素贝叶斯分类与预测结果');
hold off;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值