matlab用支持向量机对鸢尾花训练集分类,然后判断测试集样本的类别,并计算分类正确率,最终输出所有结果
时间: 2023-06-11 16:09:32 浏览: 105
好的,下面是一段使用支持向量机对鸢尾花进行分类的 Matlab 代码:
```matlab
% 加载鸢尾花数据集
load fisheriris
% 将数据集分为训练集和测试集
trainIndex = 1:2:length(species);
testIndex = 2:2:length(species);
trainData = meas(trainIndex,:);
trainLabels = species(trainIndex);
testData = meas(testIndex,:);
testLabels = species(testIndex);
% 训练支持向量机模型
svmModel = fitcsvm(trainData, trainLabels);
% 预测测试集的类别
predictedLabels = predict(svmModel, testData);
% 计算分类正确率
accuracy = sum(predictedLabels == testLabels) / length(testLabels);
% 输出结果
disp(['分类正确率为 ', num2str(accuracy)]);
disp('测试集样本的类别为:');
disp(predictedLabels);
```
这段代码首先加载了 Matlab 自带的鸢尾花数据集,然后将数据集分为训练集和测试集。接着使用 `fitcsvm` 函数训练了一个支持向量机模型。最后使用 `predict` 函数对测试集进行预测,并计算分类正确率。最终输出了分类正确率和测试集样本的类别。
阅读全文