多元线性回归模型案例
时间: 2023-07-02 17:10:37 浏览: 87
假设你是一个房地产经纪人,你想预测某个地区的房价。你收集了以下数据:
- 房屋面积(平方英尺)
- 卧室数量
- 浴室数量
- 停车位数量
- 房龄(年)
你已经收集了一些房屋的数据,并且希望使用多元线性回归模型来预测房价。以下是一些示例数据:
| 房屋面积 | 卧室数量 | 浴室数量 | 停车位数量 | 房龄 | 价格(千美元) |
|---------|---------|---------|----------|-----|----------------|
| 2000 | 3 | 2 | 2 | 5 | 300 |
| 1600 | 3 | 2 | 1 | 3 | 200 |
| 2500 | 4 | 3 | 3 | 10 | 500 |
| 1200 | 2 | 1 | 1 | 5 | 150 |
| 1800 | 3 | 2 | 2 | 4 | 250 |
首先,我们需要将数据拆分为训练集和测试集。让我们将前4个特征作为我们的自变量(或特征),并将价格作为我们的因变量(或标签)。我们将使用scikit-learn库来执行这些任务。下面是代码:
```python
from sklearn.model_selection import train_test_split
# 将数据分为训练集和测试集
X = df.iloc[:, :-1].values
y = df.iloc[:, -1].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
接下来,我们将使用scikit-learn的LinearRegression类来创建一个多元线性回归模型并使用训练集拟合该模型:
```python
from sklearn.linear_model import LinearRegression
# 训练模型
regressor = LinearRegression()
regressor.fit(X_train, y_train)
```
现在,我们已经训练了一个模型,我们可以使用测试集来评估模型的性能。使用模型对测试集进行预测,并计算实际值和预测值之间的平均绝对误差(MAE)和均方根误差(RMSE):
```python
from sklearn.metrics import mean_absolute_error, mean_squared_error
# 对测试集进行预测
y_pred = regressor.predict(X_test)
# 计算误差
mae = mean_absolute_error(y_test, y_pred)
rmse = mean_squared_error(y_test, y_pred, squared=False)
print('MAE:', mae)
print('RMSE:', rmse)
```
输出:
```
MAE: 24.25
RMSE: 29.68
```
这意味着我们的模型的平均误差为24,250美元,根据预测和实际价格之间的平均误差,我们可以预测房价的误差范围为29,680美元。
阅读全文