Py之eli5:eli5库的简介、安装、使用方法之详细攻略

目录

eli5库的简介

1、eli5库有助于机器学习的可解释性

2、eli5库实现了几种用于检查黑盒模型的算法(参见检查黑盒估计器)

3、eli5库支持的机器学习框架和包—可以和大多数通用的python机器学习工具包一起使用

eli5库的安装

T1、pip安装eli5过程

T2、conda安装eli5过程

eli5库的使用方法

1、基础用法

1.1、eli5.show_weights()用法

2、进阶用法


eli5库的简介

eli5是一个Python包,它可以帮助调试机器学习分类器并解释它们的预测。ELI5是一个Python库,它允许使用统一的API可视化和调试各种机器学习模型。它内置了对几种ML框架的支持,并提供了一种解释黑盒模型的方法。eli5对比Yellowbrick,Yellowbrick 侧重于特征和模型性能解释,eli5侧重于模型参数和预测结果。

官方文档:Welcome to ELI5’s documentation! — ELI5 0.11.0 documentation

Github:GitHub - TeamHG-Memex/eli5: A library for debugging/inspecting machine learning classifiers and explaining their predictions,GitHub - eli5-org/eli5: A library for debugging/inspecting machine learning classifiers and explaining their predictions

1、eli5库有助于机器学习的可解释性

(1)、检查模型参数,试图弄清楚模型是如何全局工作的
(2)、检查模型的单个预测,并找出模型做出决策的原因

2、eli5库实现了几种用于检查黑盒模型的算法(参见检查黑盒估计器)

(1), TextExplainer允许使用LIME算法解释任何文本分类器的预测(Ribeiro et al., 2016)。有一些实用程序可以将LIME与非文本数据和任意黑盒分类器一起使用,但是这个特性目前还处于试验阶段。
(2)、置换重要性方法可用于计算黑盒估计器的特征重要性。

3、eli5库支持的机器学习框架和包—可以和大多数通用的python机器学习工具包一起使用

eli5能够同大多数通用的python机器学习工具包一起使用,这其中包括scikit-learn、Keras、LightGBM、XGBoost、CatBoost 等等。

(1) 、scikit-learn-目前,ELI5允许解释scikit-learn线性分类器和回归器的权重和预测,将决策树打印为文本或SVG,显示特征的重要性,并解释决策树和基于树的集合的预测。ELI5理解来自scikit-learn的文本处理实用程序,并能相应地高亮显示文本数据。支持Pipeline和FeatureUnion。它还允许通过撤销哈希来调试包含HashingVectorizer的scikit-learn管道。
(2)、Keras -通过 Grad-CAM 可视化解释图像分类器的预测。
(3)、xgboost -显示特征重要性并解释XGBClassifier, XGBRegressor和xgboost. booster的预测。
(4)、LightGBM -显示特征重要性,解释LGBMClassifier, LGBMRegressor和LightGBM . booster的预测。
(5)、CatBoost -显示CatBoostClassifier、CatBoostRegressor和CatBoost. CatBoost的特征重要性。
(6)、lightning -解释lightning 分类器和回归器的权重和预测。
(7) 、sklearn-crfsuite-ELI5允许检查sklearn_crfsuite.CRF模型的权重。

eli5库的安装

T1、pip安装eli5过程

pip install eli5pip install -i https://pypi.tuna.tsinghua.edu.cn/simple eli5

T2、conda安装eli5过程

(base) PS C:\Users\99386> conda install eli5
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:- eli5
Current channels:- https://repo.anaconda.com/pkgs/main/win-64- https://repo.anaconda.com/pkgs/main/noarch- https://repo.anaconda.com/pkgs/r/win-64- https://repo.anaconda.com/pkgs/r/noarch- https://repo.anaconda.com/pkgs/msys2/win-64- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate tohttps://anaconda.org
and use the search bar at the top of the page.(base) PS C:\Users\99386> conda config --show channels
channels:- defaults
(base) PS C:\Users\99386> conda config --show channels
channels:- defaults
(base) PS C:\Users\99386> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
(base) PS C:\Users\99386> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
(base) PS C:\Users\99386> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
(base) PS C:\Users\99386>
(base) PS C:\Users\99386> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
(base) PS C:\Users\99386> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
(base) PS C:\Users\99386> conda config --set show_channel_urls yes
(base) PS C:\Users\99386> conda config --show channels
channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
(base) PS C:\Users\99386> conda install eli5
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done==> WARNING: A newer version of conda exists. <==current version: 4.12.0latest version: 4.13.0
Please update conda by running$ conda update -n base -c defaults conda
## Package Plan ##environment location: D:\ProgramData\Anaconda3added / updated specs:- eli5
The following packages will be downloaded:package                    |            build---------------------------|-----------------ca-certificates-2022.3.29  |       haa95532_1         122 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/maincertifi-2021.10.8          |   py39haa95532_2         152 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda-4.12.0               |   py39hcbf5309_0         1.0 MB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgeeli5-0.11.0                |     pyhd8ed1ab_0          76 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgegraphviz-2.38.0            |    h6538335_1011        41.0 MB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgeopenssl-1.1.1n             |       h2bbff1b_0         4.8 MB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainpython-graphviz-0.16       |     pyhd3deb0d_1          20 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgepython_abi-3.9             |           2_cp39           4 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgesingledispatch-3.6.1       |     pyh44b312d_0          12 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge------------------------------------------------------------Total:        47.2 MB
The following NEW packages will be INSTALLED:eli5               anaconda/cloud/conda-forge/noarch::eli5-0.11.0-pyhd8ed1ab_0graphviz           anaconda/cloud/conda-forge/win-64::graphviz-2.38.0-h6538335_1011python-graphviz    anaconda/cloud/conda-forge/noarch::python-graphviz-0.16-pyhd3deb0d_1python_abi         anaconda/cloud/conda-forge/win-64::python_abi-3.9-2_cp39singledispatch     anaconda/cloud/conda-forge/noarch::singledispatch-3.6.1-pyh44b312d_0The following packages will be SUPERSEDED by a higher-priority channel:ca-certificates                                 pkgs/main --> anaconda/pkgs/maincertifi                                         pkgs/main --> anaconda/pkgs/mainconda              pkgs/main::conda-4.12.0-py39haa95532_0 --> anaconda/cloud/conda-forge::conda-4.12.0-py39hcbf5309_0openssl                                         pkgs/main --> anaconda/pkgs/main
Proceed ([y]/n)? y
Downloading and Extracting Packages
python-graphviz-0.16 | 20 KB     | ################################################################################################################################################# | 100%
ca-certificates-2022 | 122 KB    | ################################################################################################################################################# | 100%
singledispatch-3.6.1 | 12 KB     | ################################################################################################################################################# | 100%
python_abi-3.9       | 4 KB      | ################################################################################################################################################# | 100%
openssl-1.1.1n       | 4.8 MB    | ################################################################################################################################################# | 100%
eli5-0.11.0          | 76 KB     | ################################################################################################################################################# | 100%
conda-4.12.0         | 1.0 MB    | ################################################################################################################################################# | 100%
graphviz-2.38.0      | 41.0 MB   | ################################################################################################################################################# | 100%
certifi-2021.10.8    | 152 KB    | ################################################################################################################################################# | 100%
Preparing transaction: done
Verifying transaction: failed
EnvironmentNotWritableError: The current user does not have write permissions to the target environment.environment location: D:\ProgramData\Anaconda3

eli5库的使用方法

1、基础用法

1.1、eli5.show_weights()用法

eli5.show_weights(model, feature_names = X.columns.tolist()) 

`show_weights`方法默认采用gain来计算权重,当然也可以通过设置`importance_type`参数,来传入其他控制特征重要性的计算。

2、进阶用法

相关文章

ML之PFI(eli5):基于mpg数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序实现

ML之PFI(eli5):基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序实

Py之eli5:eli5库的简介、安装、使用方法之详细攻略相关推荐

  1. Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介、使用方法之详细攻略

    Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介.使用方法之详细攻略 目录 glob库的简介 glob库的使用方法 1.单个字符通配符:用问号(?)匹配任何单个的字符.

  2. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略

    Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...

  3. Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略

    Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介.使用方法之详细攻略 目录 matplotlib.pyplot的plt.legend函数的简 ...

  4. Python:numpy库中的一些函数简介、使用方法之详细攻略

    Python:numpy库中的一些函数简介.使用方法之详细攻略 目录 numpy库中的一些函数简介.使用方法 1.np.concatenate() 1.1.函数案例 1.2.函数用法 numpy库中的 ...

  5. sklearn之XGBModel:XGBModel之feature_importances_、plot_importance的简介、使用方法之详细攻略

    sklearn之XGBModel:XGBModel之feature_importances_.plot_importance的简介.使用方法之详细攻略 目录 feature_importances_ ...

  6. Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略 目录 sklearn中的RobustScaler 函数的简介及使用方法 sklearn中的R ...

  7. ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介、使用方法之详细攻略

    ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介.使用方法之详细攻略 目录 sklearn.linear_mode中的LogisticRe ...

  8. sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform、transform、inverse_transform简介、使用方法之详细攻略

    sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform.transform.inverse_transform简介.使用方法之详细攻略 ...

  9. Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ、负载均衡、F5、Nginx、容器)的简介、使用方法之详细攻略

    Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ.负载均衡.F5.Nginx.容器)的简介.使用方法之详细攻略 目录 DMZ(隔离区)的简介及其使用方法 1.DMZ区 ...

  10. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

最新文章

  1. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第8章-高阶非线性多智能体分布式自适应鲁棒控制
  2. Sitecore 9 为什么数据驱动的组织选择它
  3. 晶体封装越小esr越大_SuperFin晶体管技术加持!英特尔新一代10nm可媲美台积电5nm?...
  4. php fopen 找不着文件,fopen 系统找不到指定路径 PHP文件包含详细讲述(4)
  5. 二叉排序树或二叉搜索树
  6. import _ssl # if we can‘t import it, let the error propagate
  7. 纯净微擎框架 V 2.5.7 稳定运营版 免验证/去授权/防拉黑/支持本地模块安装源码
  8. 公司的年度汇报怎么写 年底述职报告写法
  9. Contest-hunter 暑假送温暖 SRM08
  10. 对voc2007数据集进行person的单类数据抽取
  11. 百度贴吧诱导用户操作CPA项目
  12. 小结大学计算机基础课程内容报告,WORD制作新年贺卡和个人简历大学计算机基础课程设计报告书...
  13. python协程详解
  14. ndims matlab,MATLAB的size(),length(),ndims()函数
  15. js实现用户输入年月份,判断是否为闰年,该月份有多少天
  16. KDD 2020(五) | 基于多源异构信息整合的视频标题生成模型(作者带你读论文)...
  17. opencv中meanshift和camshift函数的使用
  18. Skia深入分析5——skia文字绘制的实现
  19. Nginx 代理本地文件
  20. 中粮集团进军互联网:先试B2B再试B2C

热门文章

  1. HTML中颜色的表示方法
  2. C++实现websocket服务器握手协议(使用Qt)
  3. 103 不定积分复习:换元法之第一类、第二类;分部积分法;两类重要的不定积分
  4. 详细介绍JAVA中日期 yyyy-MM-dd HH:mm:ss
  5. 京瓷送稿器扫描有黑线,稿台扫描正常
  6. 数据库服务器配置文件设置,数据库服务器的配置要求
  7. Linux 常见命令-文件和磁盘管理
  8. vue-router3源码注视系列 /src/index.js
  9. Wordpress无法写入wp-config.php文件的解决办法
  10. 网络时代的学习特点、程序员的困惑