Lime对表格数据的机器学习模型解释

目录

  • Lime简介
    • 结构
    • 原理
  • Lime重要函数
    • 1、生成解释器
    • 2、对局部点的解释
    • 3、显示详细信息图
    • 4、保存详细信息图
    • 5、显示权重图
    • 6、显示权重表
  • Lime结果的解释
    • 1、verbose=True的信息
    • 2、show_in_notebook的信息
    • 3、as_pyplot_figure的信息
    • 4、as_list的信息

Lime简介

from lime import lime_tabular

结构

lime结构
主要用到的是lime_tabular模块

原理

在需要解释的点附近将机器学习模型局部线性化,利用该近似的线性模型进行局部解释,判断对于该点来说,哪些特征更重要。
局部线性化的形式:

predict = ∑(positive) - ∑(negative) + Intercept

positive:积极权重

negative:消极权重

Intercept:截距

具体意义会在后文解释

Lime重要函数

1、生成解释器

explainer = lime_tabular.LimeTabularExplainer(training_data,mode='classification',feature_names=None,categorical_features=None,verbose=False,class_names=None)

training_data:训练机器学习模型的自变量数据

mode:模式,可选'classification'(分类)和'regression'(回归)

feature_names:特征的名称列表

categorical_features:索引列表,即用作线性化近似的特征只会由该列表中选中的特征组成

verbose:决定是否在使用explain_instance的时候输出详细信息

class_names:字符串列表,决定后续权重表的标题

2、对局部点的解释

exp = explainer.explain_instance(data_row,predict_fn,top_labels=None,num_features=10)

data_row:一维ndarray,单个数据点(要解释的点)

predict_fn:预测函数,对分类模式,预测函数应该是一个输出各种情况可能性的函数;对回归模式,预测函数应该是一个输出预测值的函数

top_labels:若top_labels=k,则选取预测出的概率最高的k种情况来进行解释

num_features:若num_features=k,则选出k个最有效的特征来进行局部线性化

3、显示详细信息图

注:该函数仅用于jupyter,否则只会返回一个

exp.show_in_notebook(show_table=True, show_all=False)

show_table:是否显示解释点对应的“特征名称——实际值”表格

show_all:是否显示show_table中的全部特征,为False则只显示num_features中指定的特征

4、保存详细信息图

exp.save_to_file('filename')

内容与第三点相同,保存为html文件

5、显示权重图

注:权重图也包含在第3点所说的详细信息图中

exp.as_pyplot_figure(labels=1)

labels:在多分类情况下,才需要填充的参数,表面针对该类的预测概率的权重图

6、显示权重表

注:权重表即第五点所说的权重图用列表表示的形式

exp.as_list(labels=1)

labels:在多分类情况下,才需要填充的参数,表面针对该类的预测概率的权重图

Lime结果的解释

无论是回归模式还是分类模式,Lime的解释都是相似的,分类模式下,可以认为是对每种分类情况的概率的回归,即一个n分类模型的解释可以看做对n个回归模型的解释

1、verbose=True的信息

信息形式如下:
在这里插入图片描述
Intercept:模型局部线性化后的截距
Prediction_local:局部线性化后的模型对解释点给出的预测
Right:原机器学习模型对解释点给出的预测

2、show_in_notebook的信息

信息形式如下:
在这里插入图片描述

回归模式

在这里插入图片描述

分类模式

上图中
Predicted value 和 Prediction probabilities图则为原机器学习模型对解释点的预测值;
Positive / Negative 和 xxx / Not xxx图则为权重图,左边表示的是消极权重(即原理中的negative),右边表示的是积极权重(即原理中的positive);
Feature——Value图则是“特征名称——实际值”表格。

3、as_pyplot_figure的信息

信息形式如下:
在这里插入图片描述
同第2点所提的权重图

4、as_list的信息

信息形式如下:
在这里插入图片描述
同第2点所提的权重图


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部