3合1网站建设电话数码商城网站建设

张小明 2025/12/24 1:50:52
3合1网站建设电话,数码商城网站建设,屏蔽ip网站,网页升级访问狼在线观看#x1f4cb; 前言 各位伙伴们#xff0c;大家好#xff01;今天#xff0c;Day 20#xff0c;我们来聊一个在机器学习领域绕不开的终极话题#xff1a;模型可解释性 (Interpretability)。我们已经能熟练地构建和调优各种复杂的“黑箱”模型#xff0c;但一个灵魂拷问始… 前言各位伙伴们大家好今天Day 20我们来聊一个在机器学习领域绕不开的终极话题模型可解释性 (Interpretability)。我们已经能熟练地构建和调优各种复杂的“黑箱”模型但一个灵魂拷问始终萦绕心头“模型为什么会做出这样的预测”“我该如何信任一个我无法理解的模型”今天我们将学习打开这个黑箱的“钥匙”——SHAP (SHapley Additive exPlanations)。但这不仅仅是一篇 SHAP 的入门教程。我们将从一个更根本的问题出发为什么别人的代码我总是跑不通并以此为切入点深度理解shape的重要性最终掌握 SHAP 的思想精髓和实战应用。一、万恶之源你真的理解“数据形状(Shape)”吗在入门机器学习后日常报错中最常见的两个问题是什么输入维度不对:ValueError: X has n_features, but this model is expecting m_features函数/方法不存在:AttributeError: module xxx has no attribute yyy第二个问题通常是环境问题库没装、版本不对。但第一个问题以及无数衍生问题比如 SHAP 跑不通其根源往往在于我们对数据形状shape的理解出现了偏差。1.1 破除思维定式torch.randn(3, 4, 5)是什么我们习惯于将高维数据与三维物理空间联系起来。看到(3, 4, 5)脑中浮现的是一个长宽高为 3、4、5 的立方体。这是错误的在 NumPy/PyTorch/TensorFlow 中shape描述的是数组的嵌套结构与物理空间无关。torch.randn(5): 一个包含 5 个元素的一维数组。[e1, e2, e3, e4, e5]torch.randn(4, 5): 4 个“一维数组”打包在一起。[[...], [...], [...], [...]]torch.randn(3, 4, 5): 3 个“二维数组(4x5的矩阵)”打包在一起。[[[...]], [[...]], [[...]]]这个维度的意思是“你处在第几层”而不是空间维。理解了这一点你就掌握了处理复杂数据输入如图像、时间序列的钥匙。1.2 编程的“核心体感”关注函数的输入与输出为什么很多人的代码不好复现假代码、伪代码泛滥。没有固定的运行环境(requirements.txt的缺失)。对库的底层实现做了修改但你不知道。这些问题的本质都指向了一个被忽视的编程核心素养彻底搞懂一个函数的输入Input和输出Output。当你遇到报错时最高效的解决方案不是无脑复制粘贴错误信息去搜索而是打印出输入数据的shape和type。查阅官方文档看这个函数到底期望接收什么样shape和type的输入。打印出函数的输出看它返回了什么。这个习惯能帮你解决 80% 的程序问题尤其是在使用像 SHAP 这样因版本迭代导致输出结构变化的库时。二、SHAP 值到底是什么——从“分蛋糕”说起我们知道了理解 I/O 的重要性现在可以正式进入 SHAP 的世界。对于一个信贷模型我们不仅想知道小明会不会违约更想知道是哪个因素、在多大程度上导致了这个判断。年收入0.15加分项负债率-0.30减分项信用评分-0.25减分项…这看起来很像线性回归的系数y w1*x1 w2*x2 ...但它远比线性回归强大。线性回归全局解释所有人的“年收入”权重都是固定的如 0.15。简单但有缺陷它假设了特征与目标是线性关系。但现实中年收入从 5 万到 30 万的影响和从 100 万到 500 万的影响是完全不同的边际效应递减。SHAP局部解释因人而异。张三的“年收入”贡献可能是0.15李四的可能是0.08。复杂但更真实它能捕捉这种非线性关系和特征间的交互作用如“性别”和“年龄”共同产生的影响。2.1 “奶茶店分钱”的比喻SHAP 的核心思想源于博弈论中的“夏普利值”。我们可以用一个简单的例子来理解小王研发、小李营销、小张运营三人合伙开了家奶茶店年底赚了 100 万。这 100 万该怎么分直接平分显然不公平。夏普利值的做法是计算每个成员加入团队时带来的边际贡献并对所有可能的加入顺序取平均。在机器学习中开店赚钱模型预测合伙人模型特征总收入 (100万)模型最终预测值 - 基准值每个人的贡献每个特征的 SHAP 值核心公式:模型预测值 基准值 (base_value) 所有特征的SHAP值之和这里的base_value就是当模型“什么都不知道”没有输入任何特征时的“默认”预测通常是训练集上所有样本预测值的平均值。三、实战演练用 SHAP 解释回归模型理论讲完我们来动手实践我们将使用加州房价数据集训练一个梯度提升回归模型并用 SHAP 来解释它。【我的代码】# 【我的代码】# 本部分代码为Day20作业的完整实现# 包含了数据加载、模型训练、以及SHAP分析与可视化的全过程importpandasaspdimportnumpyasnpimportshapfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportGradientBoostingRegressorfromsklearn.datasetsimportfetch_california_housingimportmatplotlib.pyplotasplt# --- 1. 数据准备 ---# 加载数据housingfetch_california_housing()Xpd.DataFrame(housing.data,columnshousing.feature_names)yhousing.target# 划分训练集和测试集X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42)# --- 2. 模型训练 ---# 训练一个梯度提升回归模型一个典型的“黑箱”modelGradientBoostingRegressor(n_estimators100,random_state42)model.fit(X_train,y_train)print(模型训练完成)# --- 3. SHAP 分析 ---print(开始进行 SHAP 分析...)# 创建一个解释器# 对于树模型使用 shap.TreeExplainer 效率更高explainershap.TreeExplainer(model)# 计算测试集的 SHAP 值# 注意explainer(X) 返回的是一个 Explanation 对象shap_valuesexplainer(X_test)print(SHAP 值计算完成)# --- 4. SHAP 可视化与解读 ---# 设置 matplotlib 使用支持中文的字体以防图例乱码plt.rcParams[font.sans-serif][SimHei]# 图一SHAP Summary Plot (bar) - 全局特征重要性print(\n正在生成全局特征重要性图...)plt.figure()shap.summary_plot(shap_values,X_test,plot_typebar,showFalse)plt.title(全局特征重要性 (Bar))plt.show()# 图二SHAP Summary Plot (beeswarm) - 特征影响分布print(\n正在生成特征影响分布图 (Beeswarm)...)plt.figure()shap.summary_plot(shap_values,X_test,showFalse)plt.title(特征影响分布图)plt.show()# 图三SHAP Force Plot - 单个样本的局部解释# 解释测试集中的第一个样本print(\n正在生成第一个测试样本的力图 (Force Plot)...)# 需要加载JS库确保在Jupyter环境中能正确显示shap.initjs()# shap.force_plot(base_value, shap_values_for_one_sample, features_for_one_sample)force_plotshap.force_plot(explainer.expected_value,shap_values.values[0,:],X_test.iloc[0,:])# force_plot # 在 notebook 中直接显示# 如果不在notebook中可以保存为html# shap.save_html(force_plot_sample_0.html, force_plot)# print(力图已保存为 force_plot_sample_0.html)print(\n--- SHAP 值数据结构探索 ---)print(fexplainer.expected_value (基准值):{explainer.expected_value})print(fshap_values 对象的类型:{type(shap_values)})print(fSHAP 值的形状 (shap_values.values.shape):{shap_values.values.shape})print(f测试集的形状 (X_test.shape):{X_test.shape})print(结论SHAP 值的形状 (样本数, 特征数) 与测试集完全对应)【代码与结果解读】点击展开/折叠查看详细注释与结果分析1. 全局特征重要性 (Bar Plot)解读: 这张图告诉我们在全局来看哪个特征对模型的贡献最大。它将每个特征在所有样本上的 SHAP 值的绝对值取平均。从图中可知MedInc(收入中位数) 是最重要的特征其次是AveOccup(平均入住人数)。2. 特征影响分布 (Beeswarm Plot)解读: 这是 SHAP 最强大、信息量最丰富的图垂直方向: 特征的重要性排序与 Bar Plot 一致。水平方向: SHAP 值。正值表示该特征将预测结果推高负值表示推低。点的颜色: 特征的原始值大小。红色表示值高蓝色表示值低。综合分析: 以MedInc为例红色的点高收入基本都在 SHAP 值的正半轴说明收入越高房价预测越高这符合常识。而AveOccup则相反红色的点高入住人数多在负半轴说明平均入住人数越多房价预测越低。3. 局部解释 (Force Plot)解读: 这张图精妙地展示了对于单个样本模型是如何做出决策的。base value(基准值): 2.069是所有训练样本预测的平均房价。output value(预测值): 0.69是模型对这个样本的最终预测房价。红色部分: 将预测推高的特征。如Latitude、HouseAge。蓝色部分: 将预测推低的特征。如MedInc、AveRooms。综合分析: 对于这个样本虽然它的MedInc很低蓝色拉低房价但由于其他特征如Latitude的综合作用最终预测值比基准值要低。所有红色和蓝色力量的“合力”将预测从base_value推到了最终的output value。四、总结与心得今天的学习是一次从“术”到“道”的深刻体验收获巨大编程的“第一性原理”: 我深刻地认识到与其在报错的海洋里挣扎不如回归本源理解数据的shape和函数的 I/O。这个看似简单的习惯是串起所有复杂技术、解决未知问题的万能钥匙。解释性的力量: SHAP 让我第一次“看清”了黑箱模型的内部世界。它不仅给出了“哪个特征重要”的全局视图更能“因人而异”地给出每个预测的详细归因这在金融风控、医疗诊断等高风险领域是无价的。从抽象到具象的智慧: “奶茶店分钱”的比喻将高深的博弈论思想变得触手可及。这让我明白掌握一个复杂概念最好的方式就是找到一个恰当的、生活化的类比。对错误的敬畏与利用: 课程中反复强调的“代码跑不通”问题让我不再视错误为洪水猛兽而是将其看作一次深入理解库版本、环境差异和代码内在逻辑的绝佳机会。感谢 浙大疏锦行 老师带来的精彩一课这不仅是关于 SHAP 的课程更是关于如何成为一个更优秀的思考者和问题解决者的课程。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

适合大学生做的网站有哪些做磨毛布内销哪个网站比较好

3步快速掌握JeecgBoot:小白也能上手的完整企业级开发指南 【免费下载链接】jeecg-boot 项目地址: https://gitcode.com/gh_mirrors/jee/jeecg-boot 想要在最短时间内掌握这款功能强大的企业级开发框架吗?JeecgBoot作为基于代码生成器的低代码平台…

张小明 2025/12/22 13:31:07 网站建设

深圳网站建设 骏域网站建设wordpress.

第一章:混合检索的 Dify 响应时间在构建基于大语言模型的应用时,Dify 作为一款低代码平台,支持将向量检索与关键词检索融合,实现高效的混合检索机制。该机制显著影响系统的响应时间,尤其在高并发或大规模数据场景下&am…

张小明 2025/12/22 13:25:40 网站建设

前端网站如何做全景图响应式网站布局实例

还在为无法离线观看B站优质内容而烦恼吗?bilidown作为专业的哔哩哔哩视频解析下载工具,完美解决了用户对高清视频保存的需求。这款开源工具支持8K超清视频、Hi-Res无损音频、杜比视界画质下载,实现批量解析零失败率,让视频收藏变得…

张小明 2025/12/23 13:50:42 网站建设

订餐网站的数据库建设深圳工程造价建设信息网站

Excalidraw 白板工具支持导出 AI 生成记录,实现可视化协作的可追溯性 在远程协作日益成为常态的今天,如何让一次头脑风暴、一场架构评审或一个产品原型讨论真正“留下痕迹”,而不只是停留在会议结束那一刻的截图上?这是许多技术团…

张小明 2025/12/22 13:20:34 网站建设

二维码生成器app重庆小潘seo

#顺势而为 #仓位管理 #躲避股灾 2025年小牛市结束了,大盘开始走下坡路了,很多股票开始亏钱了。朋友却开始逆势重仓押注太阳能、啤酒、美容这些夕阳或传统产业。我觉得现在AI、稀土、核电、新能源车、机器人、国产芯片才是真正的热点和未来,但…

张小明 2025/12/22 13:17:49 网站建设

兼职做海报网站丰台网站开发公司

8个自考任务书写作工具,AI格式优化软件推荐 在论文的海洋中,你是否也曾迷失方向? 对于自考学子而言,完成一篇高质量的任务书、文献综述或毕业论文,往往是一场与时间赛跑的战役。每一份材料都需要反复修改、调整格式、优…

张小明 2025/12/23 13:45:54 网站建设