支持向量机模型预测例子
时间: 2023-08-11 19:06:56 浏览: 98
好的,以下是一个简单的支持向量机模型预测例子:
假设我们有一组数据,包括两个特征 X1 和 X2,以及对应的目标值 y。我们想要训练一个支持向量机模型,来预测给定一组新的特征值 X1_new 和 X2_new 时,对应的目标值 y_new。
首先,我们需要将数据集分为训练集和测试集,用于训练模型和评估模型的性能。然后,我们可以使用 fitrsvm 函数训练支持向量机模型,代码如下:
```matlab
% 生成数据集
n = 100; % 样本数量
X1 = randn(n,1); % 特征 X1
X2 = randn(n,1); % 特征 X2
y = 2*X1 - 3*X2 + randn(n,1); % 目标值 y
% 划分训练集和测试集
idx = randperm(n);
num_train = 80;
X_train = [X1(idx(1:num_train)), X2(idx(1:num_train))];
y_train = y(idx(1:num_train));
X_test = [X1(idx(num_train+1:end)), X2(idx(num_train+1:end))];
y_test = y(idx(num_train+1:end));
% 训练支持向量机模型
svmModel = fitrsvm(X_train, y_train, 'KernelFunction', 'linear');
% 预测测试集目标值
y_pred = predict(svmModel, X_test);
% 计算模型均方误差
mse = mean((y_pred - y_test).^2);
disp(['模型均方误差:' num2str(mse)]);
```
在上面的代码中,我们使用了线性核函数来训练支持向量机模型,fitrsvm 函数默认使用的是线性核函数,所以这里可以省略不写。预测测试集目标值时,我们使用 predict 函数根据训练好的模型进行预测,最后计算模型的均方误差来评估模型的性能。
当然,这只是一个简单的例子,实际应用中,需要根据具体的问题和数据情况选择合适的模型和参数,以及进行更加细致的数据预处理和特征工程。
阅读全文