对波士顿房价数据集进行训练集(400)与验证集划分,使用最小二乘法进行拟合绘制拟合曲线,并求其均方根误差
时间: 2024-09-28 12:13:40 浏览: 34
对波士顿房价数据集进行划分通常是在机器学习任务中预处理的第一步,目的是为了评估模型的性能并防止过拟合。首先,你需要加载这个数据集,如Python的scikit-learn库中的`boston_housing`数据集。
1. 导入所需库:
```python
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
```
2. 加载数据:
```python
boston = load_boston()
X = boston.data
y = boston.target
```
3. 划分训练集和验证集:
```python
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.25, random_state=42)
```
这里假设测试集占总数据的75%,剩下的25%作为验证集。
4. 使用最小二乘法建立线性回归模型:
```python
model = LinearRegression()
model.fit(X_train, y_train)
```
5. 拟合曲线并预测:
```python
y_pred_train = model.predict(X_train)
y_pred_val = model.predict(X_val)
```
6. 计算均方根误差(RMSE):
```python
mse_train = np.sqrt(mean_squared_error(y_train, y_pred_train))
mse_val = np.sqrt(mean_squared_error(y_val, y_pred_val))
print(f"训练集RMSE: {mse_train:.2f}")
print(f"验证集RMSE: {mse_val:.2f}")
```
阅读全文