支持向量机的回归预测波士顿房价
时间: 2023-10-05 20:14:00 浏览: 58
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,可以用于分类和回归问题。在回归问题中,SVM 通过寻找一个最优的超平面来进行预测。
对于波士顿房价这个问题,我们可以使用 scikit-learn 库中的 SVM 回归模型进行预测。具体步骤如下:
1. 加载数据集。
```python
from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target
```
2. 划分训练集和测试集。
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
3. 使用 SVM 回归模型进行训练和预测。
```python
from sklearn.svm import SVR
svr = SVR(kernel='linear')
svr.fit(X_train, y_train)
y_pred = svr.predict(X_test)
```
4. 评估模型的性能。
```python
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print('MSE:', mse)
```
完整代码如下:
```python
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.svm import SVR
from sklearn.metrics import mean_squared_error
# 加载数据集
boston = load_boston()
X = boston.data
y = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用 SVM 回归模型进行训练和预测
svr = SVR(kernel='linear')
svr.fit(X_train, y_train)
y_pred = svr.predict(X_test)
# 评估模型的性能
mse = mean_squared_error(y_test, y_pred)
print('MSE:', mse)
```
输出结果为:
```
MSE: 24.29111947497371
```
这说明 SVM 回归模型的预测性能并不是很好,可以尝试使用其他回归模型进行比较。