请将多变量线性回归模型进行python编程实现,并以此模型来处理sklearn机器学习库中自带的波士顿房价数据集,建立13个变量与房价y之间的预测模型,并评估模型优劣。
时间: 2024-12-18 11:34:01 浏览: 8
机器学习与数据分析+python读取excel数据+电视剧播放数据+通过K近邻和一元线性回归模型对质量进行预测
在Python中,我们可以使用scikit-learn库中的LinearRegression模型来进行多变量线性回归。以下是一个简单的步骤,包括数据加载、模型训练和评估:
```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.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data # 特征数组
y = boston.target # 目标变量,即房价
# 数据预处理,通常我们会归一化或标准化数值型特征
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, 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)
r2 = r2_score(y_test, y_pred)
print("Mean Squared Error (MSE):", mse)
print("R-squared Score:", r2)
# R-squared接近1表示模型拟合得好,接近0则表示模型效果较差
```
在这个例子中,我们使用了均方误差(Mean Squared Error)和R²分数(R-squared)来评估模型的性能。MSE衡量的是预测值与真实值之间的平均差异平方,而R²分数表示模型解释目标变量变异性的比例。
阅读全文