SHAP 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SHAP 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SHAP 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

SHAP(SHapley Additive exPlanations)以一种统一的方法来解释任何机器学习模型的输出。 SHAP将博弈论与局部解释联系起来,将以前的几种方法结合起来,并根据预期表示唯一可能的一致且局部准确的加法特征归因方法(详见SHAP NIPS paper 论文)。

虽然SHAP值可以解释任何机器学习模型的输出,但我们已经开发了一种用于树集合方法的高速精确算法(Tree SHAP arXiv paper)。 XGBoost,LightGBM,CatBoost和scikit-learn树模型支持快速C ++实现:

import xgboost
import shap

# load JS visualization code to notebook
shap.initjs()

# train XGBoost model
X,y = shap.datasets.boston()
model = xgboost.train({"learning_rate": 0.01}, xgboost.DMatrix(X, label=y), 100)

# explain the model's predictions using SHAP values
# (same syntax works for LightGBM, CatBoost, and scikit-learn models)
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)

# visualize the first prediction's explanation (use matplotlib=True to avoid Javascript)
shap.force_plot(explainer.expected_value, shap_values[0,:], X.iloc[0,:])

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/03/18 18:08

D3.js 之 d3-shap 简介(转)

[转] D3.js 之 d3-shap 简介 译者注 原文: 来自 D3.js 作者 Mike Bostock 的 Introducing d3-shape 译者: ssthouse 联系译者: 邮箱(ssthouse@163.com) & 微信(wssst123456789) 译文 假设你现在想创建一个用于学习特定数据集的工具, 你最容易想到的呈现方式是什么呢? 一个可以自定义的 chart? 一个抽象的坐标系统? 将数据编码成图像来表示? 每一种方法都有它的好处. 比如你想做探索性的数据可视化, 你可能会更偏向于快速(高效)的...

0
0
发表了博客
2020/09/12 10:45

机器学习模型解释性工具SHAP

如下图,SHAP支持模型解释性,可用于抽取特征对结果的贡献。 Github地址:https://github.com/slundberg/shap 案例: 1、数据集: # dataset:http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_diabetes.html # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况。 # 数据集中的特征值总共10项, 如下: # 年龄 # 性别 #体质指数 #血压 ...

0
0
发表了博客
2014/09/29 14:57

You Need a Modern SEO Strategy. Here's How to Shap

You probably know that search engine optimization (or SEO) can help more people find your company's website when they search for businesses like yours online. But when’s the last time you ensured your SEO strategy is following best practices -- and getting the results your business really needs? Here’s why you need a modern SEO strategy, along with tips on how to build a program that helps yo...

0
0
2020/04/27 07:30

SHAP值的解释,以一种你期望的方式解释给你听

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Samuele Mazzanti 编译:ronghuaiyang 正文共:3096 字 13 图 预计阅读时间:9 分钟 导读 上一篇文章我们说到SHAP值可以用来对黑盒模型进行解释,具备比简单的逻辑回归更好的实际意义,那么SHAP值到底是什么?有什么实际意义?如何计算? 揭开神秘的面纱 在上次的文章中,我们看到SHAP值可以用来解释机器学习方法的决策。换句话说,我们使用SHAP来揭开黑箱模型...

0
0
发表了博客
2019/05/09 16:54

websocket-shap 函数Broadcast的使用方法

Broadcast:在websocket-shap函数的定义是:向WebSocket服务中的每个客户端发送数据,类似于广播的效果 如果要使用异步发送,可使用BroadcastAsync函数。 在源码中的代码片段如下: //向WebSocket服务中的每个客户端发送string数据 public void Broadcast (string data) { if (_state != ServerState.Start) { var msg = "管理器的当前状态为“未启动”|The current state of the manager is not Start....

0
0
发表了博客
2019/05/28 14:36

android shap画圆(空心圆、实心圆)

实心圆: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <solid android:color="@color/colorWhite" /> <stroke android:width="1dp" android:color="@color/colorWhite" /> <size android:width="10dp" android:height="10dp" /> </shape> ...

0
0
2020/04/26 07:30

黑盒模型实际上比逻辑回归更具可解释性

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Samuele Mazzanti 编译:ronghuaiyang 正文共:3701 字 17 图 预计阅读时间:11 分钟 导读 如何让复杂的模型具备可解释性,SHAP值是一个很好的工具,但是SHAP值不是很好理解,如果能将SHAP值转化为对概率的影响,看起来就很舒服了。 在可解释性和高性能之间的永恒的争斗 从事数据科学工作的人更了解这一点:关于机器学习的一个老生常谈是,你必须在以下两者之间...

0
0
发表了博客
2018/12/29 12:41

学习小记: Kaggle Learn - Machine Learning Explainability

Method Feature(s) Sample(s) Result Value/Feature Permutation Importance 1 all validation samples Single Scale Partial Dependence Plots 1~2 all validation samples Vector(reasults vs feature) SHAP Values N individual sample 每个feature对当前结果的贡献(相对于baseline) Advanced Uses of SHAP Values - Summary Plots N all 绘制每个feature在每个样本预测结果中的贡献(相对于baseline) Advanced Uses of S...

0
0
发表了博客
2020/09/24 13:26

独家 | 用XGBoost入门可解释机器学习

作者:Scott Lundberg 翻译:和中华 校对:张一然 本文长度为4300字,建议阅读8分钟 本文为大家介绍用XGBoost解释机器学习。 这是一个故事,关于错误地解释机器学习模型的危险以及正确解释所带来的价值。如果你发现梯度提升或随机森林之类的集成树模型具有很稳定的准确率,但还是需要对其进行解释,那我希望你能从这篇文章有所收获。 假定我们的任务是预测某人的银行财务状况。模型越准确,银行就越赚钱,但由于该预测要用于贷款...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部