python示例SVR来做回归预测并进行模型和效果可视化
时间: 2024-03-24 17:38:12 浏览: 10
好的,以下是一个简单的Python示例,使用SVR来做回归预测,并进行模型和效果可视化。
首先,我们需要导入所需的库和数据集。这里我们使用sklearn自带的波士顿房价数据集。
```python
from sklearn.datasets import load_boston
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
# 加载数据集
boston = load_boston()
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)
```
接下来,我们使用SVR来训练模型,并进行预测。
```python
# 初始化SVR
svr = SVR(kernel='linear', C=1, epsilon=0.1)
# 训练模型
svr.fit(X_train, y_train)
# 预测结果
y_pred = svr.predict(X_test)
```
然后,我们可以使用r2_score来评估模型的性能。
```python
# 评估模型性能
r2 = r2_score(y_test, y_pred)
print('R2 score: {:.2f}'.format(r2))
```
最后,我们可以使用matplotlib来可视化预测结果与真实值的对比。
```python
# 可视化预测结果
plt.scatter(y_test, y_pred)
plt.plot([0, 50], [0, 50], '--k')
plt.xlabel('True values')
plt.ylabel('Predictions')
plt.tight_layout()
plt.show()
```
完整代码如下:
```python
from sklearn.datasets import load_boston
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
# 加载数据集
boston = load_boston()
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)
# 初始化SVR
svr = SVR(kernel='linear', C=1, epsilon=0.1)
# 训练模型
svr.fit(X_train, y_train)
# 预测结果
y_pred = svr.predict(X_test)
# 评估模型性能
r2 = r2_score(y_test, y_pred)
print('R2 score: {:.2f}'.format(r2))
# 可视化预测结果
plt.scatter(y_test, y_pred)
plt.plot([0, 50], [0, 50], '--k')
plt.xlabel('True values')
plt.ylabel('Predictions')
plt.tight_layout()
plt.show()
```
注意:这只是一个简单的示例,实际应用中需要根据具体情况进行参数调整和模型优化。