SHAP 解释机器学习模型输出开源项目

我要开发同款
匿名用户2019年04月04日
62阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议MIT

作品详情

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

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

importxgboostimportshap#loadJSvisualizationcodetonotebookshap.initjs()#trainXGBoostmodelX,y=shap.datasets.boston()model=xgboost.train({"learning_rate":0.01},xgboost.DMatrix(X,label=y),100)#explainthemodel'spredictionsusingSHAPvalues#(samesyntaxworksforLightGBM,CatBoost,andscikit-learnmodels)explainer=shap.TreeExplainer(model)shap_values=explainer.shap_values(X)#visualizethefirstprediction'sexplanation(usematplotlib=TruetoavoidJavascript)shap.force_plot(explainer.expected_value,shap_values[0,:],X.iloc[0,:])

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论