可解释的机器学习

2023-10-30

可解释的机器学习

原文标题 | Interpretable Machine Learning

作者 | Parul Pandey

译者 | intelLigenJ(算法工程师)、鸢尾   

编辑 | 王立鱼

原文链接:

https://towardsdatascience.com/interpretable-machine-learning-1dec0f2f3e6b

可解释的机器学习

图源Pexels的Pixabay

是时候摆脱黑盒模型,构建起对机器学习的信任了!

想象你是一个数据科学家,你想要在业余时间根据你朋友在facebook和twitter上发布的信息,来预估你朋友假期要去度假的地方。如果你预测对了,你朋友一定叹为观止,觉得你是锦鲤附身。如果你猜错了也没啥,只不过有点影响身为数据科学家的口碑而已。但如果你和其他人打了赌,就赌这个朋友暑假会去哪里,这时候预测错误的成本就有点高了。也就是说,当模型对错本身不造成很大影响的时候,解释性并不算是很重要的要素。不过当预测模型用于金融、公共事务等重大影响决策时,解释性就显得尤为重要了。

  可解释的机器学习

理解(interpret)表示用可被认知(understandable)的说法去解释(explain)或呈现(present)。在机器学习的场景中,可解释性(interpretability)就表示模型能够使用人类可认知的说法进行解释和呈现。[Finale Doshi-Velez]

可解释的机器学习

来自:可解释的机器学习

机器学习模型被许多人称为“黑盒”。这意味着虽然我们可以从中获得准确的预测,但我们无法清楚地解释或识别这些预测背后的逻辑。但是我们如何从模型中提取重要的见解呢?要记住哪些事项以及我们需要实现哪些功能或工具?这些是在提出模型可解释性问题时会想到的重要问题。

可解释性的重要性

总有人会问,为什么模型给出预测结果了还不满意,还要这么执意于知道模型是如何做出预测的?这和模型在真实世界中产生的影响有很大关系。对于仅仅被用来做电影推荐的模型而言,其影响性相较于做药物效果预估所使用的模型要小得多。

问题在于一个单一指标,就好比分类准确率,是不足以刻画真实世界中的大部分问题的。(Doshi-Velez and Kim 2017)

这里有一个可解释机器学习的大框架。在某种程度上,我们通过从真实世界(World)中获取一些原始数据(Data),并用这这些数据进行更深入的预测分析(Black Box Model)。而模型的解释性方法(Interpretability)只是在模型之上增加了一层,以便于人们(Humans)更好地理解预测过程。

可解释的机器学习

可解释机器学习的大框架

以下是一些由可解释性带来的好处:

  • 可靠性

  • 易于调试

  • 启发特征工程思路

  • 指导后续数据搜集

  • 指导人为决策

  • 建立信任

  模型解释的具体技术

实践是检验真理的唯一标准。如果你想对这个领域有一个更真切的了解,你可以试试Kaggle上的机器学习解释性crash课程。这里头有足够多的理论和代码来帮助你将模型解释性的概念应用到真实世界的问题中去。

点击下面的连接来进入课程页面。不过如果你想先对课程内容有一个简单的了解,你可以先继续阅读本文。

可解释的机器学习

https://www.kaggle.com/learn/machine-learning-explainability

洞悉模型

想要理解一个模型,我们需要洞悉如下的内容:

  • 模型中最重要的特征

  • 对于每一次预估决策,不同特征变量发挥的作用

  • 每个特征在使用大量数据进行预估时发挥的作用

接下来,我们会探讨从模型中获取上述信息所使用的具体技术:

1. Permutation Importance

对于模型来说,哪一个特征才是最重要的?哪一个特征对于模型做决策有更大的影响?这个概念被称为特征重要度,而Permutation Importance正是目前被广泛采用计算特征重要度的方式。当我们的模型预测出了难以理解的结果时,我们可以通过这个指标来知道到底发生了什么。当然,如果我们需要向别人解释自己模型的预测时也可以用这种方法。

Permutation Importance对很多scikit-learn中涉及到的预估模型都有用。其背后的思想很简单:随机重排或打乱样本中的特定一列数据,其余列保持不变。如果模型的预测准确率显著下降,那就认为这个特征很重要。与之对应,如果重排和打乱这一列特征对模型准确率没有影响的话,那就认为这列对应的特征没有什么作用。

使用方法

试想我们现在做了一个预测足球队里谁会获得“足球先生”称号的模型,并且该模型并不是几个简单参数就能刻画的。当然,只有表现最好的球员才能获得此称号。

Permutation Importance是在模型完成拟合之后才进行计算的。所以,我们先用RandomForestClassifier在训练样本上拟合出一个分类模型,我们不妨称之为my_model。

我们使用ELI5库可以进行Permutation Importance的计算。ELI5是一个可以对各类机器学习模型进行可视化和调试Python库,并且针对各类模型都有统一的调用接口。ELI5中原生支持了多种机器学习框架,并且也提供了解释黑盒模型的方式。

通过eli5库来计算并展示特征重要度:

import eli5
from eli5.sklearn import permutationImportance

perm = PermutationImportance(my_model, random_state=1).fit(val_X, val_y)
eli5.show_weights(perm, feature_names = val_X.columns.tolist())

可解释的机器学习

模型解释

  • 最上面的特征是最重要的特征,最下面则是最不重要的特征。在这个case中,进球数(Goal Scored)是最重要的特征。

  • ±后面的数字表示多次随机重排之间的差异值

  • 有些特征重要度权重是负数,表示随机重排这些特征之后,模型的表现甚至更好了

练习

现在,我们可以用一个完整的例子来检验一下你对该方法的理解,你可以点击下面的连接来进入Kaggle的页面:

https://www.kaggle.com/dansbecker/permutation-importance

2. Partial Dependency Plots

Partial Dependency Plots(后续用PDP或PD简称)会展示一个或两个特征对于模型预测的边际效益(J. H. Friedman 2001)。PDP可以展示一个特征是如何影响预测的。与此同时,我们可以通过绘制特征和预测目标之间的一维关系图或二维关系图来了解特征与目标之间的关系。

使用方法

PDP也是在模型拟合完成之后开始计算的。用刚刚足球球员的例子来说,模型使用了很多特征,类似传球数、射门次数、进球数等等。我们从中抽取一个样本球员来进行说明,比如该球员占全队50%的持球时长、传球过100次、射门10次并进球1次。

我们先训练模型,然后用模型预测出该球员获得“足球先生”的概率。然后我们选择一个特征,并变换球员该特征值下的特征输入。比如我们调整刚刚抽取的那名球员,将其进球数分别设置成一次、两次、三次,然后画出预测概率随着进球数变化的走势图。

Python中使用partial dependence plot toolbox来画PDP图,该工具简称PDPbox。

from matplotlib import pyplot as plt
from pdpbox import pdp, get_dataset, info_plots

# Create the data that we will plot
pdp_goals = pdp.pdp_isolate(model=my_model, dataset=val_X, model_features=feature_names, feature='Goal Scored')

# plot it
pdp.pdp_plot(pdp_goals, 'Goal Scored')
plt.show()

 

可解释的机器学习

模型解释

  • Y轴表示预测相较于基准线或最左值的增加值

  • 蓝色区域表示置信区间

  • 从上图针对进球数的PDP分析看,随着进球数增多,球员获得“足球先生”的概率也会逐步增加,但增加到一定程度之后就收敛了。

我们同样可以使用二维图上画出针对两个特征的PDP分析图:

可解释的机器学习

练习

可解释的机器学习

https://www.kaggle.com/dansbecker/partial-plots

3. SHAP Values

SHAP(SHapley Additive exPlanation)有助于细分预测以显示每个特征的影响。它基于Shapley values,这是一种用于博弈论的技术,用于确定协作游戏中每个玩家促成其成功的贡献有多少¹。通常情况下,在准确性和可解释性之间取得正确的权衡可能是一个困难的平衡行为,但SHAP值可以同时提供这两者。

操作

再一次,以足球为例,我们想要预测一个球队有一名球员赢得“最佳球员”的概率。SHAP values解释了给定特性具有特定值的影响,并与我们在该特性具有某些基线值时所做的预测进行比较。 

SHAP values 使用Shap库进行计算。从PyPI或conda安装Shap 库很简单.

Shap值显示给定的特性对我们的预测有多大的改变(与我们在该特性的某个基线值上进行预测相比)。假设我们想知道当球队进了3个球而不是某个固定的底线时预测是什么。如果我们能够解决这个问题,我们可以对其他功能执行相同的步骤如下:  

sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values

因此,预测可以分解为如下图:

可解释的机器学习

这里是一个更大视图的链接

解释

上面的解释显示了推动模型输出从基本值(我们传递的训练数据集中的平均模型输出)到模型输出的每个特性。将预测推高的特征用红色表示,将预测推低的特征用蓝色表示。

  • 这里的base_value是0.4979,而我们的预测值是0.7。

  • 得分= 2对预测增加的影响最大,

  • 而控球率对预测减少的影响最大。  

练习

有一个比我在这里解释的更深层次的SHAP values理论,你可通过下面的链接了解得更全面:

https://www.kaggle.com/dansbecker/shap-values

4. SHAP Values 的高级用法

聚合许多SHAP Values有助于更详细的了解模型。  

  • SHAP 摘要图绘制

为了了解模型中哪些特性最重要,我们可以为每个示例绘制每个特性的SHAP values 。摘要图说明哪些特性是最重要的,以及它们对数据集的影响范围。

可解释的机器学习

摘要图

关于每个点:

  • 垂直位置显示了它所描述的特征  

  • 颜色显示数据集中这一行的特征值是高还是低  

  • 水平位置显示该值的影响是导致较高的预测还是较低的预测。

左上方的点是一个进球很少的球队,预测降低了0.25。 

  • SHAP Dependence Contribution图

虽然SHAP摘要图给出了每个特性的一般概述,但是SHAP dependence图显示了模型输出如何随特性值而变化。SHAP dependence contribution图提供了与PDP类似的见解,但添加了更多的细节.

可解释的机器学习

可解释的机器学习

可解释的机器学习

依赖贡献细节

上述依赖性贡献表明,拥有球会增加球队让球员赢得奖励的机会。但如果他们只得到一个进球,那么这个趋势就会逆转而且如果他们得分那么少,那么裁判可能会因为得分而惩罚他们。

练习

https://www.kaggle.com/dansbecker/advanced-uses-of-shap-values

  总结

机器学习不再是黑盒了。如果我们无法向其他人解释结果,那么怎样使用才是好模型。可解释性与创建模型同样重要。为了在人群中获得更广泛的认可,机器学习系统能够为其决策提供令人满意的解释至关重要。

正如阿尔伯特·爱因斯坦所说:“如果你不能简单地解释它,你就不能很好地理解它。”

参考文献:

可解释的机器学习:制作黑盒模型的指南可解释.Christoph Molnar

机器学习可解释性微课程:Kaggle

想要继续查看该篇文章相关链接和参考文献?

点击【可解释的机器学习】即可访问!

今日资源推荐:Machine Learning Mastery 实战机器学习 - 从入门到精通 7 本教材打包(含代码)

Jason Brownlee 博士是机器学习圈子里著名的实践者。他不仅有多个人工智能相关的高等学位,自己长期专注于机器学习知识、技术思考以及实战经验的分享;他创办的交流社区 Machine Learning Mastery 也是知名的机器学习学生、研究员、程序员栖息地。Jason Brownlee 自己编著了一系列偏重于实践的机器学习教程,我们分享的这 7 本包括:
《机器学习中的线性代数基础 - Python 中的数据数学语言》、
《Python 深度学习 - 用 Theano 和 Keras 开发深度学习模型》、
《Python LSTM 网络 - 开发深度学习序列预测模型》、
《从零学习机器学习算法》、
《精通 Python 机器学习 - 理解你的数据,创建准确的模型,尝试端到端项目》、
《精通 R 机器学习 - 开始,创建准确的模型,尝试一步步打通项目》、
《精通机器学习算法 - 从零开始学习它们如何运行、如何实现》。并且带有部分项目代码供参考。

点击链接获取资源:https://ai.yanxishe.com/page/resourceDetail/634

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可解释的机器学习 的相关文章

  • 推荐系统:机器学习中基于内容的过滤

    概述 顾名思义 基于内容的筛选是一种机器学习实现 它使用系统中收集的内容或功能来提供类似的建议 根据用户观察结果从数据集中获取最相关的信息 最常见的例子是 Netflix Myntra Hulu Hotstar Instagram Expl
  • 项目:IRIS数据集项目

    概述 机器学习是人工智能的一个子部分 涉及教导算法做出基于数据的决策并尝试像人类一样行事 有许多数据集可用于针对不同任务训练这些算法 例如 IRIS 数据集 涵盖三类花 Versicolor Setosa 和 Virginica 每种花有四
  • 人工智能智能控制系统:引领未来智能化时代

    导言 人工智能智能控制系统是当今科技领域的热点之一 它不仅在工业生产中发挥着关键作用 也在生活中展现出前所未有的智能化特征 本文将深入探讨人工智能智能控制系统的定义 应用领域和未来发展趋势 深入探讨如何实现智能控制系统与人工智能的有机结合
  • 人工智能伦理学与法律:创造公正智能的道路

    导言 随着人工智能的迅速发展 伦理学和法律的角色变得愈发关键 人工智能的迅猛发展引发了对伦理和法律框架的深刻思考 本文将深入探讨人工智能伦理学的原则 伦理法规的建设以及法律对人工智能的监管 为创造公正智能的道路指明方向 探讨如何将伦理学和法
  • 天猫双十实战

    import numpy as np import matplotlib pyplot as plt from sklearn linear model import SGDRegressor from sklearn preprocess
  • 基于生成式对抗网络的视频生成技术

    随着人工智能的快速发展 生成式对抗网络 GAN 作为一种强大的生成模型 已经在多个领域展现出了惊人的能力 其中 基于GAN的视频生成技术更是引起了广泛的关注 本文将介绍基于生成式对抗网络的视频生成技术的原理和应用 探索其对电影 游戏等领域带
  • 【提示工程】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

    解决问题 探索大语言模型解决推理问题的能力 从头训练或微调模型 需要创建大量的高质量含中间步骤的数据集 成本过大 相关工作 1 使用中间步骤来解决推理问题 1 使用自然语言通过一系列中间步骤解决数学应用题 2 通过创建更大的数据集微调语言模
  • 基于BP神经网络结合自适应带宽核函数密度估计区间预测。BP-ABKDE区间概率预测,BP神经网络核密度估计下置信区间预测。区间预测(区间覆盖率PICP、区间平均宽度百分比PINAW,CRPS,CW

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 res xlsread 数据集 xlsx num size 0 8 训练集占数据集比例 dataran 0 不
  • 机器学习 项目结构 数据预测 实验报告

    需求 我经过处理得到了测试值 然后进一步得到预测和真实值的比较 然后再把之前的所有相关的参数 评估指标 预测值 比较结果都存入excel 另外我还打算做测试报告模板 包括敏感性分析等 您建议我这些功能如何封装这些功能 哪些功能放到一个文件中
  • 【提示工程】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

    解决问题 探索大语言模型解决推理问题的能力 从头训练或微调模型 需要创建大量的高质量含中间步骤的数据集 成本过大 相关工作 1 使用中间步骤来解决推理问题 1 使用自然语言通过一系列中间步骤解决数学应用题 2 通过创建更大的数据集微调语言模
  • 第二部分相移干涉术

    典型干涉图 相移干涉术 相移干涉术的优点 1 测量精度高 gt 1 1000 条纹 边缘跟踪仅为 1 10 边缘 2 快速测量 3 低对比度条纹测量结果良好 4 测量结果不受瞳孔间强度变化的影响 独立于整个瞳孔的强度变化 5 在固定网格点获
  • 吴恩达机器学习笔记八 正则化

    使第一项均方差较小来符合数据 使第二项正则化项较小来使 w 较小 0 采用高阶多项式会过拟合 非常大 则每个 w 都很小 F X 约为 b 结果为一条直线 欠拟合 含正则化线性回归的梯度下降 含正则化逻辑回归的梯度下降 到这里第一个专项课程
  • 详解数据科学自动化与机器学习自动化

    过去十年里 人工智能 AI 构建自动化发展迅速并取得了多项成就 在关于AI未来的讨论中 您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语 事实上 这些术语有着不同的定义 如今的自动化机器学习 即 AutoML 特指模型构
  • lr推荐模型 特征重要性分析

    在分析lr模型特征重要性之前 需要先明白lr模型是怎么回事儿 lr模型公式是sigmoid w1 x1 w2 x2 wn xn 其中w1 w2 wn就是模型参数 x1 x2 xn是输入的特征值 对于lr模型来说 特征可以分为两个粒度 一个是
  • MIT_线性代数笔记:复习二

    目录 第二单元主要内容 例题 第二单元主要内容 正交矩阵 Q 用矩阵形式描述正交性质 投影矩阵 P 最小二乘法 在方程无解时求 最优解 Gram Schmidt 正交化 从任意一组基得到标准正交基 策略是从向量 中减去投影到其它向量方向的分
  • 基于机器学习的贷中风险预测模型-江苏银行“随e融”杯-二等奖

    文章目录 源码下载地址 项目介绍 界面预览 项目备注 毕设定制 咨询 源码下载地址 源码下载地址 点击这里下载源码 项目介绍 基于机器学习的贷中风险预测模型 江苏银行
  • 如何用GPT制作PPT和写代码?

    详情点击链接 如何用GPT制作PPT和写模型代码 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemin
  • 3D点云检测神技 | UFO来了!让PointPillars、PV-RCNN统统涨点!

    作者 AI驾驶员 编辑 智驾实验室 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 3D目标检测 技术交流群 本文只做学术分享 如有侵权 联系删文 在这篇论文中提出了一个关于在3D点云中检测未
  • 史上最全自动驾驶岗位介绍

    作者 自动驾驶转型者 编辑 汽车人 原文链接 https zhuanlan zhihu com p 353480028 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 求职交流 技术交流群 本
  • 自动驾驶离不开的仿真!Carla-Autoware联合仿真全栈教程

    随着自动驾驶技术的不断发展 研发技术人员开始面对一系列复杂挑战 特别是在确保系统安全性 处理复杂交通场景以及优化算法性能等方面 这些挑战中 尤其突出的是所谓的 长尾问题 即那些在实际道路测试中难以遇到的罕见或异常驾驶情况 这些问题暴露了实车

随机推荐

  • linux下查看物理CPU个数、核数、逻辑CPU个数

    cat proc cpuinfo中的信息 processor 逻辑处理器的id physical id 物理封装的处理器的id core id 每个核心的id cpu cores 位于相同物理封装的处理器中的内核数量 siblings 位于
  • 消息队列中间件 - 详解RabbitMQ6种模式

    RabbitMQ 6种工作模式 对RabbitMQ 6种工作模式 简单模式 工作模式 订阅模式 路由模式 主题模式 RPC模式 进行场景和参数进行讲解 PHP代码作为实例 安装 客户端实现 添加扩展 执行composer phar inst
  • 《计算机网络—自顶向下方法》 Wireshark实验(七):以太网与ARP协议分析

    1 以太网 1 1 介绍 以太网是现实世界中最普遍的一种计算机网络 以太网有两类 第一类是经典以太网 第二类是交换式以太网 使用了一种称为交换机的设备连接不同的计算机 经典以太网 是以太网的原始形式 运行速度从 3 10 Mbps 不等 交
  • 51单片机实战 1 --四个独立按键控制四位数码管

    本文基于普中51开发板 在其例程代码稍加改动而成的 单片机的入门小项目也很益智 启动单片机 四位数码管显示0000 按下s1并松开 显示1000 再按下s1并松开显示2000 连续10次按下并松开s2 数码管显示2100 2200 2300
  • WSL安装图形界面

    效果如下 1 下载并安装VcXsrv 链接如下 https sourceforge net projects vcxsrv 下载完安装一路next即可 或者自行选择安装路径 2 安装桌面环境 安装xfce4 terminalsudo apt
  • mysql的锁

    锁 锁机制用于管理对共享资源的并发访问 用来实现事务的隔离级别 锁类型 共享锁和排他锁都是行级锁 MySQL当中事务采用的是粒度锁 针对表 B 树 页 B 树叶子 节点 行 B 树叶子节点当中某一段记录行 三种粒度加锁 共享锁 S 可理解为
  • Python进阶-----面向对象2.0(特有属性和方法与私有属性和方法)

    目录 前言 1 添加特有属性 方法 示例1 添加特有属性 示例2 添加特有方法 2 私有属性 方法 1 私有化示例 2 私有化属性 方法可以在类的内部使用 3 强制访问私有化属性 方法 4 property装饰器去操作私有属性 方法 总结
  • 【测试入门】测试用例经典设计方法 —— 因果图法

    01 因果图设计测试用例的步骤 1 分析需求 阅读需求文档 如果User Case很复杂 尽量将它分解成若干个简单的部分 这样做的好处是 不必在一次处理过程中考虑所有的原因 没有固定的流程说明究竟分解到何种程度才算简单 需要测试人员根据自己
  • 【LeetCode-面试经典150题-day24】

    目录 35 搜索插入位置 74 搜索二维矩阵 162 寻找峰值 33 搜索旋转排序数组 35 搜索插入位置 题意 给定一个排序数组和一个目标值 在数组中找到目标值 并返回其索引 如果目标值不存在于数组中 返回它将会被按顺序插入的位置 请必须
  • 详解UART、I2C、SPI常用通信协议(全是细节)

    前言 UART I2C和SPI是我们在嵌入式开发中比较常见的通信协议了 没有最好的通信协议 每个通信协议都有自己的优缺点 如果想要通信速度快 SPI 将是理想的选择 如果用户想要连接多个设备而不是过于复杂 I2C 将是理想的选择 因为它最多
  • Java fail-fast与fail-safe

    fail fast和fail safe比较 java util包下面的所有的集合类都是快速失败的 而java util concurrent包下面的所有的类都是安全失败的 快速失败的迭代器会抛出ConcurrentModificationE
  • mac如何添加新的字体格式(以word中仿宋_GB2312为例)

    注意 字体中必须出现GB 2312格式的选项 才算成功
  • C#创建TCP服务器与客户端互传消息实例

    本项目使用C 语言建立一个TCP通讯实例 并可以互相传递消息 传送一下传智播客赵老师的视频课程 关键词解释 1 TCP协议 一种可以用于网络通信的数据传输协议 传输安全可靠不会有信息丢失 重点理解三次握手与四次分手 2 线程Thread 我
  • SQL2008 附加数据库提示 5120错误

    前几天在附加数据库时 出现了这个错误 在win7 x64系统上使用sql2008进行附加数据库 包括在x86系统正在使用的数据库文件 直接拷贝附加在X64系统中 时 提示无法打开文件 5120错误 这个错误是因为没有操作权限 所以附加的时候
  • 2018-02-07 如何记录日志

    一 简介 二 记录日志的目的 why 开发调试 记录用户行为 程序运行状况 系统 机器状况 三 日志的要素 what 时间 位置 级别 内容 唯一标识 事件上下文 格式化 其他 四 记录日志的一些原则和技巧 使用框架或模块 不能出错 避免敏
  • npm run build打包产生的build文件夹通过nginx部署到服务器上访问(centos8)

    首先在当前目录下 用npm run build命令将文件打包到build文件夹 或者是其他文件夹名 把build目录传到服务器上 打开终端 提一句 Windows在Microsoft store里新出的terminal应用还蛮好用的 当然是
  • 30分钟学会React Hook, Memo, Lazy

    我们来学习React 16 8里的新特性 1 自行配置好React的环境 推荐你使用Create React APP 你也可以下载本文档Zip解压到本地直接运行 https github com yurizhang fed study bl
  • python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)

    一 工具准备 下载安装scapy库 https blog csdn net qq 23977687 article details 88046257 安装完后 ls 命令可以查看所有支持的协议 ls IP 命令列出ip协议头部字段格式 只要
  • JDK线程池源码分析

    0 概述 线程池 从字面的含义上来看 是指管理一组工作线程 Worker Thread 的资源池 线程池是与工作队列 Work Queue 密切相关的 其中在工作队列中保存了需要执行的任务 工作线程很简单 从任务队列中取出一个任务 执行任务
  • 可解释的机器学习

    原文标题 Interpretable Machine Learning 作者 Parul Pandey 译者 intelLigenJ 算法工程师 鸢尾 编辑 王立鱼 原文链接 https towardsdatascience com int