当前位置: 首页 > 科技观察

另一款机器学习模型讲解神器:Shapash

时间:2023-03-16 20:17:41 科技观察

什么是Shapash模型可解释性和可理解性一直是很多研究论文和开源项目关注的重点。许多项目都配备了数据专家和训练有素的专业人员。Shapash适用于大多数sklearn、lightgbm、xgboost、catboost模型,可用于分类和回归任务。它利用Shap后端来计算特征的局部贡献,然而,这可以被一些其他计算局部贡献的策略所取代。数据科学家可以利用Shapash解释器来调查和解决他们的模型,或部署以提供每个猜想的可视化。并且它还可以用来制作能够为终端客户和企业家带来巨大价值的网络应用程序。shabash库Shapash的目标1.使用标签为每个组件及其模式显示清晰合理的结果图和输出:2.Web应用程序数据科学家可以通过使用web应用程序轻松探索全局和局部邻域之间的逻辑,以快速理解他们的模型,看看各种关键点是如何工作的:shapash库webapp3。总结和导出解释Shapash提供了一个简短而清晰的解释。它允许每个客户,无论他们的背景如何,都能理解托管模型的清晰解释,因为Shapash功能得到了总结和清楚的解释。4.完整的数据科学报告完整的数据报告可以在这里查看:https://shapash-demo.ossbymaif.fr/ShapashFeaturesShapash的一些特性如下:1.机器学习模型:适合分类(二元或多类问题)和回归问题。它支持各种模型,例如Catboost、Xgboost、LightGBM、SklearnEnsemble、线性模型和SVM。2.特征编码:它支持大量编码技术来处理我们数据集中的分类特征,例如one-hot编码、序数编码、BaseN编码、目标编码或二进制编码等。3.SklearnColumnTransformer:OneHotEncoder、OrdinalEncoder、StandardScaler、QuantileTransformer或PowerTransformer4.可视化:提供一组视觉效果来轻松解释您的结果并显示易于理解和清晰的结果。5.兼容Lime和Shap。它使用Shap后端仅需几行代码即可显示结果。6、提供多种参数选择,获取结果简洁明了。7.Shapash易于安装和使用:它提供了一个SmartExplainer类来理解你的模型并用简单的语法总结和阐明它。8.部署:对于调查和部署(通过API或批处理模式)以供操作使用很重要。轻松创建Web应用程序以从全球导航到本地。9.通用性高:为了展示结果,需要非常多的参数。但是您在清理和归档数据方面做得越多,最终客户就会越清楚。Shapash的工作原理Shapash是一个Python库,它使机器学习易于理解和解释。数据爱好者可以轻松理解和分享他们的模型。Shapash使用Lime和Shap作为后端,只需几行代码就可以显示结果。Shapash依靠构建机器学习模型的各种重要进步来理解结果。下图显示了shapash包的工作流程:Shapash工作原理Howitworks首先,它编译了每个步骤的元素,例如数据准备、特征工程、模型拟合、模型评估和模型理解。其次,它提供了一个WebApp和图表来更好地理解模型。模型的结果可以与客户共享和讨论。最后,它为您提供了可解释性的总结。安装Shapash可以使用以下代码安装:pipinstallshapash对于JupyterNotebook:如果您使用的是jupyternotebook并且想要查看内联图,那么您需要使用另一个命令:pipinstallipywidgets入门这里我们将使用数据集house价格预测快来探索Shapash。这是一个回归问题,我们必须预测房价。首先我们分析数据集,包括单变量和双变量分析,然后使用特征重要性、特征贡献、局部图和比较图对可解释性进行建模,然后是模型性能,最后是WebApp。使用单变量分析分析数据集可以查看下图中名为“一楼平方英尺”的特征。我们可以看到一个表格,其中显示了我们的训练和测试数据集的各种统计数据,例如均值、最大值、最小值、标准差、中位数等。在右图中,您可以看到训练和测试数据集的分布。Shapash还提到我们的特征是分类特征还是数值特征,它还提供了一个下拉选项,所有特征都可用。单变量分析显示分类特征、训练和测试数据集的不同值和缺失值。右侧显示了一个条形图,其中显示了每个特征中相应类别的百分比。Features中的CategoricalTargetAnalysis也看到了对名为SalesPrice的目标变量的详细分析。在左侧,显示了训练和预测数据集的所有统计数据,例如计数、平均值、标准差、最小值、最大值、中值等。右侧显示了训练和预测数据集的分布。目标分析多变量分析上面我们详细讨论了单变量分析。在本节中,我们将研究多变量分析。下图显示了训练和测试数据集的前20个特征的相关矩阵。还根据不同的颜色显示相关比例。这就是我们如何使用Shapash可视化特征之间的关系。MultivariateAnalysisModelInterpretabilityFeatureImportancePlot通过使用这个库,我们可以看到特征的重要性。特征重要性是一种寻找输入特征在预测输出值中的重要性的方法。下图显示了特征重要性曲线:FeatureImportanceGraphFeatureContributionGraph这些曲线帮助我们回答诸如特征如何影响我的预测,它的贡献是正还是负等问题。这张图完成了模型可解释性的重要性,模型的整体一致性更容易理解特征对模型的影响。我们可以看到数值和分类特征的贡献图。对于数值特征特征贡献图对于分类特征对于分类特征局部图我们可以绘制局部图。下图为部分图:部分图对比图我们可以画出对比图。下图是对比图:ComparisongraphModelPerformance经过数据分析,我们正在训练一个机器学习模型。下图显示了我们预测的输出。左侧显示真实值和预测值的统计信息,例如计数、最小值、最大值、中值、标准差等。右侧显示预测值和实际值的分布。模型性能WebApp经过模型训练,我们也可以构建一个WebApp。这个网络应用程序显示了我们数据的完整仪表板,包括我们到目前为止所涵盖的内容。下图显示了仪表板。WebApp项目地址:https://github.com/MAIF/shapash写在最后。本文简单介绍shapash的基本功能和绘图显示。相信大家对python库都有一定的了解。