朴素贝叶斯模型是一种基于概率统计的分类算法,适用于文本分类、垃圾邮件过滤等场景。下面是一个简单的示例,使用朴素贝叶斯模型来预测学生的评论等级。
假设有一组学生评论数据,其中包含了学生的评论内容和对应的评论等级(1-5分)。我们可以将评论内容转换为词袋向量,并使用朴素贝叶斯模型进行训练和预测。
```matlab
% 准备数据
load student_comments;
X = bagOfWords(documents);
Y = categorical(ratings);
% 划分训练集和测试集
cvp = cvpartition(Y, 'HoldOut', 0.3);
X_train = X(cvp.training,:);
Y_train = Y(cvp.training);
X_test = X(cvp.test,:);
Y_test = Y(cvp.test);
% 训练朴素贝叶斯模型
nb = fitcnb(X_train, Y_train);
% 对测试集进行预测
Y_pred = predict(nb, X_test);
% 计算准确率
accuracy = sum(Y_pred == Y_test) / numel(Y_test);
fprintf('Accuracy: %.2f%%\n', accuracy * 100);
```
上述代码中,`student_comments`是一个MATLAB自带的数据集,包含了500条学生评论数据。首先将评论内容转换为词袋向量,然后使用`cvpartition`函数将数据集划分为训练集和测试集。接着使用`fitcnb`函数训练朴素贝叶斯模型,并使用`predict`函数对测试集进行预测。最后计算准确率并输出结果。
需要注意的是,朴素贝叶斯模型假设各个特征之间相互独立,但在实际情况中可能存在一定的相关性。因