【正规方程对波士顿房价数据集进行预测】

数据准备

我们首先需要加载波士顿房价数据集。该数据集包含房屋特征信息和对应的房价标签。

python 复制代码
import pandas as pd
import numpy as np

data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
target = raw_df.values[1::2, 2]

print("数据集大小:{}".format(data.shape))
print("标签大小:{}".format(target.shape))

数据划分

接下来,我们将数据集划分为训练集和测试集。

python 复制代码
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(data, target, random_state=8)

正规方程方法

正规方程是线性回归问题的闭式解,它直接计算参数的最优解而无需迭代。我们使用 LinearRegression 类来训练模型,并输出训练集和测试集上的得分、参数和截距。

python 复制代码
from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)

print("正规方程训练集得分:{:.3f}".format(lr.score(X_train, y_train)))
print("正规方程测试集得分:{:.3f}".format(lr.score(X_test, y_test)))
print("正规方程参数:{}".format(lr.coef_))
print("正规方程截距:{:.3f}".format(lr.intercept_))

模型评估

我们使用均方误差和均方根误差来评估模型的性能。

python 复制代码
from sklearn.metrics import mean_squared_error

y_pred = lr.predict(X_test)

print("正规方程均方误差:{:.3f}".format(mean_squared_error(y_test, y_pred)))
print("正规方程均方根误差:{:.3f}".format(np.sqrt(mean_squared_error(y_test, y_pred))))

可视化

最后,我们将真实值和预测值进行可视化比较,以便更直观地了解模型的拟合效果。

python 复制代码
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.plot(range(len(y_test)), y_test, "r", label="y_test")
plt.plot(range(len(y_pred)), y_pred, "g--", label="y_pred")
plt.legend()
plt.show()
相关推荐
测试员周周5 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
K姐研究社6 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu7 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
传说故事7 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信8 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区8 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
小a彤8 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
前端若水9 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Upsy-Daisy9 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
企学宝9 小时前
企学宝5月专题课程丨《OpenClaw AI 智能体实战营:从零基础部署到全场景自动化落地》
人工智能·ai·企业培训