波士顿房价预测线性回归python代码
时间: 2023-09-04 15:16:21 浏览: 250
好的,下面是波士顿房价预测的线性回归Python代码:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 读取数据集
boston = load_boston()
X = pd.DataFrame(boston.data, columns=boston.feature_names)
y = pd.Series(boston.target)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 建立线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测并计算误差
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print("MSE: ", mse)
```
希望这能回答您的问题!
相关问题
波士顿房价预测使用线性回归的Python代码
以下是使用线性回归预测波士顿房价的Python代码:
```python
# 导入需要的库和数据集
from sklearn.datasets import load_boston
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 加载数据集
boston = load_boston()
X = pd.DataFrame(boston.data, columns=boston.feature_names)
y = pd.DataFrame(boston.target, columns=['MEDV'])
# 分割数据为训练集和测试集
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=0)
# 创建线性回归模型
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
# 拟合数据
lr.fit(X_train, y_train)
# 预测测试集
y_pred = lr.predict(X_test)
# 计算均方误差
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print('均方误差:', mse)
# 可视化结果
plt.scatter(y_test, y_pred)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.show()
```
输出结果为:
```
均方误差: 33.448979997676474
```
同时,还会显示一个散点图,横轴为真实值,纵轴为预测值。我们可以通过视觉分析来判断模型的预测效果。
波士顿房价预测线性回归
波士顿房价预测是一个经典的回归问题,常用的方法包括线性回归、决策树、随机森林等。这里我们以线性回归为例来预测房价。
首先,我们需要载入数据集,可以使用 sklearn 中的 load_boston() 函数来加载波士顿房价数据集。
```python
from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target
```
接着,我们将数据集分为训练集和测试集,并进行标准化处理,这一步是为了让特征值在相同的尺度上。
```python
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
```
然后,我们可以使用线性回归模型来拟合数据,并进行预测。
```python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
lr = LinearRegression()
lr.fit(X_train, y_train)
y_pred_train = lr.predict(X_train)
y_pred_test = lr.predict(X_test)
mse_train = mean_squared_error(y_train, y_pred_train)
mse_test = mean_squared_error(y_test, y_pred_test)
print("训练集 MSE:", mse_train)
print("测试集 MSE:", mse_test)
```
最后,我们可以通过评价指标(如均方误差)来评估模型的性能。如果测试集的误差过大,说明模型存在欠拟合或过拟合的问题,需要进行调参或者使用其他更复杂的模型。