对数据进行svr得代码
时间: 2024-05-01 08:16:28 浏览: 138
以下是使用Python中的Scikit-learn库进行SVR(支持向量回归)的代码示例:
```
# 导入所需的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVR
from sklearn.metrics import mean_squared_error, r2_score
# 生成随机数据
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))
# 定义SVR模型
svr_model = SVR(kernel='rbf', C=100, gamma=0.1, epsilon=.1)
# 拟合数据
svr_model.fit(X, y)
# 预测
y_pred = svr_model.predict(X)
# 模型评估
mse = mean_squared_error(y, y_pred)
r2 = r2_score(y, y_pred)
# 绘制图形
plt.scatter(X, y, color='darkorange', label='data')
plt.plot(X, y_pred, color='navy', label='SVR model')
plt.xlabel('data')
plt.ylabel('target')
plt.title('Support Vector Regression')
plt.legend()
plt.show()
# 输出模型评估结果
print("MSE: %.2f" % mse)
print("R2 score: %.2f" % r2)
```
在上面的代码中,我们首先生成了一个带有噪声的正弦曲线数据集。然后,我们定义了一个SVR模型,并使用拟合数据进行拟合。最后,我们使用预测值绘制了一个图形,并计算了模型的均方误差(MSE)和R2分数(确定系数)作为模型评估指标。
阅读全文