news 2026/2/28 13:17:41

先扔个完整代码镇楼(波士顿房价预测实战)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
先扔个完整代码镇楼(波士顿房价预测实战)

CatBoost-shap集成模型中的一种,本项目用在了回归问题上,并对模型和变量采用shap进行解释分析 Python代码,自带数据集,可以直接运行,代码实价,联系 所有图所见即所得,只会更多

from catboost import CatBoostRegressor, Pool import shap import pandas as pd import matplotlib.pyplot as plt # 加载数据 data = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv') X = data.iloc[:,:-1] y = data.iloc[:,-1] # 训练CatBoost model = CatBoostRegressor(iterations=300, depth=5, learning_rate=0.1, verbose=0) cat_features = list(X.select_dtypes(include='object').columns) model.fit(X, y, cat_features=cat_features) # SHAP魔法开始 explainer = shap.TreeExplainer(model) shap_values = explainer.shap_values(Pool(X, cat_features=cat_features)) # 特征重要性全景图 plt.figure(figsize=(10,6)) shap.summary_plot(shap_values, X, plot_type="bar") plt.title('特征影响力排行榜') plt.tight_layout() # 单样本决策推演 sample_idx = 42 shap.force_plot(explainer.expected_value, shap_values[sample_idx], X.iloc[sample_idx], matplotlib=True, text_rotation=15)

跑完这段代码你会看到两张图——第一张是特征重要性排序,像游戏战力榜一样展示各个特征对房价的影响力;第二张是单样本预测的"决策推演",像拆解俄罗斯套娃一样展示每个特征如何影响最终预测值。

这里有个骚操作:cat_features参数自动处理类别型变量,连one-hot都不用做。比如数据里如果有房屋类型(别墅/公寓)这种字符串特征,CatBoost自己就能消化,比XGBoost省事得多。

SHAP值分析时注意这个细节:

Pool(X, cat_features=cat_features) # 必须用Pool对象传递类别特征信息

如果直接传DataFrame,模型会忘记哪些是类别特征,导致SHAP解释出现偏差。这个坑我帮你们踩过了,记得用Pool封装数据。

看特征重要性图时,重点关注颜色深浅——红色表示特征值大,蓝色表示特征值小。比如'rm'(房间数)特征,当柱子偏红时说明房间多的房子预测价更高,符合常识。

当看到单样本force_plot时,找那个把预测值往右推的最强特征。比如某个样本的'ptratio'(师生比)特别低(教育资源好),SHAP值就会用红色长箭头把预测价顶上去,比看枯燥的特征权重直观多了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 2:25:34

Langchain-Chatchat与OA系统集成实现智能办公助手

Langchain-Chatchat与OA系统集成实现智能办公助手 在企业数字化转型的浪潮中,一个看似高效实则“笨重”的问题正日益凸显:员工每天被淹没在成百上千份制度文件、审批流程和会议纪要中,却依然找不到关键信息。某大型制造企业的HR曾坦言&#x…

作者头像 李华
网站建设 2026/2/21 18:03:52

Langchain-Chatchat高可用架构设计:保障系统稳定性

Langchain-Chatchat高可用架构设计:保障系统稳定性 在企业智能化转型的浪潮中,一个日益突出的问题摆在面前:如何让大模型真正“懂”组织内部的知识?通用AI助手虽然能对答如流,但面对“我们公司的年假政策是什么”这类…

作者头像 李华
网站建设 2026/2/28 9:11:09

Langchain-Chatchat实现多轮对话的关键技术点

Langchain-Chatchat实现多轮对话的关键技术点 在企业数字化转型不断深入的今天,员工对内部知识获取效率的要求越来越高。一个常见的场景是:新入职的员工反复向HR询问“年假怎么休”“差旅报销标准是什么”,而这些信息其实早已写在公司制度文档…

作者头像 李华
网站建设 2026/2/22 11:39:17

如何通过华为云国际站代理商OBS实现数据跨境传输与分发加速?

通过华为云国际站代理商 OBS 实现数据跨境传输与分发加速,核心是 “代理商协同配置加速链路 客户侧执行传输优化 全流程成本 / 合规 / 监控闭环”,依托全球骨干网、CDN/WSA/ 全球加速、跨区域复制与客户端工具,实现延迟降低 30%–50%、传输…

作者头像 李华
网站建设 2026/2/16 18:29:57

如何使用华为云国际站代理商的BRS进行数据安全保障?

使用华为云国际站代理商的 BRS 进行数据安全保障,核心是通过加密 权限管控 审计 演练 合规适配构建端到端防护,代理商以方案落地、运维执行与合规兜底为核心,结合华为云原生安全能力,实现跨境数据传输 / 存储加密、操作可追溯…

作者头像 李华
网站建设 2026/2/22 16:56:35

于无声处听惊雷:软件测试工程师的专业操守与价值坚守

在数字化浪潮席卷全球的今天,软件已深度渗透至社会运行的每个毛细血管。作为软件质量的守护者,测试工程师的角色早已超越简单的“找Bug”,转而肩负起保障企业声誉、用户信任乃至社会公共安全的重要使命。专业操守,便是在这无声战场…

作者头像 李华