本项目以UCL的波士顿房价数据集为对象,用XGBoost回归算法预测房价。先做EDA,检查无缺失值,经相关性分析等了解数据。划分数据集后训练模型,预测结果显示训练集MAE为0.0138,测试集MAE为2.344,R²达0.9085。特征重要性表明CRIM和RM影响最大,RAD和CHAS影响较小。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

波士顿房价预测是机器学习任务中的一个入门级任务,其数据十分简单,通过此案例的学习可以帮助初学者快速入门机器学习! 本项目中使用的数据集来自UCL机器学习回收系统,该数据是1978年收集的,506个Enries中的每一个代表波士顿不同郊区住宅的14个特征的汇总信息。
机器学习自监督学习主要分为两类一类是分类,另外一类是回归;分类主要是主要是预测一个或几个类别或者一个离散量,主要分为二分类和多分类;而回归主要是预测一个具体的数值或者说是一个连续量;这是分类和回归的最主要区别; 性回归是机器学习中最简单的算法,它可以通过不同的方式进行训练。 主要包括线性回归、Robust 回归、Ridge 回归、LASSO 回归、Elastic Net、多项式回归、多层感知机、随机森林回归和支持向量机; 1.线性分类器:线性判别分析(LDA),逻辑回归(logistic regression):优先,朴素贝叶斯分类器(naive bayes classifier),感知器(perceptron)
2.支持向量机(support vector machine):最小二乘支持向量机(least squares support vector machines )
3.二次分类器(quadratic classifier)
4.核估计(kernel estimation):最近邻居法(k-nearest neighbor)
5.Boosting(增强)算法:梯度增强(Gradient Boosting),自适应增强(Adaboost)
6.决策树(decision trees):随机森林(random forests)
7。神经网络(neural networks
本项目使用XGBoost回归算法
算法原理: XGB(extreme gradient boosting)是GBDT的一种工业实现,也是通过不断增加新树,拟合伪残差去降低损失函数。其拟合过程是使用的损失函数的二阶泰勒展开,这是和GBDT的一个区别。
Openflow
一键极速绘图,赋能行业工作流
88
查看详情
损失函数:
分裂结点算法: 精确的贪心法 枚举,时间开销大 近似的贪心
优点(快速高效可容错): 引入L1 L2正则惩罚项的LR和线性回归,目标函数公式=误差平方和+正则项 代价函数用了二阶Talor展开,引入一阶导和二阶导,提高模型拟和的速度 同RF,支持样本(行)随机抽取,也支持特征(列)随机抽取,降低运算,防过拟合; 代价函数引入正则化项,控制模型(树)复杂度,
缺点: 容易过拟合; 调参困难。
In [119]# 导入依赖库import numpy as np import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport sklearn.datasetsfrom xgboost import XGBRegressorfrom sklearn import metricsfrom sklearn.model_selection import train_test_splitIn [120]
house_price_dataset = sklearn.datasets.load_boston() #从skLearn中导入波士顿房价数据集# print(house_price_dataset)In [121]
house_price_dataframe = pd.DataFrame(house_price_dataset.data,columns=house_price_dataset.feature_names)# 分配对应的列名In [122]
house_price_dataframe
CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \
0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0
1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0
2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0
3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0
4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0
.. ... ... ... ... ... ... ... ... ... ...
501 0.06263 0.0 11.93 0.0 0.573 6.593 69.1 2.4786 1.0 273.0
502 0.04527 0.0 11.93 0.0 0.573 6.120 76.7 2.2875 1.0 273.0
503 0.06076 0.0 11.93 0.0 0.573 6.976 91.0 2.1675 1.0 273.0
504 0.10959 0.0 11.93 0.0 0.573 6.794 89.3 2.3889 1.0 273.0
505 0.04741 0.0 11.93 0.0 0.573 6.030 80.8 2.5050 1.0 273.0
PTRATIO B LSTAT
0 15.3 396.90 4.98
1 17.8 396.90 9.14
2 17.8 392.83 4.03
3 18.7 394.63 2.94
4 18.7 396.90 5.33
.. ... ... ...
501 21.0 391.99 9.67
502 21.0 396.90 9.08
503 21.0 396.90 5.64
504 21.0 393.45 6.48
505 21.0 396.90 7.88
[506 rows x 13 columns]
house_price_dataframe.describe() #查看数据统计
CRIM ZN INDUS CHAS NOX RM \
count 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000
mean 3.613524 11.363636 11.136779 0.069170 0.554695 6.284634
std 8.601545 23.322453 6.860353 0.253994 0.115878 0.702617
min 0.006320 0.000000 0.460000 0.000000 0.385000 3.561000
25% 0.082045 0.000000 5.190000 0.000000 0.449000 5.885500
50% 0.256510 0.000000 9.690000 0.000000 0.538000 6.208500
75% 3.677083 12.500000 18.100000 0.000000 0.624000 6.623500
max 88.976200 100.000000 27.740000 1.000000 0.871000 8.780000
AGE DIS RAD TAX PTRATIO B \
count 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000
mean 68.574901 3.795043 9.549407 408.237154 18.455534 356.674032
std 28.148861 2.105710 8.707259 168.537116 2.164946 91.294864
min 2.900000 1.129600 1.000000 187.000000 12.600000 0.320000
25% 45.025000 2.100175 4.000000 279.000000 17.400000 375.377500
50% 77.500000 3.207450 5.000000 330.000000 19.050000 391.440000
75% 94.075000 5.188425 24.000000 666.000000 20.200000 396.225000
max 100.000000 12.126500 24.000000 711.000000 22.000000 396.900000
LSTAT
count 506.000000
mean 12.653063
std 7.141062
min 1.730000
25% 6.950000
50% 11.360000
75% 16.955000
max 37.970000
In [124]
house_price_dataframe['price'] = house_price_dataset.targetIn [125]
house_price_dataframe.head()#查看数据前五行
CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \ 0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 PTRATIO B LSTAT price 0 15.3 396.90 4.98 24.0 1 17.8 396.90 9.14 21.6 2 17.8 392.83 4.03 34.7 3 18.7 394.63 2.94 33.4 4 18.7 396.90 5.33 36.2
查看每个特征对应的属性信息
house_price_dataframe.isnull().sum()
CRIM 0 ZN 0 INDUS 0 CHAS 0 NOX 0 RM 0 AGE 0 DIS 0 RAD 0 TAX 0 PTRATIO 0 B 0 LSTAT 0 price 0 dtype: int64
cor = house_price_dataframe.corr() #查看数据相关性In [128]
sns.heatmap(cor,cbar=True,square = True,annot=True,fmt = '.1f',annot_kws={'size':8},cmap = 'Blues')# 从热力图中可以看出 ,TaX财产税率呈正相关
<matplotlib.axes._subplots.AxesSubplot at 0x7f302c5fe6d0>
<Figure size 640x480 with 2 Axes>
sns.pairplot() 用来展示两两特征之间的关系 可以看到对角线上是各个属性的直方图(分布图),而非对角线上是两个不同属性之间的相关图
In [129]sns.pairplot(house_price_dataframe[['CRIM', 'RM', 'AGE', 'DIS', 'B', 'LSTAT']])
<seaborn.axisgrid.PairGrid at 0x7f302c604210>
<Figure size 1500x1500 with 42 Axes>In [130]
house_price_dataframe.columns
Index(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX',
'PTRATIO', 'B', 'LSTAT', 'price'],
dtype='object')
X = house_price_dataframe.drop('price',axis=1)
y = house_price_dataframe['price']
In [132]
X_train,X_test,y_train ,y_test = train_test_split(X,y,test_size=0.2,random_state = 1)In [133]
model = XGBRegressor()
model.fit(X_train,y_train)
XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,
colsample_bynode=1, colsample_bytree=1, gamma=0, gpu_id=-1,
importance_type='gain', interaction_constraints='',
learning_rate=0.300000012, max_delta_step=0, max_depth=6,
min_child_weight=1, missing=nan, monotone_constraints='()',
n_estimators=100, n_jobs=24, num_parallel_tree=1, random_state=0,
reg_alpha=0, reg_lambda=1, scale_pos_weight=1, subsample=1,
tree_method='exact', validate_parameters=1, verbosity=None)
调用XGBoost回归算法
preds_train = model.predict(X_train)# preds_train
从中可以看出犯罪率(CRIM)和每栋房屋的平均访客数(RM)对房价有这最重要的影响程度,到公路的距离(RAD)以及是否领近(CHAS),则显得不那么重要, 因此在选取特征时,可以不考虑
In [136]from xgboost import plot_importance plot_importance(model) plt.show()
<Figure size 640x480 with 1 Axes>
# R2 squaredscore_1 = metrics.r2_score(y_train,preds_train) score_2 = metrics.mean_absolute_error(y_train,preds_train) score_2
0.01375658535721277In [138]
preds_test = model.predict(X_test) score_1 = metrics.r2_score(y_test,preds_test) score_2 = metrics.mean_absolute_error(y_test,preds_test) score_2
2.344013180452235
plt.scatter(y_train,preds_train)
plt.xlabel('Actual Prices')
plt.ylabel('predicition price')
plt.title('Actual price VS predicition price')
plt.show()
<Figure size 640x480 with 1 Axes>
plt.scatter(y_test,preds_test)
plt.xlabel('Actual Prices')
plt.ylabel('pred
icition price')
plt.title('Actual price VS predicition price')
plt.show()
<Figure size 640x480 with 1 Axes>In [141]
metrics.r2_score(y_test,preds_test)
0.9085331557145866
preds = model.predict(X_test) plt.plot(y_test.values, color="red") plt.plot(preds ,color="blue") plt.legend(['Actual Prices','Predicted prices']) plt.show()
<Figure size 640x480 with 1 Axes>
以上就是机器学习项目二:利用XGB回归算法进行波士顿房价预测的详细内容,更多请关注其它相关文章!
# 营收
# 组合营销的推广方法包括
# 玉林网站优化软件
# 荆门房产网站推广
# 营销号搞笑推广话术
# 无锡云林网站建设
# 餐饮网站推广营销
# 湖北网站建设管理系统
# 天津现代网站建设标准
# 美瞳网站怎么做推广的呢
# 网站宣传推广费用
# 平方和
# 来袭
# ai
# 泰勒
# 可以看出
# 线上
# 主要是
# 这是
# 中文网
# 波士顿
# type
# fig
# red
# 区别
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
脑虎科技:奔跑在“脑机接口”最前沿 跨界融合取得阶段性成果
人工智能驱动艺术,打开达利的超现实想象
一文看懂被英伟达看中的九号机器人移动底盘
这款在《自然通讯》发表的机器人,为变形金刚来到现实创造可能性
配 3D 机器人头像,谷歌展示全新安卓 LOGO
马斯克的幽默“现实”:AR眼镜与20美元“增强现实”哪个真实?
【原创】奥比中光:与英伟达合作开发的3D开发套件正式发布 连接英伟达AI应用生态
羚客系统即将升级,推出全新的AI数字化工具
华为盘古AI模型实现秒级全球气象预报时间缩短
为了避免人工智能可能带来的灾难,我们要向核安全学习
独家视角:首次展示有人与无人协同打击的7000米高空察打一体无人机
构建人机交互创新模式,微美全息研究AIGC智能交互界面生成技术
马斯克称未来机器人数量将多于人类,特斯拉愿共享自动驾驶技术
如布AI口袋学习机S12 将亮相综艺节目《好样的!国货》
Valve Index VR 头显销量下滑,上市四年的长青树渐失光彩
工业机器人及非标自动化设备集成服务提供商
百度创始人、董事长兼首席执行官李彦宏:AI原生应用比大模型数量更重要
消息称苹果 iPhone 15 系列健康应用将深度融合 AI 技术
人手一部「*」!视频版Midjourney免费可用,一句话秒生酷炫大片惊呆网友
当TS遇上AI,会发生什么?
杭州举办第19届亚运会,主题为「亚运元宇宙」的发布仪式举行
机构研选 | 虚拟电厂是电力物联网升级版 智能电网望迎来高速发展
专家解读国家网信办深度合成服务算法备案信息公告:不等于百度、阿里、腾讯等生成式AI产品获批
7大探索区域打造沉浸式玩乐“元宇宙” 昆明京东MALL未来科技探索官全城招募中
能抓取玻璃碎片、水下透明物,清华提出通用型透明物体抓取框架,成功率极高
软通动力天枢元宇宙研究院签约落户江宁高新区
苹果AI战略与微软谷歌大相径庭,到底是领先还是落后?
亚太地区 70% 的企业高管正探索生成式 AI 应用或已经进行投资
编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员
大疆 Air 3 无人机售价和实物照片曝光
张朝阳与陆川谈AI:ChatGPT是鹦鹉学舌思维,不可能取代人类 | 把脉AI大模型
西班牙小鲜肉*视频在网上疯传,本人发文澄清:是AI换脸的假视频!
「模仿学习」只会套话?解释微调+130亿参数Orca:推理能力打平ChatGPT
中国联通发布图文AI大模型,可实现以文生图、视频剪辑
“智能体动作生成技术”现身WAIC:游戏AI技术为机器人科创注入新动力
AI取代人工先拿教育行业开刀?美版“作业帮”启动裁员
小岛秀夫不反对使用AI 但认为人类应该凌驾于AI
天翼云在国际AI顶会大模型挑战赛中获得冠军
彭博社:苹果Vision Pro曾测试VR手柄追踪方案
微软 Azure AI 文本转语音服务升级:新增男性声音和扩展语言支持
人形机器人概念集体爆发,能买吗?
生成式AI爆发,亚马逊云科技持续专注创新,助力企业数字化转型
换流站无线物联网络为新型电力系统铺设“数字之路”
构建AI绘画网站的方法:使用API接口和调用步骤
美妆行业在AI时代蓬勃发展
你大脑中的画面,现在可以高清还原了
DeepMind用AI重写排序算法;将33B大模型塞进单个消费级GPU
华为联合合作伙伴 共同发布昇腾AI大模型训推一体化解决方案
云南首例达芬奇机器人微创心脏手术成功开展
华为云盘古大模型3.0发布 AI云服务同时上线:200亿亿次性能
2025-07-31
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。