Ridge regression回归预测实例
时间: 2023-07-29 11:13:49 浏览: 225
好的,以下是一个Ridge Regression回归预测的实例。
1. 数据集准备
我们使用波士顿房价数据集作为例子。数据集包含506个样本,每个样本有13个特征。我们将使用scikit-learn库来加载数据集。
``` python
from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target
```
2. 数据集划分
我们将数据集划分为训练集和测试集,其中80%的数据用于训练,20%的数据用于测试。我们将使用train_test_split函数来进行划分。
``` 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. 特征标准化
我们需要将特征进行标准化,这可以提高模型的性能。我们将使用StandardScaler类来进行标准化。
``` python
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
```
4. 模型训练
我们将使用Ridge Regression模型进行训练,并使用交叉验证来选择最佳的超参数alpha。
``` python
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV
param_grid = {'alpha': [0.001, 0.01, 0.1, 1, 10, 100, 1000]}
ridge = Ridge()
grid_search = GridSearchCV(ridge, param_grid, cv=5)
grid_search.fit(X_train, y_train)
print("Best alpha:", grid_search.best_params_['alpha'])
```
5. 模型评估
我们将使用测试集来评估模型的性能,并计算均方误差(MSE)和决定系数(R2)。
``` python
from sklearn.metrics import mean_squared_error, r2_score
y_pred = grid_search.predict(X_test)
print("MSE:", mean_squared_error(y_test, y_pred))
print("R2 score:", r2_score(y_test, y_pred))
```
输出结果为:
```
Best alpha: 10
MSE: 24.291119474973616
R2 score: 0.6684825753971582
```
这意味着我们的模型对测试集的均方误差为24.29,决定系数为0.67。
这就是一个简单的Ridge Regression回归预测实例。
阅读全文