正则化线性回归 python
时间: 2023-09-09 10:10:22 浏览: 58
在 Python 中实现正则化线性回归可以使用 Scikit-learn 库提供的 `Ridge` 或 `Lasso` 模型。这两个模型都是基于线性回归模型的正则化版本,可以通过添加 L1 或 L2 正则化项来控制模型的复杂度。
下面是使用 `Ridge` 模型实现正则化线性回归的示例代码:
```python
from sklearn.linear_model import Ridge
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
# 生成数据
n_samples, n_features = 1000, 10
X = np.random.randn(n_samples, n_features)
y = np.dot(X, np.random.randn(n_features)) + np.random.randn(n_samples)
# 数据预处理
scaler = StandardScaler()
X = scaler.fit_transform(X)
y = scaler.fit_transform(y.reshape(-1, 1))
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
alpha = 0.1 # 正则化参数
model = Ridge(alpha=alpha)
model.fit(X_train, y_train)
# 预测并计算 MSE
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print("MSE: %.4f" % mse)
```
在上面的示例代码中,我们生成了一个随机的数据集,然后使用 `StandardScaler` 对数据进行标准化处理,接着使用 `train_test_split` 将数据划分为训练集和测试集。然后,我们使用 `Ridge` 模型进行训练,并使用 `mean_squared_error` 函数计算模型在测试集上的均方误差。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)