机器学习可解释性
正文
前言
本文是 kaggle上机器学习可解释性课程,共五部分,除第一部分介绍外,每部分包括辅导和练习。
此为第一部分,原文链接
如果你是入门者,建议先看之前的文章《sklearn快速入门教程》 和 《机器学习中级教程》 。
引用格式的文字,非原文的内容,是我在学习过程中,加入一些体会和感想,与小伙伴们分享。
在机器学习中,除线性回归可以比较容易解释之外,其他的模型很难做进一步解释和展示,特别给对机器学习不太了解的朋友,因此急需要有可解释的文字、图表以及相关的内容,最直观的就是图形。所以在本课程中会有大量的图形,来展示不同模型的表现形式,并是可以解释的,可理解的。
哪些类型的洞察是可能的
许多人说机器学习模型是“黑匣子”,因为它们可以做出很好的预测,但你无法理解这些预测背后的逻辑。这种说法是正确的,因为大多数数据科学家还不知道如何从模型中洞察见解。
然而,这门课程将教你从复杂的机器学习模型中洞察见解的技术。
- 模型中数据的哪些特征被认为最重要?
- 对于来自模型的任何单个预测,数据中的每个特征是如何影响特定预测的?
- 从全局意义上讲,每个特征如何影响模型的预测(在考虑大量可能的预测时,其典型影响是什么)?
为什么这些见解很有价值
这些见解有很多用途,包括
- 调试
- 告知功能工程
- 指导未来的数据收集
- 为人类决策提供信息
- 建立信任
调试
世界上有很多不可靠、杂乱无章、普遍的肮数据*[是指含有海噪音的数据]*。在编写预处理代码时,会添加潜在的错误源。再加上目标泄漏的可能性,在真实的数据科学项目中,在某个时刻出现错误是常态,也不例外。
考虑到错误的频率和潜在的灾难性后果,调试是数据科学中最有价值的技能之一。了解模型发现的模式将有助于你确定这些模式何时与你对现实世界的了解不一致,这通常是追踪bug的第一步。
告知特征工程
特征工程通常是提高模型精度的最有效方法。特征工程通常涉及使用原始数据或先前创建的特征的转换来重复创建新特征。
有时,你可以通过对潜在主题的直觉来完成这个过程。但是,当你有100多个原始功能时,或者当你缺乏关于你正在研究的主题的背景知识时,你需要更多的指导。
Kaggle 竞赛给出了一个贷款违约预测 的极端例子。这场比赛有100个原始特征。出于隐私原因,进行脱敏,这些特征的名称为f1、f2、f3,而不是常见的英文名称。这模拟了一个场景,在这个场景中,你对原始数据几乎没有感觉。
一位选手发现,f527和f528这两个特征之间的差异创造了一个非常强大的新特征。包含这种差异的模型比没有它的模型要好得多。但是,当你从数百个变量开始时,你会怎么想创建这个变量呢?
你将在这门课程中学习的技术将清楚地表明f527和f528是重要的特征,它们的作用是紧密纠缠的。这将指导您考虑这两个变量的转换,并可能找到f527-f528的“黄金特征”。
当越来越多的数据集从100 或1000多个原始特征开始,这种方法变得越来越重要。
指导未来的数据收集
您无法控制下载的数据集,但许多使用数据科学的企业和组织都有机会扩大他们收集的数据类型。收集新类型的数据可能会很昂贵或不方便,所以他们只有在知道有价值的情况下才想这样做。基于模型的挖掘可以让你很好地了解你目前拥有的功能的价值,这将帮助你思考哪些新的价值可能最有帮助。
为人们决策提供信息
有些决策是由模型自动做出的。亚马逊不会让人类(或精灵)在你访问他们的网站时匆忙决定给你看什么。但许多重要的决定都是由人类做出的。对于这些决策,见解可能比预测更有价值。
建立信任
在没有核实一些基本事实的情况下,许多人不会认为他们可以信任你的模型来做出重要决策。考虑到数据错误的频率,这是一种明智的预防措施。在实践中,展示符合他们对问题的总体理解的见解将有助于建立信任,即使在对数据科学知之甚少的人中也是如此。
继续前进
你将学到的第一个解释是 排列的重要性。