生成代码jupyter notebook 使用 sklearn 包建立两种支持向量机回归模型分别采用和,分别训练两种模型后用测试集数据进行预测
时间: 2024-02-04 15:02:57 浏览: 58
好的,以下是您需要的代码:
```python
# 导入必要的库
from sklearn.svm import SVR
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
import numpy as np
import matplotlib.pyplot as plt
# 加载数据,这里以示例数据为例
X = np.sort(5 * np.random.rand(200, 1), axis=0)
y = np.sin(X).ravel()
y[::5] += 3 * (0.5 - np.random.rand(40))
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# 建立两种支持向量机回归模型,分别采用不同的核函数
models = {'SVR_linear': SVR(kernel='linear', C=1e3),
'SVR_rbf': SVR(kernel='rbf', C=1e3, gamma=0.1)}
# 训练模型并进行预测
for model_name, model in models.items():
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'{model_name}的均方误差为:{mse:.2f}')
# 绘制预测结果与实际值对比曲线图
plt.scatter(X_test, y_test, color='red', label='True value')
plt.plot(X_test, y_pred, color='blue', label='Predicted value')
plt.title(f'{model_name} Predicted vs True Value')
plt.legend()
plt.show()
```
您可以根据自己的需求修改数据集和模型参数。
阅读全文