在众多研究论文和开源项目中,模型的解释性和可理解性一直是焦点。然而,这些研究和项目大多面向数据专家和训练有素的专业人士。Shapash是一个Python库,旨在通过简化AI模型的动态交互,使AI模型对所有人更加可靠和易于理解。Shapash通过直观的全局和局部合理性可视化,帮助用户更好地理解模型。此外,它还能创建一个Web应用程序,为最终用户和企业家提供大量价值。Shapash支持大多数sklearn、lightgbm、xgboost、catboost模型,并可用于分类和回归任务。它使用Shap后端来计算特征的局部贡献,但也可以替换为其他计算局部贡献的方法。数据科学家可以使用Shapash解释器来调查和排除模型故障,或者部署以提供每次预测的可视化。
Shapash库的目标是展示清晰合理的结果:图表和输出使用每个组件及其模态的标签。它允许数据科学家通过使用Web应用程序快速理解他们的模型,轻松地在全局和局部逻辑之间导航,并查看不同特征如何贡献。Shapash提出了一个简短而清晰的局部解释,允许每个用户,无论他们的数据背景如何,都能理解受控模型的局部预测,这要归功于Shapash的概括和清晰的解释。此外,它还提供了完整的数据科学报告。
Shapash库的一些特点如下:它支持机器学习模型,包括分类(二元或多类问题)和回归问题。它支持许多模型,如Catboost、Xgboost、LightGBM、Sklearn集成、线性模型和SVM。它支持大量编码技术,以处理数据集中的分类特征,如One Hot Encoding、Ordinal Encoding、Base N Encoding、Target Encoding或Binary Encoding等。它还支持SklearnColumnTransformer,包括OneHotEncoder、OrdinalEncoder、StandardScaler、QuantileTransformer或PowerTransformer。Shapash提供了一套可视化工具,可以轻松解释结果,显示易于理解和清晰的结果。它与Lime和Shap兼容,使用Shap后端只需几行代码即可显示结果。它提供了许多参数选项,以便简洁地获得结果。
Shapash库的安装非常简单,可以使用以下代码进行安装:pip install shapash
。对于Jupyter笔记本,如果想看到内联图表,那么除了上述命令外,还需要使用另一个命令:pip install ipywidgets
。
本节将通过使用“房价预测”数据集来探索Shapash。这是一个回归问题,需要预测房价。首先,分析数据集,包括单变量和双变量分析,然后使用特征重要性、特征贡献、局部和比较图表进行模型可解释性分析,然后是模型性能,最后是WebApp。