前面的回归模型太简单了,帮我训练一个复杂一点的
时间: 2024-02-29 18:51:51 浏览: 51
自回归模型简介_PixelRNN 与 PixelCNN1
好的,让我们尝试使用一个复杂的多元线性回归模型进行训练。在这个例子中,我们将使用 Scikit-learn 库自带的波士顿房价数据集,该数据集包含 13 个特征(自变量)和 1 个目标变量(因变量),共计 506 个样本。我们将使用这个数据集来训练一个多元线性回归模型。
首先,我们需要导入所需的库:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score, mean_squared_error
```
然后,我们加载数据集,并将其分为训练集和测试集:
```python
# 加载数据集
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)
```
接下来,我们对数据进行标准化处理:
```python
# 对数据进行标准化处理
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
```
然后,我们初始化多元线性回归模型,并对其进行训练:
```python
# 初始化多元线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train_scaled, y_train)
```
最后,我们对模型进行评估:
```python
# 对训练集和测试集进行预测
y_train_pred = model.predict(X_train_scaled)
y_test_pred = model.predict(X_test_scaled)
# 计算 R2 值和 MSE
print('Training R2: ', r2_score(y_train, y_train_pred))
print('Testing R2: ', r2_score(y_test, y_test_pred))
print('Training MSE: ', mean_squared_error(y_train, y_train_pred))
print('Testing MSE: ', mean_squared_error(y_test, y_test_pred))
```
这个模型比之前的模型要复杂得多,它包含了 13 个特征和 1 个目标变量,我们使用了数据标准化来提高模型的性能,最后对模型进行了评估,包括 R2 值和 MSE。需要注意的是,这个模型的复杂度和表现还可以通过增加特征、使用正则化等技术进行改进。
阅读全文