原标题:无需写代码!谷歌生产机器学习模型分析神器,代号What-If

原标题:测试机器学习模型不用写代码!Google“what-if”工具轻松搞定

引言

在机械学习世界,AUC值平时用来评论一个二分类模型的教练效果,对于广大机器学习或者数额挖掘的从业者或在校学员来说,AUC值的定义也时不时被提起,但出于半数以上时候咱们都是凭借一些软件包来操练机器学习模型,模型评价目的的估量往往被软件包所封装,由此大家常常会忽略了它们的切切实实意思,那在稍微时候会让我们对此手头正在进展的任务感到纳闷。作者也曾遭逢类似的难点,由此愿意借由本文来梳理下AUC值的意思与总计办法,通过实际的例证扶助读者加深明白,同时提交了利用scikit-learn工具库计算AUC值的办法,供各位参考。

评估指标 伊娃luation metrics 可以印证模型的属性,辨别模型的结果。

铜灵 编译整理

澳门金沙4787.com官网 1

定义

AUC的完备是Area under the Curve of
ROC
,也就是ROC曲线下方的面积。那里出现了另一个定义,就是ROC曲线。那么ROC曲线是个什么东西呢?大家参看下维基百科上的定义:在信号检测理论中,接收者操作特征曲线(receiver
operating characteristic
curve
,或者叫ROC曲线)是一种坐标图式的解析工具,用于 (1)
拔取最佳的信号侦测模型、屏弃次佳的模子。 (2)
在同样模型中设定最佳阈值。这些定义最早是由世界二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具。概括来说,可以把ROC工具轻松搞定,AUC值的意义与总括方法。曲线领悟为一种用于计算分析的图纸工具。

那就是说具体到机械学习的说理中,ROC曲线该怎么领会呢?首先,须要提议的是,ROC剖析的是二元分类模型,也就是出口结果唯有二种档次的模子,比如:(阴性/中性(neuter gender))(有病/没病)(垃圾邮件/非垃圾邮件)。在二分类难点中,数据的价签平常用(0/1)来表示,在模型陶冶成功后展开测试时,会对测试集的各种样本总括一个介于0~1之间的几率,表征模型认为该样本为中性(neuter gender)的票房价值,我们得以选定一个阈值,将模型计算出的票房价值举办二值化,比如选定阈值=0.5,那么当模型输出的值超过等于0.5时,大家就认为模型将该样本预测为阴性,也就是标签为1,反之亦然。选定的阈值分化,模型预测的结果也会相应地转移。二元分类模型的单个样本预测有多样结果:

  1. 真阴性(TP):判断为阴性,实际也是阴性。
  2. 伪阴性(FP):判断为中性(neuter gender),实际却是中性(neuter gender)。
  3. 真中性(neuter gender)(TN):判断为中性(neuter gender),实际也是中性(neuter gender)。
  4. 伪中性(neuter gender)(FN):判断为中性(neuter gender),实际却是阴性。

那八种结果可以画成2 × 2的混淆矩阵:

澳门金沙4787.com官网 2

二阶混淆矩阵

有了混淆矩阵,就可以定义ROC曲线了。ROC曲线将假阴性率(FPR)定义为
X 轴,真中性(neuter gender)率(TPR)定义为 Y 轴。其中:

  • TPR:在具有实际为阴性的样书中,被正确地判断为阴性的样本比率。
  • FPR:在有着实际为阳性的样本中,被错误地判断为中性(neuter gender)的样本比率。
  • TPR = TP / (TP + FN)
  • FPR = FP / (FP + TN)

给定一个二分类模型和它的阈值,就可以按照所有测试集样本点的真实值和预测值总括出一个
(X=FPR, Y=TPR)
坐标点,这也就是绘制单个点的法子。那整条ROC曲线又该怎么画吗?具体方法如下:

在大家磨练完一个二分类模型后,可以采用该模型对测试集中的任何样本点总括一个相应的几率值,每个值都介于0~1之间。要是测试集有100个样本点,大家可以对那100个样本的预测值从高到低排序,然后逐一取每个值作为阈值,一旦阈值确定我们就可以绘制ROC曲线上的一个点,按照那种艺术依次将100个点绘制出来,再将逐条点依次连接起来,就取得了俺们想要的ROC曲线!

下一场再回来最初的标题,AUC值其实就是ROC曲线下方所覆盖的面积,当大家绘制出ROC曲线之后,AUC的值自然也就统计好啊。

大家创设一个模子后,总括目标,从目标获得反馈,再持续改正模型,直到达到美好的准确度。在前瞻此前检查模型的准确度至关紧要,而不应有建立一个模子后,就直接将模型应用到看不见的多寡上。

后天,谷歌生产了已开源的TensorFlow可视化工具TensorBoard中一项新职能:What-If
Tool,用户可在不编写程序代码的情景下分析机器学习(ML)模型。

倒计时**8**天

示例

那里引用巴黎南开张伟楠先生机器学习课件中的例子来证实:

澳门金沙4787.com官网 3

AUC统计示例

如上图所示,大家有8个测试样本,模型的预测值(按大小排序)和样本的实在标签如右表所示,绘制ROC曲线的整整经过如下所示:

  1. 令阈值等于第三个预测值0.91,所有大于等于0.91的预测值都被判定为阴性,此时TPR=1/4,FPR=0/4,所有大家有了第三个点(0.0,0.25)
  2. 令阈值等于首个预测值0.85,所有大于等于0.85的预测值都被判定为阴性,那种气象下第一个样本属于被颠倒是非预测为阴性的中性(neuter gender)样本,也就是FP,所以TPR=1/4,FPR=1/4,所以大家有了第四个点(0.25,0.25)
  3. 安分守纪那种格局依次取第三、四…个预测值作为阈值,就能挨个获得ROC曲线上的坐标点(0.5,0.25)、(0.75,0.25)…(1.0,1.0)
  4. 将顺序点依次连接起来,就赢得了如图所示的ROC曲线
  5. 计算ROC曲线下方的面积为0.75,即AUC=0.75

明天先来简单介绍两种回归和分类常用的评估形式。

不用写代码?

新智元将于九月20日在巴黎国家会议中央开设AI WORLD
2018社会风气人工智能峰会,MIT物理教授、将来生命研究所创办人、《生命3.0》小编马克斯Tegmark,将刊登解说《大家如何运用AI,而不是被其压制》,切磋怎么着面对AI军事化和杀人武器的出现,欢迎到实地沟通!

代码

在知道了AUC值的乘除原理后,大家再来看看怎么样在代码中贯彻它。经常很多的机械学习工具都卷入了模型目标的总结,当然也包蕴AUC值。那里大家来一同看下scikit-learnAUC的测算方法,如下所示:

>>> import numpy as np
>>> from sklearn.metrics import roc_auc_score
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> roc_auc_score(y_true, y_scores)
0.75

澳门金沙4787.com官网 ,可以见到,使用scikit-learn工具提供的roc_auc_score函数总括AUC值卓殊简单,只需求提供样本的实际上标签和预测值那七个变量即可,大大有利了我们的使用,真心感谢这个开源软件的撰稿人们!


科学,只需为TensorFlow模型和数据集提供指针,What-If
Tool就能交到一个可用来探索模型结果的可交互的视觉界面。

总结

总的来看此间的伴儿们是还是不是对AUC值的概念有了更好的精通吧。总的来说,AUC值就是一个用来评价二分拣模型优劣的常用目的,AUC值越德州仪器常注明模型的效应越好,在其实使用中咱们可以依靠软件包的相应函数进行高效总结。假设各位还有局地难题要么是对作品中的某些部分有难题,欢迎在评论区商讨。

回归:

澳门金沙4787.com官网 4

来源:Google AI

参考

ROC曲线维基百科
张伟楠先生课件
机器学习和总结里面的auc怎么精晓? –
虎扑

均方误差:

澳门金沙4787.com官网 5

澳门金沙4787.com官网 6

个中 D 为数据分布,p 为几率密度函数。

from sklearn.metrics import mean_squared_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mean_squared_error(y_true, y_pred)

0.375

250张人脸和在模型中检测微笑后的结果

编辑:大明

分类:

What-If
Tool里作用很多,包罗活动用Facets将数据集可视化,也有从数据集中手动编辑示例并查看更改效果的成效,还是可以自动生成部分关系图,突显模型预测随着单个特征的变动而更改的倾向。

【新智元导读】谷歌(Google) AI推出“what-if
”工具,用户完全不须求编制代码就能分析机器学习模型。该工具提供交互式可视化界面,用户可以追究并相比模型结果,能够急速地窥见模型中的错误。

二分类 and 多分类:

错误率

澳门金沙4787.com官网 7

精度

澳门金沙4787.com官网 8


但是,那还不是What-If Tool的所有实力。

打造便捷的机械学习连串,必要提议并解决许多标题。仅仅陶冶模型然后就放着不管是远远不够的。出色的机器学习从业者要像侦探一样,时刻留意探索怎样更好地了解营造的模型:数据点的转移将对模型的前瞻结果造成怎么着影响?同一个模型对差别的群体会有何不相同的表现?用来测试模型的数据集的三种化程度怎样等等。

二分类

7大功能

要回答这个题材并不易于。要应对那个“若是”难点,寻常要编写自定义的两次性代码来分析特定模型。那个进度不仅功能低下,还要除了程序员,其余人很难加入革新机器学习模型的历程。

混淆矩阵:

澳门金沙4787.com官网 9

from sklearn.metrics import confusion_matrix
pipe_svc.fit(X_train, y_train)
y_pred = pipe_svc.predict(X_test)
confmat = confusion_matrix(y_true=y_test, y_pred=y_pred)
print(confmat)

[[71  1]
[ 2 40]]

独自用 错误率,精度 是力不从心绪解上边的标题时:

查准率
选择场景-当你想精通“挑出的西瓜中有微微比例是好瓜”

澳门金沙4787.com官网 10

from sklearn.metrics import precision_score
from sklearn.metrics  import recall_score, f1_score
print('Precision: %.3f' % precision_score(y_true=y_test, y_pred=y_pred))

Precision: 0.976

查全率:
采纳场景-当你想明白“所有好瓜盅有稍许比例被挑出来了”

澳门金沙4787.com官网 11

print('Recall: %.3f' % recall_score(y_true=y_test, y_pred=y_pred))

Recall: 0.952

P-R 图:
当一个学习器的 P-R 曲线被另一个学习器的包住,那么后者质量优于前者。
有陆续时,必要在切切实实的查准率或者查全率下进行相比。

澳门金沙4787.com官网 12

平衡点 (Break Event Point BEP):
即上图中多个红点。
概括考虑查准率,查全率的气量
当 查准率=查全率 时的点,何人大哪个人比较优。

F1 度量:
也是汇总考虑查准率,查全率的胸襟,比 BEP 更常用:

澳门金沙4787.com官网 13

print('F1: %.3f' % f1_score(y_true=y_test, y_pred=y_pred))

F1: 0.964

Fβ:
可以发挥对查准率,查全率的两样器重度,
β > 1 则查全率有更大影响,β < 1 则查准率有更大影响,β = 1 则为
F1。

澳门金沙4787.com官网 14


What-If Tool首要有七大意义,不晓得有没有你须要的那一款:

谷歌 AI
PAIR陈设的一个珍贵就是让更宽泛的人流可以更有利地对机器学习种类开展检查、评估和调节。

One vs. All (OvA) 分类难题

此时会在 n 个二分拣难点上综合考虑查准率,查全率。

宏~ :先在种种混淆矩阵上总结率,再求平均

宏查准率

澳门金沙4787.com官网 15

宏查全率

澳门金沙4787.com官网 16

宏 F1

澳门金沙4787.com官网 17

微~ :先将次第混淆矩阵上相应元素求平均,再总计率

微查准率

澳门金沙4787.com官网 18

微查全率

澳门金沙4787.com官网 19

微 F1

澳门金沙4787.com官网 20


ROC :
呈现敏感性和特异性两次三番变量的概括目的,roc曲线上每个点反映着对同样信号刺激的感受性。

纵轴为 TPR 真正例率,预测为正且实际为正的样本占所有正例样本的百分比
横轴为 FPR 假正例率。预测为正但实际为负的样本占所有负例样本的百分比

澳门金沙4787.com官网 21

对角线对应的是 “随机估计”

澳门金沙4787.com官网 22

当一个学习器的 ROC 曲线被另一个学习器的包住,那么后者质量优于前者。
有陆续时,需求用 AUC 举行比较。

AUC:
ROC 曲线下的面积

澳门金沙4787.com官网 23

import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
roc_auc_score(y_true, y_scores)

0.75

职能一:可视化预计结果

前几天,我们规范公告What-If工具,该工具是开源的TensorBoard
Web应用程序的一项新功能,它同意用户在不编写代码的情事下分析机器学习模型。
What-If工具给出了TensorFlow模型和数据集的指针,提供了一个交互式可视化界面,用于探索模型结果。

代价敏感

切切实实职分中,当分歧品种的荒谬具有区其余熏陶结果时,它们的代价也是不同的。

此刻,可以设定
代价矩阵 cost matrix:
假若将第 0 类预测为 第 1 类造成的损失更大,则 cost01 >
cost10,相反将第 1 类预测为 第 0 类造成的损失更大,则 cost01 < cost10
:

澳门金沙4787.com官网 24

则带有“代价敏感”的错误率为:

澳门金沙4787.com官网 25

中间 0 为正类,1 为反类,D+ 为正例子集合,D- 为反例子集合。

代价曲线 cost curve:
非均等代价下,反应学习器的期待总体代价。
横轴为取值为[0,1]的正例几率代价:

澳门金沙4787.com官网 26

纵轴为取值为[0,1]的归一化代价:

澳门金沙4787.com官网 27

内部 p 为正例的票房价值,FPR = 1 – TPR。

澳门金沙4787.com官网 28


资料:
机器学习
Python Machine Learning


推介阅读
历史技术博文链接汇总
http://www.jianshu.com/p/28f02bb59fe5
想必能够找到您想要的:
[入门难点][TensorFlow][深度学习][强化学习][神经互联网][机械学习][自然语言处理][闲谈机器人]

根据猜测结果的不比,你的言传身教会被分成分裂的颜色,之后可用混淆矩阵和任何自定义形式展开拍卖,从分化特点的角度显示估摸结果。

澳门金沙4787.com官网 29

澳门金沙4787.com官网 30

What-If工具显示一组250张面部图片及其检测微笑模型的结果

意义二:编辑一个数据点,看模型表现如何

What-If工具功效强大,可以动用Facets自动展现数据集,从数据集手动编辑示例并查阅更改的出力,还可以自动生成部分信赖图(partial
dependence
plots),展现模型的估算结果随任何单个成效的变动而生成的气象。

你可以编写、添加或删除任何选定数据点的特色或特色值,然后运行估算来测试模型质量,也可上传全新示例。

澳门金沙4787.com官网 31

澳门金沙4787.com官网 32

追究数据点上的What-if情景

功用三:发掘单个特征的功力

上面详细介绍What-If工具的五个职能。

可以用来商量为当选数据点中的单个特征自动生成的图,突显特征使得值差距时推断结果的变化。

只需一键,自动比较数据点与模型预测最相似点

澳门金沙4787.com官网 33

用户只需单击一个按钮,就可以将数据点与模型预测不一样结果的最相似点举行相比。大家称那些点为“Counterfactuals”,可以来得出预测模型的裁决边界。用户也足以手动编辑数据点,并探索模型预测的转变。

作用四:探索反事实示例

在下边的截图中,该工具用于二进制分类模型,该模型按照美利哥人口普查数据集的公物人口普查数据,预测一个人的年收入是还是不是当先5万泰铢。这是机械学习商量人口选拔的口径预测任务,尤其是在分析算法的公平性时。

中度一点,你就能比较数据点与模型预测出差距结果的最相似点。大家将这几个点称为“反事实”(Counterfactuals),可以呈现出模型的裁决边界。

在那种场馆下,对于选定的数据点,模型预测该人年收入当先5万法郎的信度为73%。该工具自动定位数据汇总最相似的人,模型预测其年收入低于5万台币,然后将选定数据点和与之最相似、但推测结果反而的数据点举办并排相比。一般来说图所示,二者唯有在年龄和生意上设有微小的歧异,但模型的预测结果已经完全相反了。

澳门金沙4787.com官网 34

澳门金沙4787.com官网 35

功能五:按相似度排列示例

对Counterfactuals的相比较。二人唯有在年纪和生意上存在微小的歧异,但模型的推测结果早就完全相反

用L1或L2距离从选定的数据点成立距离特性,并将其可视化举行更进一步分析。

模型品质和算法公平性分析

澳门金沙4787.com官网 36

用户还能追究差距分类阈值的影响,同时考虑不一致数值公平性标准等约束规范。下图所示为微笑探测器模型的结果,该模型在开源CelebA数据集上磨练,数据集是已标记的出有名的人员面部图像。

作用六:查看混淆矩阵和ROC曲线

下图所示数据汇总的面庞图像按照头发是还是不是为粉色分开,多个图像中的每一组都创设一条ROC曲线和一个展望结果的混淆矩阵,再安装一个置信度滑块,设定模型必须在跨越某一置信度时才能断定目的的脸部是微笑的。本例中,What-If工具自动安装两组的置信度阈值,以优化模型,落成机会均等。

对于富含描述真实标签特性的二分拣模型和演示,使用阈值、ROC曲线、数值混淆矩阵和财力比交互式地探索模型品质。

澳门金沙4787.com官网 37

澳门金沙4787.com官网 38

利用What-if工具对微笑检测模型两片段数据的前瞻表现的比较,其中估计模型分类阈值设置满意“机会公平”

功用七:测试算法公平性限制

检测错误分类、评估模型公平性、调查模型分化数据集

对于二分拣模型来说,那么些工具得以将您的多少集分成子数据集,继而探索不一致算法公平性约束(fairness
constraints)的震慑。

为了验证What-if工具的职能,我们选用预先操练的模子揭橥了一组Demo:

澳门金沙4787.com官网 39

检测错误分类:多类分类模型,模型按照对植物的花的两遍考察来预测植物的序列。What-if工具有助于展现模型的核定边界,弄清导致错误分类的缘故。

传送门

评估二元分类模型的公平性:地点提到的用来微笑表情检测的图像分类模型。What-if工具有助于评估不一致子图像组的算法公平性。在该模型的陶冶中,有意没有提供来自特定人群的以身作则,目标是为着突显What-if工具怎样可以揭穿模型中的那种错误。对模型预测公平性的评估需要仔细考虑全部背景,可是What-if工具是一个有效的量化起源。

在Google官方博客上,琢磨人口还发布了用预练习模型举行的一组演示,比如检测错误分类的原故,评估二元分类模型的公平性和调查分歧子数据集中模型的显现等。可以运动官方博客查看愈多,博客地址:

调研模型在不一样子群体中的表现:回归模型可以用来根据人口普查信息预测受试者的年龄。What-if工具能显得出模型在差距子群体中的绝对表现,以及差异特点如何独立影响预测结果。该模型使用米利坚人口普查数据集进行磨练。

What-If工具的实实在在应用

What-If Tool介绍主页:

大家将What-If工具在谷歌(Google)内部组织中进行了测试,该工具在测试中显现出了直白价值。有协会高效发现他们的模子错误地忽视了数据集的全套特征,修复了在此以前未察觉的代码错误。
还有团队采取该工具将模型示例按性质高到低排列出来,并发现表现不好的模子示例的运行方式。

俺们希望谷歌内外的大千世界都来行使What-If工具,以更好地精通机器学习模型,并先导评估预测模型的公平性。
大家的代码是开源的,欢迎对该工具继续添砖加瓦。

—回来天涯论坛,查看越来越多

Github:

义务编辑:

倒计时 8

重回新浪,查看更加多

义务编辑:

相关文章