matlab svm使用实例
时间: 2023-08-14 20:06:22 浏览: 53
下面是一个使用 Matlab 的支持向量机 (SVM) 进行分类的简单例子,数据集为鸢尾花数据集。
首先,我们需要准备数据。这里我们使用 Matlab 自带的鸢尾花数据集。
```matlab
load fisheriris;
X = meas(:,3:4);
Y = species;
```
接下来,我们将数据集分成训练集和测试集。
```matlab
cv = cvpartition(Y,'holdout',0.3); % 30% 的数据用于测试
X_train = X(cv.training,:);
Y_train = Y(cv.training,:);
X_test = X(cv.test,:);
Y_test = Y(cv.test,:);
```
然后,我们使用 fitcsvm 函数训练 SVM 模型。
```matlab
svm_model = fitcsvm(X_train,Y_train,'KernelFunction','rbf');
```
其中,'KernelFunction' 参数指定使用的核函数。这里我们选择的是 RBF 核函数。
最后,我们可以使用 predict 函数对测试集进行预测,并计算准确率。
```matlab
Y_pred = predict(svm_model,X_test);
accuracy = sum(Y_pred==Y_test)/length(Y_test);
```
完整的代码如下:
```matlab
load fisheriris;
X = meas(:,3:4);
Y = species;
cv = cvpartition(Y,'holdout',0.3); % 30% 的数据用于测试
X_train = X(cv.training,:);
Y_train = Y(cv.training,:);
X_test = X(cv.test,:);
Y_test = Y(cv.test,:);
svm_model = fitcsvm(X_train,Y_train,'KernelFunction','rbf');
Y_pred = predict(svm_model,X_test);
accuracy = sum(Y_pred==Y_test)/length(Y_test);
```
这里的准确率为 95.56%。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)