news 2026/7/7 2:05:48

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

作者头像

张小明

前端开发工程师

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/7/6 3:08:56

Langchain-Chatchat与OCR技术联动处理扫描版PDF

Langchain-Chatchat与OCR技术联动处理扫描版PDF 在金融、法律、医疗等行业,大量历史文档仍以纸质或扫描件形式封存于档案柜中。这些“沉睡的资产”虽承载着关键业务信息,却因无法被搜索引擎识别而难以复用。当某位法务人员需要查找十年前签署的某份合同条…

作者头像 李华
网站建设 2026/7/6 5:22:05

Langchain-Chatchat A/B测试框架设计思路

Langchain-Chatchat A/B测试框架设计思路 在企业级AI应用落地的过程中,一个反复出现的难题是:如何在保障数据安全的前提下,持续优化大模型问答系统的性能?尤其是在金融、医疗这类对隐私要求极高的领域,把敏感文档上传到…

作者头像 李华
网站建设 2026/7/6 4:01:13

Langchain-Chatchat在跨境电商知识库中的应用探索

Langchain-Chatchat在跨境电商知识库中的应用探索 在跨境电商行业,每天都有成千上万的客服问题涌向支持团队:“这个国家能退货吗?”“清关需要哪些文件?”“欧盟VAT怎么算?”而答案往往散落在PDF手册、内部邮件、政策更…

作者头像 李华
网站建设 2026/7/5 12:43:47

如何使用华为云国际站代理商BRS进行数据备份?

使用华为云国际站代理商 BRS 进行数据备份,核心是通过BRS 云备份 CBR 联动,实现 “生产侧备份 跨区域复制 容灾恢复” 的全链路数据保护,代理商负责方案设计、权限管控、策略配置、加密审计与演练复盘,保障备份数据的一致性、安…

作者头像 李华
网站建设 2026/7/6 6:14:11

Langchain-Chatchat与BI工具集成实现智能查询

Langchain-Chatchat与BI工具集成实现智能查询 在企业数据爆炸式增长的今天,决策者不再满足于翻阅静态报表或等待IT部门生成定制分析。他们希望像问助手一样直接提问:“上季度华东区销售额怎么样?”并立刻获得包含数据、趋势和背景解释的完整回…

作者头像 李华