用Python实现基本的线性回归算法,对数据进行一定预测,对模型进行查看和评价。对波士顿房价数据,选取相关性较强的特征值来进行线性回归拟合。
时间: 2023-05-21 07:07:34 浏览: 249
回答:
可以使用Python中的sklearn库来实现基本的线性回归算法,对波士顿房价数据进行预测和模型评价。首先,我们需要导入相关库和数据集,并选取与房价相关性较强的特征值。可以使用如下代码:
```python
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import numpy as np
# 加载数据集
boston = load_boston()
X = boston.data # 特征值
y = boston.target # 目标值
# 选取与房价相关性较强的特征值
X = X[:, [5, 7]]
# 将数据集随机分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建线性回归模型
lr_model = LinearRegression()
# 拟合模型
lr_model.fit(X_train, y_train)
# 使用模型进行预测
y_pred = lr_model.predict(X_test)
# 评价模型
print("Mean squared error: %.2f" % mean_squared_error(y_test, y_pred))
print('R2 score: %.2f' % r2_score(y_test, y_pred))
print("intercept:", lr_model.intercept_)
print("coef:", lr_model.coef_)
```
其中,X[:, [5, 7]]表示选取boston数据集中的第5和第7个特征值(即RM和DIS),因为它们与房价相关性较强,且二者相关性较小,以避免共线性影响模型效果。模型的评价使用均方误差(mean squared error)和R2分数(r2_score),越接近1,说明模型效果越好。模型的截距(intercept)和特征值系数(coef)可以用来解释模型的预测结果。
总之,该代码实现了对波士顿房价数据的线性回归预测,该模型表现由调用者自己评价。
阅读全文