python模型训练框架_在Python中使用LIME框架:建立对机器学习模型的信任

价值不在于软件,价值在于数据,这对每一家公司而言都是非常重要的,他们了解他们拥有的数据。

约翰·斯特拉

介绍

现在越来越多的公司意识到数据的强大。机器学习模型越来越受欢迎,现在正在使用数据来解决各种商业问题。话虽如此,模型的准确性和可解释性之间总是存在着取舍。

一般来说,如果准确性得到提高,数据科学家必须使用复杂的算法,如Bagging,Boosting,Random Forests等,这些都是“黑盒”的方法。Kaggle或Google Analytics(分析)Vidhya比赛中的许多获奖作品往往会使用像XGBoost这样的算法,不需要向商业用户解释生成预测的过程。另一方面,在商业环境中,更多使用具有说明性的比较简单的模型,如线性回归,逻辑回归,决策树等,即使预测不太准确。

这种情况必须改变 – 准确性和可解释性之间的取舍是不能接受的。我们需要找到使用强大的黑匣算法的方法,即使在商业环境中,仍然能够直观地向用户解释预测背后的逻辑。随着对预测信任的增加,将在企业内更广泛地部署机器学习模型。问题是 – “我们如何建立对机器学习模型的信任 ”?

1、动机

正是在这种情况下,我对论文“为什么我相信您”– 解释分类器的预测非常感兴趣。在本文中[1],作者解释了一个叫LIME的框架,这是一种算法,可以用一种正确的方式对分类器或回归量的预测进行解释,通过一个可说明的模型来做局部预测。在本文中,有许多问题的例子,其中黑盒算法(即使像深度学习一样极端)的预测可以用可解释的方式来表述。我不会在这个博客中解释这篇文章,而是展示它如何在我们自己的分类问题中实现。

2.问题

Sigma Cab的峰时定价类型分类

今年二月,Analytics Vidhya举办了机器学习比赛,其目标是预测Sigma Cab的“峰时定价类型” – 出租车聚合服务。这是一个多类分类的问题。在这个博客中,我们将看到如何对这个数据集做出预测,并使用LIME来做出预测的解释。这里的意图不是建立最好的模式,而是重点在于可解释性方面。

2.1建模模型的步骤

#步骤1 – 导入所有库

#步骤2– 定义函数,变量和辞典

#步骤3 – 加载训练数据集

1-1.jpg

#步骤4 – 了解数据(描述性统计,可视化)

#步骤5– 数据预处理(处理缺失数据和异常值,特征工程,特征变换等)

#步骤6 – 功能选择

#步骤7 – 创建验证集

#步骤8 – 比较算法,找到候选算法

#步骤9– 算法调整

#步骤10– 完成模型

在这种情况下,我们在训练数据上安装了3个模型,以便比较得到的解释。3个模型是a)逻辑回归,b)Random Forest,c)XGBoost。

2.jpg

2.2用Lime使模型可解释的步骤

LIME步骤1 – 安装LIME(在ANACONDA分布中 – pip安装LIME)之后,导入相关的库,如下所示:

3.jpg

LIME步骤2– 为每个分类器创建一个lambda函数,该函数将返回给定特征集的目标变量(峰时定价类型)的预测概率

4.jpg

LIME步骤3 – 创建所有功能名称的连接列表,这些列表将在后续步骤中由LIME解释器使用

5-2.jpg

LIME步骤4 – 这是创建解释器的“神奇”步骤

6.jpg

该函数使用的参数有:

X_train =训练集

feature_names =所有功能名称的连接列表

class_names =目标值

categorical_features =数据集中的分类列的列表

categoriesical_names =分类列名称列表

Kernel width =参数控制诱导模型的线性度,模型的宽度越大,线性越大。</

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值