机器/深度学习lark-parser、SHAP、ELI5、BodyPix介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:lark-parser(解析任何无上下文的语法)、SHAP(统一的方法解释任何机器学习模型的输出)、ELI5(使用统一 API 可视化地调试各种机器学习模型)、BodyPix(开源的机器学习模型)。

1、lark-parser(解析任何无上下文的语法)

机器/深度学习lark-parser、SHAP、ELI5、BodyPix介绍

Lark 是一个现代化的 Python 解析库,可以解析任何无上下文的语法。

Lark 提供:

高级语法语言,基于EBNF。

三种解析算法可供选择:Earley,LALR(1)和CYK。

自动树构造,从您的语法推断。

具有正则表达式支持和自动行计数的快速unicode词法分析器。

安装Lark:

$ pip install lark-parser

Lark没有依赖性。

Hello World:

这是一个解析“Hello,World!”的小程序:

from lark import Lark

l = Lark('''start: WORD "," WORD "!"

  %import common.WORD   // 从终端库导入

  %ignore " "           // 忽略文本中的空格

 ''')

print( l.parse("Hello, World!") )

输出为:

Tree(start, [Token(WORD, 'Hello'), Token(WORD, 'World')])

注意标点符号未出现在结果树中,它会被Lark自动过滤掉。

下载地址:https://github.com/lark-parser/lark

2、SHAP(统一的方法解释任何机器学习模型的输出)

机器/深度学习lark-parser、SHAP、ELI5、BodyPix介绍

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

虽然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,:])

安装:

可以从PyPI或conda-forge安装SHAP:

pip install shap

or

conda install -c conda-forge shap

下载地址:https://github.com/slundberg/shap

3、ELI5(使用统一 API 可视化地调试各种机器学习模型)

机器/深度学习lark-parser、SHAP、ELI5、BodyPix介绍

ELI5是一个Python库,允许使用统一API可视化地调试各种机器学习模型。 它内置了对多个ML框架的支持,并提供了一种解释黑盒模型的方法。它有助于调试机器学习分类器并解释它们的预测。

它为以下机器学习框架和包提供支持:

1]、scikit-learn:目前,ELI5允许解释scikit-learning线性分类器和回归量的权重和预测,将决策树打印为文本或SVG,显示特征重要性并解释决策树和基于树的集合的预测。支持Pipeline和FeatureUnion。ELI5通过scikit-learn了解文本处理实用程序,并可相应地突出显示文本数据。它还允许通过撤消散列来调试包含HashingVectorizer的scikit-learn管道。

2]、XGBoost:显示功能重要性并解释XGBClassifier,XGBRegressor和xgboost.Booster的预测。

3]、LightGBM:显示功能重要性并解释LGBMClassifier和LGBMRegressor的预测。

4]、lightning:解释闪电分类器和回归量的权重和预测。

5]、sklearn-crfsuite:ELI5允许检查sklearn_crfsuite.CRF模型的权重。

ELI5还实现了几种检测黑盒模型的算法:

1]、TextExplainer允许使用LIME算法解释任何文本分类器的预测(Ribeiro等,2016)。有一些实用程序可以将LIME与非文本数据和任意黑盒分类器一起使用,但此功能目前是实验性的。

2]、Permutation Importance方法可用于计算黑盒估计器的特征重要性。

说明和格式分开,您可以获取基于文本的说明以显示在控制台中,可以嵌入在IPython笔记本或Web仪表板中的HTML版本,可以进一步处理结果的pandas.DataFrame对象,或者可以在客户端上实现自定义呈现和格式设置的JSON版本 。

下载地址:https://github.com/TeamHG-Memex/eli5

4、BodyPix(开源的机器学习模型)

机器/深度学习lark-parser、SHAP、ELI5、BodyPix介绍

BodyPix 是一种开源的机器学习模型,可在浏览器中使用 TensorFlow.js 对人物及身体部位进行分割。默认设置下,该模型可在 2018 版 15 英寸 MacBook Pro 以及 iPhone X 上分别以 25 fps 和 21 fps 的帧率,估测及呈现人物及身体部位的分割。

下载地址:https://gitee.com/mirrors/body-pix

注明

以上就是机器/深度学习lark-parser、SHAP、ELI5、BodyPix的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章